光敏アレイ¶
このプログラムは、光依存抵抗器からの読み取りを対応する数の点灯するLEDライトに変換し、光の明るさのシンプルなインジケータを作成します。
必要なコンポーネント
このプロジェクトには以下のコンポーネントが必要です。
全体のキットを購入すると便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから別々に購入することもできます。
コンポーネント紹介 |
購入リンク |
---|---|
- |
|
配線図
回路図
コード
注釈
ファイル
04_light_sensitive_array.ino
をelite-explorer-kit-main\fun_project\04_light_sensitive_array
のパスから直接開くことができます。または、このコードをArduino IDEにコピーしてください。
どのように動作しますか?
以下はコードの詳細な説明です:
定数と変数の定義:
NbrLEDs
:8個のLEDの存在を定義します。ledPins[]
:LEDはArduinoのピン5から12に接続されています。photocellPin
:フォトレジスタはArduinoのA0ピンに接続されています。sensorValue
:この変数はフォトレジスタから読み取った値を保存します。ledLevel
:この変数はsensorValueの変換に基づいてLEDの数を保存します。setup()
:ピン5から12を出力として設定し、LEDを駆動します。
loop()
:フォトレジスタのアナログ値をピンA0から読み取ります。通常は0から1023の範囲です。 map関数を使用して、フォトレジスタの値を300-1023の範囲から0-8の範囲にマップします。 これは、光依存抵抗器からの読み取りが300の場合、LEDは点灯しないことを意味します。 読み取りが1023以上の場合、8個のLEDすべてが点灯します。
続くforループは、各LEDをチェックします。そのインデックスがledLevel未満の場合、 LEDを点灯させます。それ以外の場合は、LEDを消灯させます。