LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
SoM / SBC

[ARDUINO] Oko Cyklopa – ultradźwiękowy „radar” do lokalizacji obiektów

W artykule opisano system lokalizacji obiektu, wykorzystujący trzy czujniki ultradźwiękowe HY-SFR05. Zasadę działania takich czujników przedstawiono w artykule HC-SR04 – ultradźwiękowy czujnik odległości i Arduino. W niniejszym artykule opiszę jak przygotować się do oprogramowania tych czujników oraz zaprezentuję budowę systemu śledzącego najbliższy obiekt. Do realizacji tego zadania wykorzystałem:

Do osiągnięcia założonego celu konieczne jest:

  • jednoczesne uruchomienie 3 czujników ultradźwiękowych,
  • przesłanie danych celem ich weryfikacji,
  • określenie minimalnego odczytu,
  • uruchomienie silnika serwo,
  • skoordynowanie dwóch powyższych modułów.

Przejdźmy do pierwszego zadania. Zasada działania czujnika ultradźwiękowego została dokładnie przedstawiona we wspomnianym już artykule HC-SR04 – ultradźwiękowy czujnik odległości i Arduino. W skrócie, czujnik generuje krótki impuls ultradźwiękowy, a następnie odmierza czas do powrotu (po odbiciu od przeszkody) tego impulsu. Aby wygenerować sygnał, wykorzystam linię wyjściową 10 zestawu Arduino połączoną z linią Trigger czujnika (rysunek 1). Przykładowy program pokazano na listingu 1.

 

List. 1. Kod generujący krótkie impulsy

int TX1 = 10; //port nadajnika Ultrasonic

void setup()
{
  pinMode(TX1, OUTPUT);
}

void loop()
{
  digitalWrite(TX1, HIGH);
  delayMicroseconds(10);
  digitalWrite(TX1, LOW);
}

 

Rys. 1. Schemat dołączenia czujnika mod HY-SFR05 do Arduino Leonardo

 

Wygenerowanie sygnału pozwoli jedynie wysłać impuls. Kolejnym etapem jest odebranie odbitego sygnału oraz odpowiednia interpretacja danych. Po zakończeniu nadawania rozpoczynamy nasłuch, jednocześnie mierząc czas, po którym nadejdzie