Grove Beginner KitでのArduino入門 その6 光センサー

概要

前回はアナログ出力で音を鳴らしましたが、今回は光センサーを使って環境光を調べます。

光センサーとは?

フォトトランジスタなどを使った照度センサーで、主に人間が見ることができる可視光線のセンサーです。赤外線などの目に見えないものも大きな区分では光センサーになります。自分でセンサー素子を選択する場合には、どの周波数帯の光に対応しているのかは確認しておいたほうがよいと思います。

  • フォトICダイオード 560nm S13948-01SB(秋月電子)

秋月電子さんだと上記の製品が搭載している光センサーに似ていました。フォトトランジスタは、光の明るさに応じて、流れる電流が増える素子となります。なので流れた電流か、分圧した電圧を計測することで計測できますね。

上記が回路図です。光センサーはLS06-Sで68KΩの抵抗と直接に接続して、LM358DRというオペアンプに入力しています。オペアンプからの出力を2に結線しているので1倍でSIGに出力されます。

これはフォトトランジスタの出力は非常に弱い電流なので、オペアンプで安定した信号にしているのだと思われます。Arduinoのアナログ入力に接続する場合には直結でも構わないと思いますが、LEDなどに接続する場合にはこのようなオペアンプやトランジスタなどが必要になると思います。

スケッチ

int lightPin = A6;

void setup() {
  Serial.begin(115200);
  pinMode(lightPin, INPUT);
}

void loop() {
  Serial.println(analogRead(lightPin));
  delay(200);
}

中身はアナログ入力のみなので、単純なスケッチとなります。ここで製品のマニュアルだとシリアルモニタとシリアルプロッタの説明が入っていたのですが、ポテンションメーターで説明してしまったので割愛します。

照度センサーは明るさを判定するのですが、実際には一定以上暗くなったら明かりを付けるなどのしきい値で制御することが多いです。どれぐらいの明るさの場合、どの数値になるのかは実際に試しながらシリアルモニタやシリアルプロッタで計測する必要があると思います。

まとめ

今回はあっさり終わってしまいました。アナログ入力はセンサーでよく使いますが、同じようなスケッチで対応可能です。ただし、実際の数値はセンサーによって変わるのでしきい値の調整が必要になります。

実は次回もアナログ入力なので同じようなスケッチになる予定です。このへんはキットの方針として目新しい物をいれるよりは、より実際に使いやすいセンサーを搭載している方針なんだと思います。

続編

コメント