人感センサーあるいはモノの検出センサーとして光センサーを使いたいので、CdsセルとフォトトランジスタをESP32のアナログ入力に接続してみました。
部品
- 右: Cdsセル : GL5516 (0.5MΩ) http://akizukidenshi.com/catalog/g/gI-05885/
- 左: フォトトランジスタ : L-31ROPT1C 940nm 3mm丸型 http://akizukidenshi.com/catalog/g/gI-04213/
Cdsセルは極性がありませんが、フォトトランジスタは長い方がエミッタ(GND側)です。
接続
ESP32-DevKitC のに次の様に接続します。抵抗はとりあえず手元にあった10Kです。
- 3.3V > フォトトランジスタ > IO4 > 10KΩ > GND
- 3.3V > Cdsセル > IO0 > 10KΩ > GND
結果
手をかざすとどちらも数値が小さくなっています。抵抗値にもよるのでしょうが、試した条件ではフォトトランジスタの方が変化が大きいので物体の検出にはこちらの方がわかりやすいかな。
コードはこちら
void setup() {
Serial.begin(115200);
}
void loop() {
int val0, val1;
val0 = analogRead(4); //A10 IO4 ADC2_CH0
val1 = analogRead(0); //A11 IO0 ADC2_CH1
Serial.print(val0);
Serial.print(", ");
Serial.print(val1);
Serial.println(" ");
delay(1000);
}