自動点灯
光センサーを発展させ、LEDの自動点灯を試みる(教科書63ページ)。回路は入力側を前回そのままに、出力側にLEDを繋ぐだけだ。
スケッチは下記の通り、「05.Control」の「IfStatementConditional」を改造したもの。部屋が暗くて常点灯になってしまったので、オンオフの境界となる閾値(threshold)を250から150に下げた。
[ スケッチ:IfStatementConditional1]
// These constants won't change:
const int analogPin = A0; // pin that the sensor is attached to
const int ledPin = 13; // pin that the LED is attached to
const int threshold = 150; // an arbitrary threshold level that's in the range of the analog input
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize serial communications:
Serial.begin(9600);
}
void loop() {
// read the value of the potentiometer:
int analogValue = analogRead(analogPin);
// if the analog value is high enough, turn on the LED:
if (analogValue < threshold) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
// print the analog value:
Serial.println(analogValue);
delay(1); // delay in between reads for stability
}
実際に点灯させたところ(動画)