メインコンテンツまでスキップ

ナイトライトを作る - Wio Terminal

このレッスンのこの部分では、Wio TerminalにLEDを追加し、それを使ってナイトライトを作成します。

ハードウェア

ナイトライトにはアクチュエータが必要です。

アクチュエータはLEDであり、電流が流れると光を放つ発光ダイオードです。これは2つの状態、オンとオフを持つデジタルアクチュエータです。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モジュールの2つの穴に脚を挿入します。

    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. ループ関数のdelayの直前に次のコードを追加します:

    if (light < 300)
    {
    digitalWrite(D0, HIGH);
    }
    else
    {
    digitalWrite(D0, LOW);
    }

    このコードはlight値をチェックします。これが300未満の場合、D0デジタルピンにHIGH値を送信します。このHIGHは1の値であり、LEDを点灯させます。光が300以上の場合、ピンに0の値であるLOW値が送信され、LEDが消灯します。

    💁 アクチュエータにデジタル値を送信する場合、LOW値は0Vであり、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フォルダにあります。

😀 ナイトライトプログラムは成功しました!