CDS光センサーでAD変換(アナログ→デジタル変換)

CDS光センサーでAD変換(アナログ→デジタル変換)

ラズパイPicoの3.3V出力ピンをCDS(光センサー)につないで指定した電圧以下になったらLEDが点滅が消える回路です。

CDS光センサー

回路図

MicroPythonプログラム

# ハードウェア関連のライブラリを読み込み
import machine

# 時間関連のライブラリを読み込み
import utime

# GP17(22Pin)を出力ピンに設定、プルダウン(初期値):0
led = machine.Pin(17, machine.Pin.OUT,machine.Pin.PULL_DOWN)

# ADC0(31Pin)をADC変換ピンに設定
cds = machine.ADC(0)

# 永久リピート
while True:
    
    # read_u16() ・・・アナログ値を読込み[0-65535]の整数を返す関数
    # 16bit・2進数の最大値:1111111111111111 ⇒ 10進数の最大値:65535
    # 3.3/65535の意味:電圧の最大値3.3Vを、65535という数値にあてはめるための計算
    adc = cds.read_u16() * (3.3 / 65535)
    print(adc)  
    # 2.6V以上のとき実行
    if adc > 2.6:
    
        # LEDをON
        led.value(1)
        
        # 0.2秒待機
        utime.sleep(0.2)
       #print(adc)  
        # LEDをOFF
        led.value(0)
        
        # 0.2秒待機
        utime.sleep(1)
        
    else:
        
         # LEDをOFF
        led.value(0)

実行

センサーで読み取った値がコンソールに表示されます。
LEDが点滅します。
普通の明るさで3.1くらいです。
指でセンサーの上面をかくすと値が小さくなりLEDが消えます。