戻る
42 明るさの変化に反応する
回路
24番のプログラム例と回路は同じです。
Arduino とCdSと抵抗(10kΩ茶黒橙金, 1kΩから100kΩぐらいで、CdSにあわせるとよい)を用意します。CdSには大きさの違うものがありますが、ここではどれでも使えます。
CdSの片方の足と抵抗の片方の足をつけてArduinoのアナログピンA0につなぐことに注意してください。
プログラム
動作
このプログラムを実行するとCdSを影にして暗くするとArduinoボード上のLEDが1秒間点灯します。
解説
このプログラムでは、一つ目のブロックで現在の明るさを変数aに覚えています。
【もし】ブロックは、a(過去の値)と現在の値の差(引き算)が20より大きければブロックの内容を実行します。そこでLEDを1秒間点灯しています。プログラムの内容を順番に読むと
- a に A0 ピンの値を代入
- いま a - (今のA0ピンの値) が 20 を超えていれば
- LEDを点灯
- 1秒待つ
- LEDを消灯
- a に A0 ピンの値を代入
- 0.1秒待つ
- 2へ戻る
となっています。したがって【もし】ブロックの中の式は 0.1秒前と今の値の差が20を超えているとき(手などをかざして暗くなったとき)に成り立つので、そのときにLEDが点灯します。
戻る
(c) 2014-2015 N. Mitsunaga, A.Sugimoto
サンプルプログラムの著作権は放棄します。fritzingで作成した図は、そちらのライセンスに従って再配布して構いません。