跳至主要内容

建造一個夜燈 - 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。

A grove LED

  1. 選擇你喜歡的LED,並將其引腳插入LED模組上的兩個孔中。

    LED是發光二極管,二極管是只能單向導電的電子設備。這意味著LED需要正確連接,否則它將無法工作。

    LED的一個引腳是正極,另一個是負極。LED不是完全圓形的,一側稍微扁平一些。稍微扁平的一側是負極。當你將LED連接到模組時,確保圓形一側的引腳連接到模組外側標有**+**的插座,扁平一側連接到模組中間較近的插座。

  2. LED模組有一個旋轉按鈕,允許你控制亮度。首先使用小十字螺絲刀將其逆時針旋轉到最大。

  3. 將Grove電纜的一端插入LED模組上的插座。它只能以一種方式插入。

  4. 在Wio Terminal與電腦或其他電源斷開連接的情況下,將Grove電纜的另一端連接到Wio Terminal右側的Grove插座,這是離電源按鈕最遠的插座。

    💁 右側的Grove插座可以用於模擬或數字感測器和致動器。左側插座僅用於I2C和數字感測器和致動器。I2C將在後續課程中介紹。

The grove LED connected to the right hand socket

編程夜燈

現在可以使用內置的光感測器和Grove LED來編程夜燈。

任務 - 編程夜燈

編程夜燈。

  1. 在VS Code中打開你在本作業前一部分中創建的夜燈項目

  2. setup函數的底部添加以下行:

    pinMode(D0, OUTPUT);

    這行代碼配置了用於通過Grove端口與LED通信的引腳。

    D0引腳是右側Grove插座的數字引腳。這個引腳被設置為OUTPUT,意味著它連接到一個致動器,並且數據將被寫入該引腳。

  3. 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。

  4. 將Wio Terminal重新連接到你的電腦,並像之前一樣上傳新代碼。

  5. 連接串行監視器。光線值將輸出到終端。

    > 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
  6. 覆蓋和揭開光感測器。注意當光線水平為300或更低時,LED會亮起,當光線水平大於300時,LED會熄滅。

The LED connected to the WIO turning on and off as the light level changes

💁 你可以在code-actuator/wio-terminal文件夾中找到此代碼。

😀 你的夜燈程式成功了!