2021年6月23日水曜日

ESP32-DevkitCとCDSで明るさを計測する

ESP32-DevkitCとCDSで明るさを計測するには、以下の手順を実行します。

〇ESP32-DevkitCとCDSを接続した写真

開発手順

1. ESP32-DevkitCの他、以下の部品を用意します。
・CdSセル 5mmタイプ
https://akizukidenshi.com/catalog/g/gI-00110/

・カーボン抵抗(炭素皮膜抵抗) 1/4W10kΩ (100本入)
https://akizukidenshi.com/catalog/g/gR-25103/

・プリント基板 両面 HK-PKW01H
https://elpadirect.com/shopdetail/000000001788/
※その他、適当な大きさのユニバーサル基板でも大丈夫です。

・分割ロングピンソケット 1×42 (42P)
https://akizukidenshi.com/catalog/g/gC-05779/
※ESP32-DevkitCを上記基板に挿すのに使用しています

※以下の2つはCDSを上記基板に直付けしない場合は、以下の様なサブ基板を使用します。
・16ホールユニバーサル基板(2.54mm)
https://akizukidenshi.com/catalog/g/gP-02515/

・ピンソケット(メス) 1×3(3P)
https://akizukidenshi.com/catalog/g/gC-10098/

・ピンヘッダ 1×40 (40P)
target=_blank">https://akizukidenshi.com/catalog/g/gC-00167/

〇使用部品(一部)の写真

2. 配線
CDS,10KΩ抵抗を以下の様に接続します。

3.ESP32-DevkitCでのプログラミングと実行
デフォルトだとADCで1Vまでしか測れないので、atttenメソッドで減衰率を設定して3.6Vまで計測できるように設定します。
attenメソッドの詳細は以下を参照してください。
ADC (アナログ/デジタル変換)
https://micropython-docs-ja.readthedocs.io/ja/latest/esp32/quickref.html#adc-analog-to-digital-conversion

以下のプログラムをmain.pyとしてESP32-DevkitCに保存し、実行します。
import machine 
import time

pin35 = machine.Pin(35, machine.Pin.IN)
cds = machine.ADC(pin35)
cds.atten(machine.ADC.ATTN_11DB) # 11dBの減衰率、約3.6V が最大入力電圧

while True:
    lightness = cds.read()
    print("cds: {}".format(lightness))
    time.sleep(2)

0 件のコメント:

コメントを投稿