MicroPython HC-SR04 ultrahangos érzékelő – ESP32 és Thonny IDE

Micropython Hc Sr04 Ultrahangos Erzekelo Esp32 Es Thonny Ide



A MicroPythont széles körben használják mikrokontrollerekkel és beágyazott rendszerekkel. Kódot és könyvtárakat írhatunk a MicroPython IDE-be, és több érzékelőt is csatlakoztathatunk. Ez az írás elvezeti Önt a távolságméréshez az ESP32 HC-SR04 érzékelővel.

ESP32 HC-SR04 ultrahangos érzékelővel MicroPython használatával

Az ESP32 ultrahangos interfészéhez mindössze két vezetékre van szükség. Ultrahangos szenzorok segítségével meg tudjuk mérni a tárgyak távolságát, és ezen a rendszeren alapuló válaszokat, például járműütközést elkerülő rendszereket válthatunk ki.









A MicroPython használatával, amely az ESP32 és más mikrokontrollerek számára tervezett nyelv, több érzékelőt, mint pl. HC-SR04 . A rendszer megírja a MicroPython kódot, amely kiszámítja azt az időt, amely alatt a SONAR hullám eljut az érzékelőtől az objektumig, majd vissza az objektumig. Később a távolságképlet segítségével kiszámíthatjuk a tárgytávolságot.



Íme a HC-SR04 érzékelő néhány főbb jellemzője:





Jellemzők Érték
Üzemi feszültség 5V DC
Üzemi áram 15 mA
Működési frekvencia 40 KHz
Saját tartomány 2 cm / 1 hüvelyk
Max hatótávolság 400 cm / 13 láb
Pontosság 3 mm
Mérési szög <15 fok

HC-SR04 kivezetés A HC-SR04 a következőket tartalmazza négy tűk:

  • Vcc: Csatlakoztassa az ESP32 Vin pin-hez
  • Gnd: Csatlakoztassa a GND-hez
  • Kerékkötő: Pin az ESP32 kártya vezérlőjelének fogadásához
  • Visszhang: Visszajelzés küldése. A Microcontroller Board fogadja ezt a jelet a távolság kiszámításához az idő alapján



Hogyan működik az ultrahang

Miután a HC-SR04 érzékelőt csatlakoztatta az ESP32-höz, egy jel a Kerékkötő pin generálódik a tábla. Amint a jel megérkezik a HC-SR04 érzékelő kioldó érintkezőjére, ultrahanghullám keletkezik, amely elhagyja az érzékelőt és eltalálja a tárgyat vagy az akadálytestet. Ütés után visszapattan a tárgy felületére.

  Leírás szöveget tartalmazó kép automatikusan generálva

Amint a visszavert hullám eléri az érzékelő vevő végét, jelimpulzus generálódik a visszhang tűn. Az ESP32 fogadja a visszhangjelet, és kiszámítja a távolságot az objektum és az érzékelő között Távolság-képlet.

  Leírás szöveg automatikusan generálva

A kiszámított teljes távolságot el kell osztani kettővel az ESP32 kódon belül, mivel az eredetileg kapott távolság megegyezik az érzékelőtől a tárgyig és az érzékelő vevővégéig visszafelé irányuló teljes távolsággal. Tehát a valós távolság az a jel, amely a távolság felével egyenlő.

Vázlatos

Az alábbiakban látható az ESP32 ultrahangos érzékelővel való összekapcsolásának vázlata:

  Szöveget tartalmazó kép, elektronika Leírás automatikusan generálva

Csatlakoztassa az érzékelő triggerét és visszhangját az ESP32 GPIO 5 és GPIO 18 csatlakozójához. Csatlakoztassa az ESP32 GND-t és a Vin-csapot is az érzékelőtűkkel.

HC-SR04 ultrahangos érzékelő ESP32 tű
Kerékkötő GPIO 5
Visszhang GPIO 18
GND GND
VCC JÖN

Hardver

Az ultrahangos érzékelő programozásához a következő összetevőkre van szükség:

  • ESP32
  • HC-SR04
  • Kenyértábla
  • Jumper vezetékek

  Leírás szöveget tartalmazó kép automatikusan generálva

Az Ultrasonic HC-SR04 beállítása ESP32-vel a MicroPython használatával

Mielőtt az ESP32-t ultrahangos érzékelővel programozhatnánk, egy könyvtárat kell telepítenünk benne. Csatlakoztassa az ESP32 kártyát a számítógéphez. Kövesse a lépéseket az ESP32 ultrahangos érzékelővel történő konfigurálásához a Thonny IDE-ben a MicroPython használatával.

1. lépés: Most nyissa meg a Thonny IDE-t. Hozzon létre egy új fájlt a szerkesztő ablakban Ugrás : Fájl>Új vagy nyomja meg Ctrl + N .

Az új fájl megnyitása után illessze be a következő kódot a Thonny IDE szerkesztő ablakába.

import gép , idő
tól től gép import Pin

osztály HCSR04:

# echo_timeout_us a chip hatótávolságon alapul (400 cm)
def __forró__ ( maga , trigger_pin , echo_pin , echo_timeout_us = 500 * két * 30 ) :

maga . echo_timeout_us = echo_timeout_us
# Init trigger pin (ki)
maga . ravaszt = Pin ( trigger_pin , mód = Pin. KI , Húzni = Egyik sem )
maga . ravaszt . érték ( 0 )

# Init echo pin (in)
maga . visszhang = Pin ( echo_pin , mód = Pin. BAN BEN , Húzni = Egyik sem )

def _send_pulse_and_wait ( maga ) :

maga . ravaszt . érték ( 0 ) # Stabilizálja az érzékelőt
idő . sleep_us ( 5 )
maga . ravaszt . érték ( 1 )
# Küldj egy 10 US impulzust.
idő . sleep_us ( 10 )
maga . ravaszt . érték ( 0 )
próbálja meg :
pulse_time = gép. time_pulse_us ( maga . visszhang , 1 , maga . echo_timeout_us )
Visszatérés pulse_time
kivéve OSEror mint volt:
ha volt. args [ 0 ] == 110 : # 110 = IDŐTARTÁS
emel OSEror ( 'Hatótávolságon kívül' )
emel volt

def távolság_mm ( maga ) :

pulse_time = maga ._send_pulse_and_wait ( )

mm = pulzusidő * 100 // 582
Visszatérés mm

def távolság_cm ( maga ) :

pulse_time = maga ._send_pulse_and_wait ( )

cms = ( pulse_time / két ) / 29.1
Visszatérés cms

2. lépés: Miután megírta a könyvtár kódot a szerkesztő ablakban, most el kell mentenünk a MicroPython eszközön.

  Szöveg, alkalmazás Leírás automatikusan generálva

3. lépés: Menj : Fájl>Mentés vagy nyomja meg Ctrl + S .

  Grafikus felhasználói felület, alkalmazás, Teams Leírás automatikusan generálva

4. lépés: Megjelenik egy új ablak. Győződjön meg arról, hogy az ESP32 csatlakoztatva van a számítógéphez. Válassza ki a MicroPython eszközt a könyvtárfájl mentéséhez.

  Grafikus felhasználói felület, alkalmazás Leírás automatikusan generálva

5. lépés: Mentse el az ultrahangos könyvtár fájlt névvel hcsr04.py és kattintson rendben .

  Grafikus felhasználói felület, alkalmazás Leírás automatikusan generálva

Az ultrahangos hcsr04 szenzorkönyvtár sikeresen hozzáadva az ESP32 kártyához. Most már meghívhatunk könyvtári függvényeket a kódon belül, hogy mérjük a különböző objektumok távolságát.

Ultrahangos érzékelő kódja MicroPython használatával

Az ultrahangos érzékelő kódjához hozzon létre egy új fájlt ( Ctrl + N ). A szerkesztő ablakban írja be az alábbi kódot, és mentse el a main.py vagy boot.py fájlt. Ez a kód kiírja a HC-SR04 elé kerülő objektumok távolságát.

  Grafikus felhasználói felület, szöveg, alkalmazás Leírás automatikusan generálva

A kód fontos könyvtárak hívásával kezdődött, mint pl HCSR04 és idő könyvtárral együtt alvás késéseket adni.

Ezután létrehoztunk egy új objektumot egy névvel érzékelő . Ez az objektum három különböző argumentumot vesz fel: trigger, echo és timeout. Itt az időtúllépés az a maximális idő, amely után az érzékelő tartományon kívülre kerül.

érzékelő = HCSR04 ( trigger_pin = 5 , echo_pin = 18 , echo_timeout_us = 10000 )

A távolság mérésére és mentésére egy új objektum néven távolság létrehozva. Ez az objektum távolságot takarít meg cm-ben.

távolság = érzékelő. távolság_cm ( )

Írja be a következő kódot, hogy mm-ben kapja meg az adatokat.

távolság = érzékelő. távolság_mm ( )

Ezután kinyomtattuk az eredményt a MicroPython IDE shellre.

nyomtatás ( 'Távolság:' , távolság , 'cm' )

A végén 1 másodperc késleltetést kap.

alvás ( 1 )

A teljes kód alább található:

tól től hcsr04 import HCSR04
tól től idő import alvás
# ESP32
érzékelő = HCSR04 ( trigger_pin = 5 , echo_pin = 18 , echo_timeout_us = 10000 )
# ESP8266
#sensor = HCSR04 (trigger_pin=12, echo_pin=14, echo_timeout_us=10000)
míg Igaz :
távolság = érzékelő. távolság_cm ( )
nyomtatás ( 'Távolság:' , távolság , 'cm' )
alvás ( 1 )

Miután megírtam és elmentettem a kódot a MicroPython eszközbe, most futtatom az ultrahangos érzékelőt main.py fájl kódja. Kattintson a lejátszás gombra, vagy nyomja meg F5 .

  Grafikus felhasználói felület, szöveg, alkalmazás, chat vagy szöveges üzenet Leírás automatikusan generálva

Ultrahangos érzékelő kimenete, ha tárgy közel van

Most helyezzen egy tárgyat az ultrahangos érzékelő közelébe, és ellenőrizze a mért távolságot az Arduino IDE soros monitor ablakán.

  Leírás szöveget tartalmazó kép automatikusan generálva

Az objektumok távolsága a shell terminálon látható. Most a tárgyat 5 cm-re helyezzük az ultrahangos érzékelőtől.

Ultrahangos érzékelő kimenete, ha az objektum távol van

Most, hogy ellenőrizzük az eredményt, az érzékelőtől távol helyezzük el a tárgyakat, és ellenőrizzük az ultrahangos érzékelő működését. Helyezze el az objektumokat az alábbi képen látható módon:

  Leírás szöveget tartalmazó kép automatikusan generálva

A kimeneti ablak új távolságot ad, és amint látjuk, hogy az objektum messze van az érzékelőtől, így a mért távolság kb. 15 cm-re az ultrahangos érzékelőtől.

  Grafikus felhasználói felület, alkalmazás, Word Leírás automatikusan generálva

Következtetés

A távolságmérés nagyszerűen alkalmazható, ha robotikáról és egyéb projektekről van szó, különböző módokon lehet mérni a távolságot. A HC-SR04 ESP32-vel képes mérni a különböző tárgyak távolságát. Ez a leírás lefedi az összes lépést, amelyre az integráláshoz és az ESP32-vel való távolságmérés megkezdéséhez szükséges.