Micropython er mye brukt med mikrokontrollere og innebygde systemer. Vi kan skrive kode og biblioteker i Micropython IDE og grensesnitt flere sensorer. Denne skrivingen vil guide deg på måleavstand ved hjelp av ESP32 med HC-SR04-sensor.
ESP32 med HC-SR04 Ultrasonic sensor ved bruk av mikropyton
Grensesnitt ESP32 med Ultrasonic krever bare at to ledninger kobles til. Ved hjelp av ultralydsensorer kan vi måle objektavstand og kan utløse responser basert på dette systemet som kjøretøykollisjon og unngå systemer.
Ved å bruke mikropyton som er et designet språk for ESP32 og andre mikrokontrollere kan vi grensesnitt flere sensorer som HC-SR04. Micropython -kode vil bli skrevet som beregner tiden som er tatt av ekkoloddbølgen for å nå fra sensor til objekt og tilbake til objekt. Senere ved å bruke avstandsformelen, kan vi beregne objektavstand.
Her er noen hovedhøydepunkter i HC-SR04-sensor:
Kjennetegn | Verdi |
Driftsspenning | 5V DC |
Driftsstrøm | 15MA |
Driftsfrekvens | 40kHz |
Min rekkevidde | 2 cm/ 1 tomme |
Maks rekkevidde | 400cm/ 13 fot |
Nøyaktighet | 3mm |
Målingsvinkel | <15 degree |
HC-SR04 PinoutHC-SR04 inneholder følgende fire pinner:
Hvordan ultralyd fungerer
Etter at HC-SR04-sensoren er koblet til ESP32 et signal ved Trig PIN vil bli generert av styret. Når signalet er mottatt ved trig-pinnen til HC-SR04-sensoren, vil det bli generert en ultralydbølge som etterlater sensoren og treffer objektet eller hindringskroppen. Etter å ha truffet den vil den sprette tilbake til objektoverflaten.
Når den reflekterte bølgen når tilbake til sensoren som mottar ende, vil en signalpuls ved Echo Pin genereres. ESP32 mottar Echo PIN -signalet og beregner avstand mellom objekt og sensor ved bruk av Avstandsforme.
Total avstand beregnet skal deles med to inne i ESP32 -koden da avstanden vi opprinnelig er lik total avstand fra sensor til objekt og tilbake til sensoren som mottar ende. Så ekte avstand er signalet som tilsvarer halvparten av den avstanden.
Skjematisk
Følgende er det skjemaet for grensesnitt ESP32 med ultralydsensor:
Koble triggeren og ekko -pinnen til sensoren med henholdsvis GPIO 5 og GPIO 18 av ESP32. Koble også til ESP32 GND og VIN PIN -kode med sensorpinner.
HC-SR04 Ultrasonic sensor | ESP32 PIN |
Trig | GPIO 5 |
Ekko | GPIO 18 |
GND | GND |
VCC | Vin |
Maskinvare
Følgende komponenter er pålagt å programmere ultralydsensor:
Hvordan sette opp ultralyd HC-SR04 med ESP32 ved bruk av mikropyton
Før vi kan programmere ESP32 med en ultralydsensor, må vi installere et bibliotek i det. Koble ESP32 -kortet til PCen. Følg trinnene for å fullføre ESP32 -konfigurasjon med ultralydsensor i Thonny IDE ved bruk av mikropyton.
Trinn 1: Nå åpner Thonny Ide. Opprett en ny fil i redigeringsvinduet Gå til: Fil> Ny eller trykk Ctrl + n.
Når den nye filen er åpnet, lim inn følgende kode i Thonny IDE -redigeringsvinduet.
Importmaskin, tidSteg 2: Etter å ha skrevet bibliotek Kode inne i redigeringsvinduet Nå må vi lagre den inne i Micropython -enheten.
Trinn 3: Gå til: Fil> Lagre eller trykk Ctrl + s.
Trinn 4: Et nytt vindu vises. Forsikre deg om at ESP32 er koblet til PCen. Velg Micropython -enhet for å lagre bibliotekfilen.
Trinn 5: Lagre Ultrasonic Library -filen med navn HCSR04.py og klikk Ok.
Nå blir Ultrasonic HCSR04 Sensor Library vellykket lagt til ESP32 -styret. Nå kan vi ringe bibliotekfunksjoner i kode for å måle avstanden til forskjellige objekter.
Kode for ultralydsensor ved bruk av mikropyton
For ultralydsensorkode opprett en ny fil (Ctrl + n). I redigeringsvinduet, skriv inn koden gitt nedenfor og lagre den inne i hoved-.py eller støvel.py fil. Denne koden vil skrive ut avstanden til ethvert objekt som kommer foran HC-SR04.
Kode startet med å ringe viktige biblioteker som for eksempel HCSR04 og tid bibliotek sammen med sove å gi forsinkelser.
Deretter opprettet vi et nytt objekt med et navn sensor. Dette objektet tar tre forskjellige argumenter: trigger, ekko og timeout. Her er timeout definert som maksimal tid etter at sensoren går utenfor rekkevidde.
sensor = hcsr04 (trigger_pin = 5, ekko_pin = 18, ekko_timeout_us = 10000)Å måle og lagre avstand et nytt objekt som heter avstand er skapt. Dette objektet vil spare avstand i CM.
avstand = sensor.Distance_cm ()Skriv følgende kode for å få data i MM.
avstand = sensor.Distance_mm ()Deretter trykket vi resultatet på Micropython IDE Shell.
trykk ('avstand:', avstand, 'cm')Til slutt er det gitt en forsinkelse på 1 sek.
søvn (1)Fullstendig kode er gitt nedenfor:
Fra HCSR04 import HCSR04Etter å ha skrevet og lagret kode inne i Micropython -enheten, kjører jeg nå Ultrasonic Sensor hoved-.py Filkode. Klikk på spillknappen eller trykk F5.
Utgang av ultralydsensor når objektet er i nærheten
Plasser nå et objekt i nærheten.
Objektavstand vises i skallterminalen. Nå er objektet plassert til 5 cm fra ultralydsensoren.
Utgang av ultralydsensor når objektet er langt
Nå for å bekrefte resultatet vårt, vil vi plassere objekter langt fra sensoren og sjekke arbeidet med den ultrasoniske sensoren. Plasser objekter som vist i bildet nedenfor:
Utgangsvinduet vil gi oss en ny avstand, og som vi kan se at objektet er langt fra sensoren, så den målte avstanden er ca. 15 cm fra ultralydsensoren.
Konklusjon
Målingsavstand har en flott anvendelse når det gjelder robotikk og andre prosjekter, det er forskjellige måter å måle avstand. HC-SR04 med ESP32 kan måle avstanden til forskjellige objekter. Her vil denne skrivingen dekke alle trinnene man trenger for å integrere og begynne å måle avstand med ESP32.