駐車センサー:ライト
CoddyのArduinoジャーニー「プロジェクト」セクションの一部。レッスン 10/24。
駐車中に数値を読む人はいません。3つのLEDで距離を色に変えます。進路が空いているときはピン6の緑、近づいてきたらピン7の黄、停止しなければならないときはピン13の赤です。
範囲は3つで、それぞれに対応するLEDは1つだけです。分岐のうち1つだけが実行されるため、if / else if / else の連鎖が適しています。
if (cm >= 100) {
// 緑
} else if (cm >= 30) {
// 黄: 30から99
} else {
// 赤: 30未満
}2つ目のテストでcm < 100と書く必要はありません。elseは最初のテストが偽だったことを意味するので、距離はすでに100未満です。
信号機のときと同じように、1つのLEDを点灯する前に3つすべてのLEDを消灯してください。そうしないと、赤が点灯したときに黄も点灯したままになります。
チャレンジ
簡単距離を色で表示します:
- ピン6、7、13を出力に設定する
- 100 cm以上:緑のみ
- 30~99 cm:黄色のみ
- 30 cm未満:赤のみ
距離の出力を続けます。Runを押し、センサーの距離をドラッグしてから、Checkを押します。
自分で試してみよう
// 距離センサー
const int trigPin = 9;
const int echoPin = 10;
// パルスを送信し、距離をcm単位で返します。
long readDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
return duration / 58;
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
long cm = readDistance();
Serial.println(cm);
delay(100);
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
プロジェクトのすべてのレッスン
自分で練習してみよう: Arduinoプレイグラウンド