建造一個夜燈 - Wio Terminal
在這部分課程中,你將在Wio Terminal上添加一個LED,並使用它來創建一個夜燈。
硬體
夜燈現在需要一個致動器。
這個致動器是一個LED,一個發光二極管,當電流通過時會發光。這是一個數位致動器,具有兩種狀態,開和關。發送值1會打開LED,發送值0會關閉它。這是一個外部的Grove致動器,需要連接到Wio Terminal。
夜燈邏輯的偽代碼如下:
Check the light level.
If the light is less than 300
Turn the LED on
Otherwise
Turn the LED off
連接LED
Grove LED作為一個模組提供了一系列LED,允許你選擇顏色。
任務 - 連接LED
連接LED。
-
選擇你喜歡的LED,並將其引腳插入LED模組上的兩個孔中。
LED是發光二極管,二極管是只能單向導電的電子設備。這意味著LED需要正確連接,否則它將無法工作。
LED的一個引腳是正極,另一個是負極。LED不是完全圓形的,一側稍微扁平一些。稍微扁平的一側是負極。當你將LED連接到模組時,確保圓形一側的引腳連接到模組外側標有**+**的插座,扁平一側連接到模組中間較近的插座。
-
LED模組有一個旋轉按鈕,允許你控制亮度。首先使用小十字螺絲刀將其逆時針旋轉到最大。
-
將Grove電纜的一端插入LED模組上的插座。它只能以一種方式插入。
-
在Wio Terminal與電腦或其他電源斷開連接的情況下,將Grove電纜的另一端連接到Wio Terminal右側的Grove插座,這是離電源按鈕最遠的插座。
💁 右側的Grove插座可以用於模擬或數字感測器和致動器。左側插座僅用於I2C和數字感測器和致動器。I2C將在後續課程中介紹。
編程夜燈
現在可以使用內置的光感測器和Grove LED來編程夜燈。
任務 - 編程夜燈
編程夜燈。
-
在VS Code中打開你在本作業前一部分中創建的夜燈項目
-
在
setup
函數的底部添加以下行:pinMode(D0, OUTPUT);
這行代碼配置了用於通過Grove端口與LED通信的引腳。
D0
引腳是右側Grove插座的數字引腳。這個引腳被設置為OUTPUT
,意味著它連接到一個致動器,並且數據將被寫入該引腳。 -
在
loop
函數中的delay
之前立即添加以下代碼:if (light < 300)
{
digitalWrite(D0, HIGH);
}
else
{
digitalWrite(D0, LOW);
}這段代碼檢查
light
值。如果該值小於300,則向D0
數字引腳發送HIGH
值。這個HIGH
值是1,打開LED。如果光線值大於或等於300,則向引腳發送LOW
值0,關閉LED。💁 當向致動器發送數字值時,LOW值是0伏特,HIGH值是設備的最大電壓。對於Wio Terminal,HIGH電壓是3.3V。
-
將Wio Terminal重新連接到你的電腦,並像之前一樣上傳新代碼。
-
連接串行監視器。光線值將輸出到終端。
> Executing task: platformio device monitor <
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at http://bit.ly/pio-monitor-filters
--- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
Light value: 4
Light value: 5
Light value: 4
Light value: 158
Light value: 343
Light value: 348
Light value: 344 -
覆蓋和揭開光感測器。注意當光線水平為300或更低時,LED會亮起,當光線水平大於300時,LED會熄滅。
💁 你可以在code-actuator/wio-terminal文件夾中找到此代碼。
😀 你的夜燈程式成功了!