### プロジェクト3: 光センサー(フォトレジスター) ![](media/36e7e08764ed3c61a1c22f86be8c23d9.jpeg) #### **(1)概要:** 光敏抵抗(フォトレジスター)は、硫化物やセレンなどの半導体材料で作られた特殊な抵抗で、光導電効果を持つ防湿樹脂でコーティングされています。光敏抵抗は周囲の光に最も敏感に反応し、照度の強さが異なると光敏抵抗の抵抗値も異なります。この光敏抵抗を利用して光センサーモジュールを設計しています。 モジュールの信号はマイコンのアナログポートに接続されています。光の強度が強いほど、アナログポートの電圧が大きくなり、マイコンのシミュレーション値も大きくなります。逆に、光の強度が弱いほど、アナログポートの電圧が小さくなり、マイコンのシミュレーション値も小さくなります。 このようにして、光センサーモジュールを使って対応するアナログ値を読み取り、環境中の光の強度を感知することができます。 ![](./media/image-20250709122809574.png) ![](media/0d9daba6454ef099fe1ceb0e6cb56ec4.png) #### **(2)仕様:** - 光敏抵抗の抵抗値:5K Ω〜0.5MΩ - インターフェースタイプ:アナログポート A0、A1 - 動作電圧:3.3V〜5V - ピン間隔:2.54mm #### **(3)接続図:** 次にテストするのは、ロボットの左側にある光センサーモジュールです。 ![](./media/img-20240117091730.png) 左側の光センサーはモータードライブシールドの A1/P3 に接続されています。 ![](media/484852a36f52bdbe44bec1b9a8941e44.png) #### **(4)テストコード:** 以下のようにブロックをドラッグしてコードを編集することもできます。 ![](media/f3bb36c8d40016865672399259c7945d.png) ![](media/844a4e322ac2a3609e89d7e412406616.png) ![](media/0df2da585a311e7b3312111533cd96a8.png) ![](media/d4da0bd0c55e3580fa95782d50f6e540.png) **完全なテストコード** (**注意:** コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードもシリアル通信を使用するため、Bluetoothシリアル通信と競合が発生し、アップロードに失敗する可能性があります。) ![](media/f29c7da2238bcc2bc70cb4b2c773b50d.png) #### **(5)テスト結果:** 開発ボードにコードをアップロードします。![](media/9011f20d83897d7a5936793c4ae142fc.png) をクリックしてボーレートを9600に設定します。手で覆うと値が小さくなり、覆わない場合は値が大きくなります。 ![](media/53e2fc37ee5bb2c6ec187c309c431c47.png) #### **(6)応用練習:** 上記のコードは光センサーの値を読み取るだけです。光センサーとLEDを組み合わせてLEDを変化させることができます。光センサーでLEDの明るさを制御してみましょう。 ![](media/88a89f7996fb7f7d037315e57e8bcd33.png) PWMによって光の明るさを変えることができます。つまり、LEDは開発ボードのPWMに接続する必要があります。 LEDを D9 に接続し、他のピンは変更せずに、コードを編集します。 以下のようにブロックをドラッグしてコードを編集することもできます。 ![](media/f3bb36c8d40016865672399259c7945d.png) ![](media/0df2da585a311e7b3312111533cd96a8.png) ![](media/b94c3789429c5fed4fd38467cb9792dd.png) ![](media/9ecdfd77e2a69dea5a8df04e7d56a13a.png) **完全なテストコード** (**注意:** コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードもシリアル通信を使用するため、Bluetoothシリアル通信と競合が発生し、アップロードに失敗する可能性があります。) ![](media/b23bcae806e8e27382b162909d30f3c0.png) 開発ボードにコードをアップロードし、光センサーを押してLEDの明るさが変化するか確認しましょう。 ![](./media/img-20240117091759.png)