光敏アレイ

このプログラムは、光依存抵抗器からの読み取りを対応する数の点灯するLEDライトに変換し、光の明るさのシンプルなインジケータを作成します。

必要なコンポーネント

このプロジェクトには以下のコンポーネントが必要です。

全体のキットを購入すると便利です。こちらがリンクです:

名称

このキットのアイテム数

リンク

Elite Explorer Kit

300+

Elite Explorer Kit

以下のリンクから別々に購入することもできます。

コンポーネント紹介

購入リンク

Arduino Uno R4 WiFi

-

ブレッドボード

BUY

ジャンパーワイヤー

BUY

抵抗器

BUY

LED

BUY

フォトレジスタ

BUY

配線図

../_images/04_light_sensitive_array_bb.png

回路図

../_images/04_light_sensitive_array_schematic.png

コード

注釈

  • ファイル 04_light_sensitive_array.inoelite-explorer-kit-main\fun_project\04_light_sensitive_array のパスから直接開くことができます。

  • または、このコードをArduino IDEにコピーしてください。

どのように動作しますか?

以下はコードの詳細な説明です:

  1. 定数と変数の定義:

    NbrLEDs:8個のLEDの存在を定義します。 ledPins[]:LEDはArduinoのピン5から12に接続されています。 photocellPin:フォトレジスタはArduinoのA0ピンに接続されています。 sensorValue:この変数はフォトレジスタから読み取った値を保存します。 ledLevel:この変数はsensorValueの変換に基づいてLEDの数を保存します。

  2. setup()

    ピン5から12を出力として設定し、LEDを駆動します。

  3. loop()

    フォトレジスタのアナログ値をピンA0から読み取ります。通常は0から1023の範囲です。 map関数を使用して、フォトレジスタの値を300-1023の範囲から0-8の範囲にマップします。 これは、光依存抵抗器からの読み取りが300の場合、LEDは点灯しないことを意味します。 読み取りが1023以上の場合、8個のLEDすべてが点灯します。

    続くforループは、各LEDをチェックします。そのインデックスがledLevel未満の場合、 LEDを点灯させます。それ以外の場合は、LEDを消灯させます。