2.12 光を感じる

フォトレジスタは典型的なアナログ入力デバイスであり、ポテンショメータと非常に類似した方法で使用されます。その抵抗値は光の強度に依存し、照射される光が強いほど抵抗値が小さくなり、逆に、光が弱いと抵抗値が増加します。

必要な部品

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

全体のキットを購入することは非常に便利です、以下がそのリンクです:

名前

このキットのアイテム

リンク

ケプラーキット

450以上

Kepler Kit

下記のリンクから個々の部品も購入可能です。

S/N

部品

数量

リンク

1

Raspberry Pi Pico W

1

BUY

2

マイクロUSBケーブル

1

3

ブレッドボード

1

BUY

4

ジャンパーワイヤー

複数

BUY

5

抵抗器

1(10KΩ)

BUY

6

フォトレジスタ

1

BUY

回路図

sch_photoresistor

この回路では、10KΩの抵抗とフォトレジスタが直列に接続され、両方を流れる電流は同じです。10KΩの抵抗は保護として機能し、GP28はフォトレジスタの電圧変換後の値を読み取ります。

光が強くなると、フォトレジスタの抵抗が減少し、その電圧も減少します。その結果、GP28からの値も減少します。光が十分に強い場合、フォトレジスタの抵抗はほぼ0になり、GP28の値もほぼ0になります。この時、10KΩの抵抗が保護役割を果たし、3.3VとGNDが短絡するのを防ぎます。

フォトレジスタを暗い状況に置くと、GP28の値が増加します。十分に暗い状況では、フォトレジスタの抵抗は無限大になり、その電圧はほぼ3.3V(10KΩの抵抗は無視できる)になり、GP28の値は最大値65535に近づきます。

計算式は以下の通りです。

(Vp/3.3V) x 65535 = Ap

配線

wiring_photoresistor

コード

注釈

  • kepler-kit-main/micropython のパスの下にある 2.12_feel_the_light.py ファイルを開くか、このコードをThonnyにコピーして、"Run Current Script"をクリックするか、F5を押して実行してください。

  • 右下隅の"MicroPython (Raspberry Pi Pico)" インタープリターをクリックするのを忘れないでください。

  • 詳細なチュートリアルについては、 コードを直接開いて実行する を参照してください。

import machine
import utime

photoresistor = machine.ADC(28)

while True:
    light_value  = photoresistor.read_u16()
    print(light_value)
    utime.sleep_ms(10)

プログラムが実行された後、Shellにはフォトレジスタの値が出力されます。懐中電灯で照らすか、手で覆って値がどのように変わるかを確認できます。