Einparkhilfe: Lichter
Teil des Abschnitts Projekte der Arduino-Journey von Coddy. Lektion 10 von 24.
Beim Einparken liest niemand Zahlen ab. Die drei LEDs übersetzen den Abstand in eine Farbe: grün an Pin 6, wenn der Weg frei ist, gelb an Pin 7, wenn du näher kommst, rot an Pin 13, wenn du anhalten musst.
Drei Bereiche und für jeden genau eine LED. Eine if / else if / else-Kette passt, weil nur einer ihrer Zweige ausgeführt wird:
if (cm >= 100) {
// grün
} else if (cm >= 30) {
// gelb: 30 bis 99
} else {
// rot: unter 30
}Der zweite Test muss nicht cm < 100 lauten: else bedeutet, dass der erste Test falsch war, der Abstand also bereits unter 100 liegt.
Schalte alle drei LEDs aus, bevor du eine einschaltest, wie bei der Ampel. Andernfalls leuchtet die gelbe LED weiter, wenn die rote angeht.
Aufgabe
EinfachZeige die Entfernung farblich an:
- Setze die Pins 6, 7 und 13 als Ausgänge
- 100 cm oder mehr: nur grün
- 30 bis 99 cm: nur gelb
- unter 30 cm: nur rot
Gib die Entfernung weiterhin aus. Drücke Run, ziehe den Abstand des Sensors und klicke dann auf Check.
Probier es selbst
// Der Abstandssensor
const int trigPin = 9;
const int echoPin = 10;
// Sende einen Ping und gib den Abstand in cm zurück.
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);
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Projekte
3Einparkhilfe
Einparkhilfe: AbstandEinparkhilfe: LichterEinparkhilfe: SignaltöneEinparkhilfe: AnzeigeÜbe selbstständig: Arduino-Playground