Czujnik parkowania: światła
Część sekcji Projekty ścieżki Arduino w Coddy. Lekcja 10 z 24.
Nikt nie odczytuje liczb podczas parkowania. Trzy diody LED zamieniają odległość na kolor: zielona na pinie 6, gdy droga jest wolna, żółta na pinie 7, gdy się zbliżasz, czerwona na pinie 13, gdy musisz się zatrzymać.
Trzy zakresy i dokładnie jedna dioda LED dla każdego z nich. Łańcuch if / else if / else pasuje, ponieważ uruchamia się tylko jedna z jego gałęzi:
if (cm >= 100) {
// zielony
} else if (cm >= 30) {
// żółty: od 30 do 99
} else {
// czerwony: poniżej 30
}Drugi test nie musi zawierać warunku cm < 100: else oznacza, że pierwszy test dał wynik fałszywy, więc odległość jest już mniejsza niż 100.
Wyłącz wszystkie trzy diody LED, zanim włączysz jedną z nich, tak jak w przypadku sygnalizacji świetlnej. W przeciwnym razie żółta pozostanie zapalona, gdy włączy się czerwona.
Wyzwanie
ŁatwyPokazuj odległość za pomocą kolorów:
- ustaw piny 6, 7 i 13 jako wyjścia
- 100 cm lub więcej: tylko zielony
- od 30 do 99 cm: tylko żółty
- poniżej 30 cm: tylko czerwony
Nie przestawaj wyświetlać odległości. Naciśnij Run, przeciągnij czujnik odległości, a następnie naciśnij Check.
Spróbuj swoich sił
// Czujnik odległości
const int trigPin = 9;
const int echoPin = 10;
// Wyślij impuls i zwróć odległość w 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);
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Projekty
3Czujnik parkowania
Czujnik parkowania: odległośćCzujnik parkowania: światłaCzujnik parkowania: sygnały dźwiękoweCzujnik parkowania: wyświetlaczPoćwicz samodzielnie: Edytor online Arduino