SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

明るさセンサー回路

子ども向けに「センサーで制御する」簡単な教材が欲しいと思い、フォトトランジスター回路を試してみました。
ブレッドボードに簡単な回路を組んでIchigoJamに入力してみた所、ちゃんと0,1のデジタルで読み取ることができました。

10 IF IN(1)=0 THEN LED 1 ELSE LED 0
20 GOTO 10
こんなプログラムで、フォトトランジスターに手をかざして暗くすると、IchigoJamのLEDを光らせることができます。
「暗くなると自動的に点く電灯があるよね?」などと子どもに説明すると、実体験に基づいて理解しやすいのではないでしょうか。
今回はオンボードのLEDを光らせましたが、出力側で何をさせるかは回路とプログラム次第で、いろいろ使えると思います。

1/22追記

FacebookIchigoJam-FANグループでアドバイスをいただきました。
後段のトランジスター部分を無くして、100kΩ抵抗とフォトトランジスターだけでもセンサーになります。


この場合はIchigoJamのポート2へ接続して、アナログ入力で読み取ります。

10 IF ANA(2)>500 THEN LED 1 ELSE LED 0
20 GOTO 10
「ポート2はアナログの入力もできて、入力値は0〜1023の範囲だよ」などと子ども達に説明しないといけませんが、リアルに照度を読み取っている感じがしていいかもしれません。

1/23追記

4個のLEDを順番に光らせる回路を作り、上記のアナログ入力を応用して、LEDの移動速度が明るさによって変化するようにしてみました。
フォトトランジスターに手をかざして陰にすると、LEDの速度が速くなります。


10 FOR I=1 TO 4
20 OUT I,1
30 WAIT (ANA(2)-400)/20
40 OUT I,0
50 NEXT
60 GOTO 10