ナイトライトを作る - Raspberry Pi
このレッスンのこの部分では、Raspberry PiにLEDを追加し、それを使用してナイトライトを作成します。
ハードウェア
ナイトライトにはアクチュエータが必要です。
アクチュエータはLEDであり、電流が流れると光を放つ発光ダイオードです。これは2つの状態、オンとオフを持つデジタルアクチュエータです。1の値を送るとLEDが点灯し、0の値を送ると消灯します。LEDは外部のGroveアクチュエータであり、Raspberry PiのGrove Base hatに接続する必要があります。
ナイトライトのロジックは擬似コードで次のようになります:
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モジュールの2つの穴に足を挿入します。
LEDは発光ダイオードであり、ダイオードは一方向にしか電流を流すことができない電子デバイスです。つまり、LEDは正しい向きで接続する必要があります。そうでないと動作しません。
LEDの足の一つは正極ピンで、もう一つは負極ピンです。LEDは完全に丸いわけではなく、一方が少し平らです。少し平らな側が負極ピンです。LEDをモジュールに接続する際には、丸い側のピンがモジュールの外側にある**+**とマークされたソケットに接続され、平らな側がモジュールの中央に近いソケットに接続されるようにしてください。
-
LEDモジュールには、明るさを調整するためのスピンボタンがあります。最初はこれを反時計回りに回して最大にしてください。小さなプラスドライバーを使用して回します。
-
Groveケーブ ルの一端をLEDモジュールのソケットに挿入します。これは一方向にしか挿入できません。
-
Raspberry Piの電源を切った状態で、Groveケーブルのもう一端をPiに接続されたGrove Base hatのD5とマークされたデジタルソケットに接続します。このソケットは、GPIOピンの隣のソケット列の左から2番目です。
ナイトライトをプログラムする
ナイトライトは、Grove光センサーとGrove LEDを使用してプログラムできます。
タスク - ナイトライトをプログラムする
ナイトライトをプログラムします。
-
Piの電源を入れ、起動を待ちます。
-
この課題の前の部分で作成したVS Codeのナイトライトプロジェクトを開きます。Pi上で直接実行するか、Remote SSH拡張機能を使用して接続します。
-
必要なライブラリをインポートするために、
app.py
ファイルに次のコードを追加します。これは他のimport
行の下に追加します。from grove.grove_led import GroveLed
from grove.grove_led import GroveLed
ステートメントは、Grove PythonライブラリからGroveLed
をインポートします。このライブラリには、Grove LEDと対話するためのコードが含まれています。 -
light_sensor
宣言の後に次のコードを追加して、LEDを管理するクラスのインスタンスを作成します。led = GroveLed(5)
led = GroveLed(5)
行は、LEDが接続されているデジタルGroveピンD5に接続するGroveLed
クラスのインスタンスを作成します。💁 すべてのソケットには固有のピン番号があります。ピン0、2、4、6はアナログピンで、ピン5、16、18、22、24、26はデジタルピンです。
-
while
ループ内で、time.sleep
の前にチェックを追加して、光レベルを確認し、LEDをオンまたはオフにします。if light < 300:
led.on()
else:
led.off()このコードは
light
値をチェックします。これが300未満の場合、GroveLed
クラスのon
メソッドを呼び出し、LEDをオンにするデジタル値1を送信します。光の値が300以上の場合、off
メソッドを呼び出し、LEDをオフにするデジタル値0を送信します。💁 このコードは、
print('Light level:', light)
行と同じレベルにインデントされて、whileループ内にある必要があります!💁 アクチュエータにデジタル値を送信する場合、0値は0Vであり、1値はデバイスの最大電圧です。Groveセンサーとアクチュエータを使用するRaspberry Piの場合、1電圧は3.3Vです。
-
VS Codeのターミナルから、次のコマンドを実行してPythonアプリを実行します。
python3 app.py
光の値がコンソールに出力されます。
pi@raspberrypi:~/nightlight $ python3 app.py
Light level: 634
Light level: 634
Light level: 634
Light level: 230
Light level: 104
Light level: 290 -
光センサーを覆ったり外したりし ます。光レベルが300以下の場合、LEDが点灯し、光レベルが300を超えるとLEDが消灯することに気づくでしょう。
💁 LEDが点灯しない場合は、正しい向きで接続されていること、スピンボタンが完全にオンに設定されていることを確認してください。
💁 このコードはcode-actuator/piフォルダーにあります。
😀 ナイトライトプログラムは成功しました!