ESP32 to powszechnie używana płyta IoT oparta na mikrokontrolerze. Jest to tanie i niską moc mikrokontroler, która może kontrolować wiele urządzeń i może również działać jako niewolnik w projektach IoT. ESP32 poprawia wrażenia użytkowników ze światem IoT, ponieważ zintegrował moduły Wi-Fi i Bluetooth.
Jak mówimy o aplikacjach bezprzewodowych ESP32, możemy również zintegrować z nim czujniki zewnętrzne, aby wykonać różne zadania, takie jak odległość pomiaru obiektów za pomocą czujników ultradźwiękowych. Teraz porozmawiajmy o tym, jak to zrobić szczegółowo.
ESP32 z czujnikiem ultradźwiękowym HC-SR04
ESP32 można łatwo zintegrować z czujnikiem ultradźwiękowym. Potrzebujemy tylko dwóch przewodów, aby zmierzyć dowolną odległość obiektu bez potrzeby linijki lub taśmy pomiarowej. Ma ogromną aplikację, w której trudno jest użyć innych środków do pomiaru odległości. Dostępnych jest wiele czujników, które można zintegrować z ESP32.
HC-SR04 jest szeroko stosowanym czujnikiem ultradźwiękowym z ESP32. Ten czujnik określa, jak daleko jest obiekt. Używa sonaru do określenia odległości obiektu. Zwykle ma dobry zakres wykrywania z dokładnością 3 mm, jednak czasami trudno jest zmierzyć odległość miękkich materiałów, takich jak tkanina. Ma wbudowany nadajnik i odbiornik. Poniższa tabela opisuje specyfikacje techniczne tego czujnika.
Charakterystyka | Wartość |
Napięcie robocze | 5V DC |
Prąd operacyjny | 15ma |
Częstotliwość robocza | 40KHz |
Zakres min | 2 cm/ 1 cal |
Maksymalny zakres | 400 cm/ 13 stóp |
Dokładność | 3 mm |
Kąt pomiarowy | <15 degree |
HC-SR04 Pinout
Ultradźwiękowy czujnik HC-SR04 ma cztery piny:
Jak działa ultradźwiękowe
Po podłączeniu czujnika ultradźwiękowego do ESP32, mikrokontroler wygeneruje impuls sygnału na Wymuskany szpilka. Po odbieraniu czujników na trygu pin, fala ultradźwiękowa jest automatycznie generowana. Ta emitowana fala uderzy w powierzchnię przeszkody lub obiektu, którego odległość musimy zmierzyć. Następnie fala ultradźwiękowa odbije się z powrotem do zacisku odbiornika czujnika.
Czujnik ultradźwiękowy wykryje falę odbijaną i obliczy całkowity czas pobrany przez falę od czujnika do obiektu i ponownie do czujnika. Czujnik ultradźwiękowy wygeneruje impuls sygnału przy pinie echa, który jest podłączony do cyfrowych pinów ESP32 Po otrzymaniu sygnału ESP32 z pinu echo oblicza całkowitą odległość między obiektem a czujnikiem za pomocą Formula odległości.
Tutaj podzieliliśmy odległość z 2, ponieważ prędkość mnożąca z czasem da całkowitą odległość od obiektu do czujnika i z powrotem do czujnika po odbiciu z powierzchni obiektu. Aby uzyskać prawdziwy odległość, dzielimy tę odległość na pół.
Okrążenie
Interfejs ESP32 z czujnikiem ultradźwiękowym za pomocą czterech pinów, jak pokazano na zdjęciu poniżej:
Po podłączeniu ESP32 z czujnikiem ultradźwiękowym będzie przestrzegane po konfiguracji. Piny Trig i Echo będą połączone z GPIO 5 i 18 szpinami ESP32.
Czujnik ultradźwiękowy HC-SR04 | Pin ESP32 |
Wymuskany | GPIO 5 |
Echo | GPIO 18 |
GND | GND |
VCC | Vin |
Sprzęt komputerowy
Do interfejsu ESP32 z czujnikiem ultradźwiękowym Wymagane jest następujące urządzenia:
Kod w Arduino IDE
Aby zaprogramować ESP32, będziemy używać Arduino IDE, ponieważ ESP32 i Arduino mają wiele wspólnego w programowaniu, więc najlepiej używać tego samego oprogramowania do ich zaprogramowania. Otwórz Arduino IDE i wpisz następujący kod:
const int trig_pin = 5;Powyższy kod wyjaśnia działanie czujnika ultradźwiękowego z modułem ESP32. Tutaj zaczęliśmy nasz kod, definiując szpilki spustowe i echo. Pin 5 i pin 18 ESP32 są ustawione odpowiednio jako spust i pin echo.
const int trig_pin = 5;Prędkość dźwięku jest zdefiniowana jako 0.034 cm/US w 20ºC. Przyjmujemy wartości w CM/Us, aby uzyskać większą precyzję.
#Define Sound_Speed 0.034Następnie zainicjujemy dwie zmienne czas trwania I Dist_cm następująco
długi czas trwania;Zmienna czasu trwania pozwoli zaoszczędzić czas podróży fali ultradźwiękowej. Dist_cm uratuje zmierzoną odległość.
w organizować coś() Część pierwsza zainicjowana komunikacja, definiując wskaźnik transmisji. Dwa zdefiniowane wcześniej piny będą teraz zadeklarowane jako wejście i wyjście. PIN TRIGGER 5 jest ustawiony jako wyjście, a pin echo 18 jest ustawiony jako wejście.
Seryjny.rozpocząć (115200);w pętla() Część kodu Najpierw wyczyścimy pin spustowy, ustawiając go nisko i podajemy 2 opóźnienie mikrosekund, a następnie ustawym ten pin jako wysoki przez 10 mikrosekund. Powodem, dla którego to robimy, jest zapewnienie prawidłowego odczytu podczas pomiaru odległości, da nam czysty wysoki impuls.
DigitalWrite (trig_pin, niski); /* PIN TRIGGER jest wyczyszczony*/Następnie za pomocą Pulsein Funkcja będziemy czytać czas podróży fali dźwiękowej. Pulsein Funkcja odczytuje wejście jako wysokie lub niskie. Zwraca długość impulsu w mikrosekundach przy użyciu tej długości impulsu możemy obliczyć całkowity czas pobierany przez falę od czujnika do ciała obiektowego i z powrotem do końca czujnika odbierającego.
Czas trwania = pulsina (echo_pin, wysoko);Następnie za pomocą wzoru prędkości obliczyliśmy całkowitą odległość obiektu:
dist_cm = czas trwania * Sound_speed/2;Odległość zmierzona obiektu jest drukowana na monitorze szeregowym:
Seryjny.print („Odległość obiektu w (cm):”);Kiedy obiekt jest blisko
Teraz umieść obiekt w pobliżu czujnika ultradźwiękowego i sprawdź zmierzoną odległość w oknie monitora szeregowego Arduino IDE.
Wyjście
Odległość obiektu jest pokazana na terminalu wyjściowym. Teraz obiekt jest umieszczony na 5 cm od czujnika ultradźwiękowego.
Kiedy obiekt jest daleko
Teraz, aby zweryfikować nasz wynik, umieścimy obiekty daleko od czujnika i sprawdzić działanie czujnika ultradźwiękowego. Umieść obiekty takie jak pokazane na zdjęciu poniżej:
Wyjście
Okno wyjściowe da nam nową odległość i jak widzimy, że obiekt jest daleko od czujnika, więc zmierzona odległość wynosi 15 cm od czujnika ultradźwiękowego.
Wniosek
Odległość pomiarowa ma doskonałą zastosowanie, jeśli chodzi o robotykę i inne projekty, istnieją różne sposoby pomiaru odległości Jedną z powszechnie stosowanych metod pomiaru odległości za pomocą ESP32 jest użycie czujnika ultradźwiękowego. Tutaj ten zapis obejmie wszystkie kroki, które należy zintegrować i rozpocząć mierzenie czujników z ESP32.