Czujnik ultradźwiękowy z Arduino nano
Czujnik ultradźwiękowy wykorzystuje fale dźwiękowe do wykrywania i pomiaru odległości obiektu. Ten czujnik odległości działa poprzez wysyłanie impulsu dźwiękowego o wysokiej częstotliwości i mierzy czas wymagany przez falę w celu trafienia obiektu i odbijania się do czujnika. Czujnik oblicza odległość obiektu za pomocą czasu potrzebnego przez falę.
Na początek podłącz czujnik ultradźwiękowy z Arduino nano za pomocą odpowiednich pinów. Czujnik ultradźwiękowy zazwyczaj wymaga spustu i echa, a także połączeń zasilania i uziemienia. Po wykonaniu połączeń będziesz musiał zainstalować odpowiednie biblioteki i oprogramowanie do kontrolowania czujnika.
Dzisiaj użyjemy HC-SR04 czujnik. Jedną z kluczowych zalet stosowania ultradźwiękowego czujnika HC-SR04 jest jego prostota i niski koszt. Czujnik ultradźwiękowy HC-SR04 jest również bardzo dokładny i może mierzyć odległości do 400 cm (157 cali) z rozdzielczością 0.3 cm (0.12 cali). Ma szeroki zakres napięcia roboczego, dzięki czemu nadaje się do użytku z różnymi mikrokontrolerami i źródłami energii.
Oto kilka głównych specyfikacji tego czujnika:
Charakterystyka | Wartość |
---|---|
Operacja v | 5V DC |
Działający i | 15ma |
Operacyjny Freq | 40KHz |
Zakres min | 2 cm/ 1 cal |
Maksymalny zakres | 400 cm/ 13 stóp |
Dokładność | 3 mm |
Kąt pomiarowy | <15 degree |
Pinout czujnika ultradźwiękowego
HC-SR04 ma w sumie 4 piny:
Jak działa ultradźwiękowe
HC-SR04 działa przy użyciu sygnału dźwięku o wysokiej częstotliwości do pomiaru odległości lub wykrywania obiektów. Po połączeniu z Arduino (lub innym mikrokontrolerem) można go użyć do pomiaru odległości lub wykrywania obiektów w różnych aplikacjach. Oto jak to działa:
1: Ultradźwiękowy czujnik HC-SR04 składa się z nadajnika i odbiornika, a także obwodu kontrolnego i zasilania. Nadajnik wysyła impuls dźwiękowy o wysokiej częstotliwości, podczas gdy odbiornik słucha, aby impuls odbija się po tym, jak trafił obiekt.
2: Aby zmierzyć odległość, Arduino wysyła impuls do szpilki spustowej czujnika HC-SR04, powodując, że nadajnik emituje impuls dźwiękowy. Puls dźwiękowy przemieszcza się w powietrzu i uderza w obiekt, powodując, że odbija się go z powrotem do odbiornika.
3: Odbiornik mierzy czas potrzebny na odbicie pulsu dźwięku i wysyła te informacje do obwodu sterowania. Obwód sterujący oblicza odległość do obiektu na podstawie opóźnienia czasowego i prędkości dźwięku.
4: Arduino może następnie odczytać pomiar odległości z czujnika, odczytując wartość na pinie echa. Ta wartość jest proporcjonalna do odległości do obiektu, a Arduino może go użyć do obliczenia rzeczywistej odległości.
5: Aby wykryć obiekty, Arduino może po prostu sprawdzić, czy odległość mierzona czujnikiem jest poniżej określonego progu. Jeśli odległość jest poniżej progu, oznacza to, że w zasięgu czujnika znajduje się obiekt.
HC-SR04 Czujnik obliczy odległość za pomocą czasu potrzebnego przez falę ultradźwiękową. Ponieważ ultradźwiękowe jest falą dźwiękową, do obliczeń przyjmuje się prędkość dźwięku w powietrzu. Po drugie, całkowita odległość przebywająca przez falę jest podzielona przez 2, aby uzyskać jednostronną rzeczywistą odległość obiektu od czujnika.
Jak połączyć Arduino nano z czujnikiem ultradźwiękowym
Aby podłączyć Arduino nano z czujnikiem ultradźwiękowym, potrzebujemy dwóch cyfrowych pinów do spustu i echa. Do zasilania ultradźwiękowego 5 V i pinu GND.
Piny HC-SR04 | Pins Arduino Nano |
---|---|
VCC | 5v |
Wymuskany | D9 |
Echo | D8 |
GND | GND |
Wyzwalacz i pin echo czujnika można podłączyć do dowolnych cyfrowych pinów na płycie Nano.
Schemat obwodu
Poniżej znajduje się schematyczny schemat HC-SR04 z Arduino nano.
Jak zaprogramować czujnik ultradźwiękowy za pomocą Arduino nano
Podłącz Arduino nano z HC-SR04 przy użyciu powyższego schematu. Prześlij poniższy kod na płytę Nano za pomocą Arduino IDE.
Kod
Otwórz IDE, wybierz Nano Board i prześlij kod za pomocą mini kabla USB.
int Triggerpin = 9; /*TRIG PIN D9 z Arduino nano*/
int echopin = 8; /*Echo Pin D8 of Arduino nano*/
zmiennoprzecinek, odległość, odległość;
void setup ()
Seryjny.rozpocząć (9600); /*Wskaźnik transmisji seryjnej*/
/* PIN wyzwalający zdefiniowany jako wyjście*/
pinmode (Triggerpin, wyjściowe);
/* Pin echo zdefiniowany jako wejście*/
pinmode (echopina, wejście);
void Loop ()
/* Wyślij 10 microsec impuls do tryg pin*/
DigitalWrite (Triggerpin, High);
opóźniające się (10);
DigitalWrite (Triggerpin, niski);
/* Zmierz czas trwania impulsu z pin echo*/
czas trwania Microsec = Pulseina (echopina, wysoka);
/* Oblicz odległość*/
dystansincm = 0.017 * Czas trwania Microsec;
/*Wyświetlanie odległości na monitorze szeregowym*/
Seryjny.druk („odległość:”);
Seryjny.wydruku (odległość); /*Odległość wydruku w CM*/
Seryjny.println („cm”);
opóźnienie (1000);
Kod rozpoczął się od zdefiniowania pinu spustu i echa. Zdefiniowane są dwie zmienne pływakowe, które będą przechowywać czas wykonany przez falę i rzeczywistą zmierzoną odległość obiektu.
Wejście impulsu jest zdefiniowane na pin D8 Arduino nano za pomocą Pulsein () funkcjonować.
Gdy Arduino nano odbędzie sygnał w D8, obliczy odległość przy użyciu wzoru czasu odległości.
W części pętli zmierzona odległość w wydrukowanym monitorze szeregowym za pomocą Seryjny.println () funkcjonować.
Sprzęt komputerowy
Umieść dowolny obiekt przed czujnikiem HC-SR04 w pewnej odległości:
Wyjście
Widzimy zmierzoną odległość na monitorze szeregowym Arduino IDE. Przybliżona zmierzona wartość wynosi 4.4 cm.
Teraz przenieś obiekt AWAIS z czujnika:
Wyjście
Odległość mierzona przez czujnik wynosi 8 cm. Gdy obiekt jest odsuwa się od czujnika:
Wniosek
Ultradźwiękowy czujnik HC-SR04 może mierzyć odległość za pomocą kodu Arduino. Mierzy dokładną odległość obiektów i jest szeroko stosowany w projektach DIY. W tym artykule obejmował szczegółowy przewodnik na temat pracy i interfejsów czujników ultradźwiękowych z płytkami Arduino nano. Aby uzyskać więcej informacji, przeczytaj artykuł.