Menu
CoddyTech

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.

challenge icon

Wyzwanie

Łatwy

Czujnik 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

}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Projekty

Poćwicz samodzielnie: Edytor online Arduino