Arduino – ultradźwiękowy czujnik odległości HC-SR04

Czujnik HC-SR04 składa się z nadajnika i odbiornika ultradźwięków oraz kilku układów scalonych. Generuje on sygnały akustyczny >20kHz czyli nie słyszalny dla człowieka. Czujnik dokonując pomiarów wysyła sygnał akustyczny, który po odbiciu od przeszkody zostaje z powrotem odebrany. Odstęp czasu pomiędzy nadaniem sygnału, a jego odebraniem definiuje naszą odległość. Zakres pomiaru tego czujnika to 2 – 200cm przy zasilaniu 5V.

Jak zatem odczytać odległość?

Zbudujmy sobie prosty układ na arduino.

Potrzebujemy:

  • ultradźwiękowy czujnik odległości HC-SR04
  • Arduino
  • płytka prototypowa
  • przewody połączeniowe

Czujnik ma 4 wyprowadzenia: VCC – zasilanie dodatnie 5V, Trig – sygnał nadawczy, Echo – sygnał odbierany przez czujnik, GND – masa.

Spróbujemy odczytać odległość na monitorze portu szeregowego. W tym celu według schematu podłączamy pin Echo do pinu 10 w arduino, a pin Trig do pinu 11 w arduino i wgrywamy poniższy kod.

 

#define trigPin 11
#define echoPin 10

void setup() {
 Serial.begin (9600);
 pinMode(trigPin, OUTPUT); 
 pinMode(echoPin, INPUT); 
}

void loop() {  
 Serial.print(zmierzOdleglosc());
 Serial.println(" cm");
 
 delay(500);
} 

int zmierzOdleglosc() {
 long czas, dystans;

 digitalWrite(trigPin, LOW);
 delayMicroseconds(2);
 digitalWrite(trigPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(trigPin, LOW);

 czas = pulseIn(echoPin, HIGH);
 dystans = czas / 58;

 return dystans;
}

Po wgraniu kodu do arduino możemy włączyć monitor portu szeregowego i odczytać odległości wskazywane przez czujnik.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *