Czujnik parkowania: odległość
Część sekcji Projekty ścieżki Arduino w Coddy. Lekcja 9 z 24.
Samochody mają czujniki parkowania, które piszczą coraz szybciej, gdy cofasz w stronę ściany. W tym projekcie zbudujesz taki czujnik: czujnik odległości, trzy lampki ostrzegawcze, brzęczyk i ekran — wszystko jest już podłączone. Pierwszym krokiem jest pomiar.
Podobnie jak w lekcji Displays and Sensors, impuls o długości 10 mikrosekund na TRIG wysyła sygnał, a pulseIn(echoPin, HIGH) zwraca czas, przez jaki ECHO pozostawało w stanie HIGH, w mikrosekundach. Dźwięk potrzebuje około 58 mikrosekund, aby przebyć jeden centymetr i wrócić, więc odległość w cm to ten czas podzielony przez 58 (czyli tyle samo co duration * 0.034 / 2). Umieść to wszystko w jednej funkcji:
long readDistance() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
return duration / 58;
}Wykonuj pomiar około dziesięć razy na sekundę: czujnik potrzebuje krótkiej przerwy między sygnałami, bo echo z poprzedniego pomiaru może zostać uznane za echo z nowego.
Wyzwanie
ŁatwyCzujnik ma TRIG na pinie 9 i ECHO na pinie 10:
- napisz
readDistance(): impuls wyzwalający,pulseIn()i czas podzielony przez 58 - w
loop()wypisuj odległość za pomocąSerial.println()co 100 ms
Naciśnij Run, przeciągnij odległość na czujniku, 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() {
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
// wyświetl odległość, a następnie poczekaj 100 ms
}
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