Micropython HC -SRTOP 10 Ultradźwiękowy czujnik - Esptop 10 i Thonny Ide

Micropython HC -SRTOP 10 Ultradźwiękowy czujnik - Esptop 10 i Thonny Ide

Micropython jest szeroko stosowany z mikrokontrolerów i systemami wbudowanymi. Możemy pisać kod i biblioteki wewnątrz Micropython IDE i interfejsu wiele czujników. Ten zapis poprowadzi Cię w odległości pomiaru za pomocą ESP32 z czujnikiem HC-SR04.

ESP32 z czujnikiem ultradźwiękowym HC-SR04 za pomocą mikropytonu

Interfejs ESP32 z ultradźwiękiem wymaga tylko dwóch przewodów do podłączenia. Korzystając z czujników ultradźwiękowych, możemy mierzyć odległość obiektu i możemy wywołać odpowiedzi na podstawie tego systemu, takie jak systemy unikania kolizji pojazdu.

Za pomocą Micropython, który jest zaprojektowanym językiem dla ESP32 i innych mikrokontrolerów, możemy połączyć wiele czujników, takich jak HC-SR04. Zostanie zapisane kod mikropython, który oblicza czas potrzebny przez fala sonar. Później za pomocą wzoru odległości możemy obliczyć odległość obiektu.

Oto kilka głównych atrakcji czujnika HC-SR04:

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 PinoutHC-SR04 zawiera następujące cztery PINS:

  • VCC: Połącz się z pinem ESP32 VIN
  • GND: Połącz się z GND
  • Wymuskany: PIN do odbierania sygnału sterowania z płyty ESP32
  • Echo: Odślij sygnał. Płyta mikrokontrolera odbiera ten sygnał do obliczenia odległości za pomocą czasu

Jak działa ultradźwiękowe

Po połączeniu czujnika HC-SR04 z sygnałem ESP32 A w Wymuskany PIN zostanie wygenerowany przez planszę. Po otrzymaniu sygnału przy trygu pin czujnika HC-SR04 wygenerowana zostanie fala ultradźwiękowa, która pozostawia czujnik i uderzy w ciało lub korpus przeszkód. Po trafieniu odbije się z powrotem na powierzchnię obiektu.

Gdy fala odbijana sięgnie z powrotem do końca czujnika odbierającego, zostanie wygenerowany impuls sygnału przy pinie echa. ESP32 odbiera sygnał pin echo i oblicza odległość między obiektem a czujnikiem za pomocą Formula odległości.

Całkowita odległość obliczona powinna być podzielona przez dwa wewnątrz kodu ESP32, ponieważ odległość, którą otrzymujemy pierwotnie, jest równa całkowita odległość od czujnika do obiektu i z powrotem do końca czujnika. Tak naprawdę realna odległość to sygnał, który jest równy połowy tej odległości.

Schematyczny

Poniżej znajduje się schemat interfejsu ESP32 z czujnikiem ultradźwiękowym:

Podłącz spust i echo czujnika odpowiednio z GPIO 5 i GPIO 18 ESP32. Podłącz także ESP32 GND i VIN PIN za pomocą pinów czujników.

Czujnik ultradźwiękowy HC-SR04 Pin ESP32
Wymuskany GPIO 5
Echo GPIO 18
GND GND
VCC Vin

Sprzęt komputerowy

Następujące elementy są wymagane do zaprogramowania czujnika ultradźwiękowego:

  • ESP32
  • HC-SR04
  • Tablica chleba
  • Przewody zworki

Jak skonfigurować ultradźwiękowy HC-SR04 z ESP32 za pomocą mikropythonu

Zanim będziemy mogli zaprogramować ESP32 z czujnikiem ultradźwiękowym, musimy zainstalować w nim bibliotekę. Podłącz płytę ESP32 do komputera. Wykonaj kroki, aby zakończyć konfigurację ESP32 za pomocą czujnika ultradźwiękowego w Thonny IDE za pomocą Micropython.

Krok 1: Teraz otwórz Thonny Ide. Utwórz nowy plik w oknie edytora: Plik> nowy lub naciśnij Ctrl + N.

Po otwarciu nowego pliku wklej następujący kod do okna edytora Thonny IDE.

Maszyna importowa, czas
Z PIN importu maszyny
Klasa HCSR04:
# echo_timeout_us jest oparty na limicie zakresu chipów (400 cm)
def __init __ (self, Trigger_pin, echo_pin, echo_timeout_us = 500*2*30):
samego siebie.echo_timeout_us = echo_timeout_us
# Init Trigger Pin (out)
samego siebie.Trigger = pin (Trigger_pin, tryb = pin.Out, Pull = Brak)
samego siebie.spust.wartość (0)
# Init echo pin (in)
samego siebie.echo = pin (echo_pin, tryb = pin.In, Pull = Brak)
def _send_pulse_and_wait (self):
samego siebie.spust.wartość (0) # stabilizuj czujnik
czas.sleep_us (5)
samego siebie.spust.wartość (1)
# Wyślij puls 10us.
czas.sleep_us (10)
samego siebie.spust.wartość (0)
próbować:
pulse_time = maszyna.time_pulse_us (self.Echo, 1, jaźń.echo_timeout_us)
zwróć pulse_time
Z wyjątkiem Oserror jako np.:
Jeśli ex.args [0] == 110: # 110 = etimedout
Raise Oserror („poza zasięgiem”)
podnieś ex
def odległość_mm (self):
pulse_time = self._Send_pulse_and_wait ()
mm = pulse_time * 100 // 582
zwrot MM
def dystans_cm (self):
pulse_time = self._Send_pulse_and_wait ()
cms = (pulse_time / 2) / 29.1
zwróć CMS

Krok 2: Po napisaniu biblioteka Kod w oknie edytora, teraz musimy go zapisać wewnątrz urządzenia Micropython.

Krok 3: Iść do: Plik> Zapisz lub naciśnij Ctrl + s.

Krok 4: Pojawi się nowe okno. Upewnij się, że ESP32 jest połączony z komputerem. Wybierz urządzenie Micropython, aby zapisać plik biblioteki.

Krok 5: Zapisz plik biblioteki ultradźwiękowej pod nazwą HCSR04.py i kliknij OK.

Teraz ultradźwiękowa biblioteka czujników HCSR04 jest pomyślnie dodana do płyty ESP32. Teraz możemy wywołać funkcje biblioteczne w kodzie, aby mierzyć odległość różnych obiektów.

Kod czujnika ultradźwiękowego za pomocą mikropytonu

Dla ultradźwiękowego kodu czujnika utwórz nowy plik (Ctrl + N). W oknie edytora wprowadź kod podany poniżej i zapisz go wewnątrz główny.py Lub uruchomić.py plik. Ten kod wydrukuje odległość każdego obiektu, który pojawi się przed HC-SR04.

Kod rozpoczął się od wywołania ważnych bibliotek, takich jak HCSR04 I czas biblioteka wraz z spać Aby udzielić opóźnień.

Następnie utworzyliśmy nowy obiekt o imieniu czujnik. Ten obiekt przyjmuje trzy różne argumenty: spust, echo i limit czasu. Tutaj limit czasu jest zdefiniowana jako maksymalny czas po zejdzie z zasięgu czujnika.

Sensor = hcsr04 (Trigger_pin = 5, echo_pin = 18, echo_timeout_us = 10000)

Do pomiaru i oszczędzania odległości Nowy obiekt wymieniony dystans jest tworzone. Ten obiekt pozwoli zaoszczędzić odległość w CM.

odległość = czujnik.dystans_cm ()

Napisz następujący kod, aby uzyskać dane w MM.

odległość = czujnik.dystans_mm ()

Następnie wydrukowaliśmy wynik na Micropython IDE Shell.

Drukuj („odległość:”, odległość, „cm”)

Ostatecznie podano opóźnienie 1 sekund.

sen (1)

Kompletny kod podano poniżej:

z HCSR04 Import HCSR04
Od czasu importuj sen
# Esp32
Sensor = hcsr04 (Trigger_pin = 5, echo_pin = 18, echo_timeout_us = 10000)
# ESP8266
#sensor = hcsr04 (Trigger_pin = 12, echo_pin = 14, echo_timeout_us = 10000)
Choć prawda:
odległość = czujnik.dystans_cm ()
Drukuj („odległość:”, odległość, „cm”)
sen (1)

Po napisaniu i zapisaniu kodu w urządzeniu Micropython, teraz uruchamiam czujnik ultradźwiękowy główny.py kod pliku. Kliknij przycisk odtwarzania lub naciśnij F5.

Wyjście czujnika ultradźwiękowego, gdy obiekt jest blisko

Teraz umieść obiekt w pobliżu czujnika ultradźwiękowego i sprawdź zmierzoną odległość w oknie monitora szeregowego Arduino IDE.

Odległość obiektu jest pokazana w terminalu Shell. Teraz obiekt jest umieszczony na 5 cm od czujnika ultradźwiękowego.

Wyjście czujnika ultradźwiękowego, gdy 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:

Okno wyjściowe da nam nową odległość i jak widzimy, że obiekt jest daleko od czujnika, więc zmierzona odległość wynosi ok. 15 cm z czujnika ultradźwiękowego.

Wniosek

Mierzenie odległości ma świetną aplikację, jeśli chodzi o robotykę i inne projekty, istnieją różne sposoby pomiaru odległości. HC-SR04 z ESP32 może mierzyć odległość różnych obiektów. Tutaj ten zapis obejmie wszystkie kroki, które należy zintegrować i rozpocząć odległość z ESP32.