注釈

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。

  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。

  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。

  • 特別割引:最新製品の独占割引をお楽しみください。

  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!

6.1 光感知配列

フォトレジスタまたはフォトセルは、光によって変動する抵抗器です。フォトレジスタの抵抗は、入射光の強度が増加するにつれて減少します。言い換えれば、フォトコンダクティビティを示します。フォトレジスタは、光感知検出回路や、光と闇で動作するスイッチング回路に適用することができます。

フォトレジスタの抵抗は、入射光の強度によって変わります。光の強度が高くなると、抵抗は減少します。光の強度が低くなると、抵抗は増加します。 この実験では、光の強度を示すために8つのLEDを使用します。光の強度が高いほど、多くのLEDが点灯します。光の強度が十分に高い場合、すべてのLEDが点灯します。光がない場合、すべてのLEDは消灯します。

必要な部品

このプロジェクトでは、以下の部品が必要です。

一式を購入するのは非常に便利です、リンクはこちらです:

名前

このキットのアイテム

リンク

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

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

コンポーネントの紹介

購入リンク

Arduino Uno R4 Minima

-

ブレッドボード

購入

ジャンパーワイヤー

購入

抵抗器

購入

LED

購入

フォトレジスタ

購入

回路図

../_images/circuit_6.1_light_led.png

配線図

../_images/6.1_light_flow_led_bb.png

コード

注釈

  • 3in1-kit\learning_project\6.1.light_control_led のパスの下の 6.1.light_control_led.ino ファイルを開きます。

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

フォトレジスタに光を当てると、いくつかのLEDが点灯します。さらに光を当てると、さらに多くのLEDが点灯します。暗い環境に置くと、すべてのLEDが消えます。

どのように動作するのか?

void loop()
{
    sensorValue = analogRead(photocellPin); // A0の値を読み取る
    ledLevel = map(sensorValue, 300, 1023, 0, NbrLEDs); // LEDの数にマッピングする
    for (int led = 0; led < NbrLEDs; led++)//
    {
        if (led < ledLevel ) // ledがledLevelよりも小さい場合、以下のコードを実行します。
        {
            digitalWrite(ledPins[led], HIGH); // レベル以下のピンをオンにする
        }
        else
        {
            digitalWrite(ledPins[led],LOW); // レベル以上のピンをオフにする
        }
    }
}

map() 関数を使用して、フォトレジスタの値を8つのLEDにマッピングすることができます。例えば、sensorValueが560の場合、ledLevelは4となります。この時点で、ledPins[0]からledPins[4]が点灯し、ledPins[5]からledPins[7]が消灯することになります。