MicroPython HC-SR04 ultraskaņas sensors – ESP32 un Thonny IDE

Micropython Hc Sr04 Ultraskanas Sensors Esp32 Un Thonny Ide



MicroPython tiek plaši izmantots ar mikrokontrolleriem un iegultajām sistēmām. Mēs varam ierakstīt kodu un bibliotēkas MicroPython IDE iekšienē un saskarties ar vairākiem sensoriem. Šis raksts palīdzēs jums izmērīt attālumu, izmantojot ESP32 ar HC-SR04 sensoru.

ESP32 ar HC-SR04 ultraskaņas sensoru, izmantojot MicroPython

Lai ESP32 savienotu ar ultraskaņu, ir jāpievieno tikai divi vadi. Izmantojot ultraskaņas sensorus, mēs varam izmērīt objekta attālumu un var izraisīt reakcijas, pamatojoties uz šo sistēmu, piemēram, transportlīdzekļu sadursmes novēršanas sistēmas.









Izmantojot MicroPython, kas ir izstrādāta valoda ESP32 un citiem mikrokontrolleriem, mēs varam saskarties ar vairākiem sensoriem, piemēram, HC-SR04 . Tiks uzrakstīts MicroPython kods, kas aprēķina laiku, kas nepieciešams SONAR viļņam, lai sasniegtu no sensora līdz objektam un atpakaļ uz objektu. Vēlāk, izmantojot attāluma formulu, mēs varam aprēķināt objekta attālumu.



Šeit ir daži galvenie HC-SR04 sensora elementi:





Raksturlielumi Vērtība
Darba spriegums 5V DC
Darba strāva 15mA
Darbības frekvence 40KHz
Mans diapazons 2 cm / 1 colla
Maksimālais diapazons 400 cm / 13 pēdas
Precizitāte 3 mm
Mērīšanas leņķis <15 grādi

HC-SR04 spraudnis HC-SR04 satur sekojošo četri tapas:

  • Vcc: Savienojiet ar ESP32 Vin tapu
  • Gnd: Pievienojieties GND
  • Trig: Pin, lai saņemtu vadības signālu no ESP32 plates
  • Atbalss: Sūtīt atpakaļ signālu. Mikrokontrollera panelis saņem šo signālu, lai aprēķinātu attālumu, izmantojot laiku



Kā darbojas ultraskaņa

Pēc HC-SR04 sensora pievienošanas ESP32 signāls pie Trig tapu ģenerēs dēlis. Kad signāls tiek uztverts HC-SR04 sensora sprūda tapā, tiks ģenerēts ultraskaņas vilnis, kas atstāj sensoru un trāpīs objektam vai šķēršļa ķermenim. Pēc sitiena tas atlec atpakaļ uz objekta virsmu.

  Automātiski ģenerēts attēls ar tekstu Apraksts

Tiklīdz atstarotais vilnis sasniegs atpakaļ sensora uztveršanas galu, tiks ģenerēts signāla impulss atbalss tapā. ESP32 saņem atbalss tapas signālu un aprēķina attālumu starp objektu un sensoru, izmantojot Distance-Formula.

  Teksta apraksts tiek ģenerēts automātiski

Kopējais aprēķinātais attālums ESP32 kodā ir jādala ar divi, jo sākotnēji iegūtais attālums ir vienāds ar kopējo attālumu no sensora līdz objektam un atpakaļ līdz sensora uztveršanas galam. Tātad reālais attālums ir signāls, kas ir vienāds ar pusi no šī attāluma.

Shematisks

Tālāk ir sniegta shēma ESP32 savienošanai ar ultraskaņas sensoru:

  Attēls ar tekstu, elektronika Apraksts tiek ģenerēts automātiski

Savienojiet sensora sprūdu un atbalss tapu attiecīgi ar ESP32 GPIO 5 un GPIO 18. Pievienojiet arī ESP32 GND un Vin tapu ar sensora tapām.

Ultraskaņas sensors HC-SR04 ESP32 tapa
Trig GPIO 5
Atbalss GPIO 18
GND GND
VCC NĀC

Aparatūra

Lai programmētu ultraskaņas sensoru, ir nepieciešami šādi komponenti:

  • ESP32
  • HC-SR04
  • Maizes dēlis
  • Džemperu vadi

  Automātiski ģenerēts attēls ar tekstu Apraksts

Ultraskaņas HC-SR04 iestatīšana ar ESP32, izmantojot MicroPython

Lai mēs varētu ieprogrammēt ESP32 ar ultraskaņas sensoru, mums tajā jāinstalē bibliotēka. Pievienojiet ESP32 plati datoram. Veiciet norādītās darbības, lai pabeigtu ESP32 konfigurāciju ar ultraskaņas sensoru Thonny IDE, izmantojot MicroPython.

1. darbība: Tagad atveriet Thonny IDE. Izveidojiet jaunu failu redaktora logā Iet uz : Fails> Jauns vai nospiediet Ctrl+N .

Kad jaunais fails ir atvērts, ielīmējiet šo kodu Thonny IDE redaktora logā.

imports mašīna , laiks
no mašīna imports Piespraust

klasē HCSR04:

# echo_timeout_us ir balstīts uz mikroshēmu diapazona ierobežojumu (400 cm)
def __karsts__ ( sevi , trigger_pin , echo_pin , echo_timeout_us = 500 * divi * 30 ) :

sevi . echo_timeout_us = echo_timeout_us
# Iesākt sprūda tapa (ārā)
sevi . sprūda = Piespraust ( trigger_pin , režīmā = Piespraust. ĀRĀ , velciet = Nav )
sevi . sprūda . vērtību ( 0 )

# Init echo pin (in)
sevi . atbalss = Piespraust ( echo_pin , režīmā = Piespraust. IN , velciet = Nav )

def _nosūtīt_pulsu_un_gaidīt ( sevi ) :

sevi . sprūda . vērtību ( 0 ) # Stabilizējiet sensoru
laiks . gulēt_mums ( 5 )
sevi . sprūda . vērtību ( 1 )
# Nosūtiet 10 us impulsu.
laiks . gulēt_mums ( 10 )
sevi . sprūda . vērtību ( 0 )
mēģināt :
pulsa_laiks = mašīna. laiks_pulse_us ( sevi . atbalss , 1 , sevi . echo_timeout_us )
atgriezties pulsa_laiks
izņemot OSERror piem.:
ja piem. args [ 0 ] == 110 : # 110 = LAIKĀ
paaugstināt OSERror ( 'ārpus diapazona' )
paaugstināt piem

def attālums_mm ( sevi ) :

pulsa_laiks = sevi ._send_pulse_and_wait ( )

mm = pulsa_laiks* 100 // 582
atgriezties mm

def attālums_cm ( sevi ) :

pulsa_laiks = sevi ._send_pulse_and_wait ( )

cms = ( pulsa_laiks / divi ) / 29.1
atgriezties cms

2. darbība: Pēc rakstīšanas bibliotēka kods redaktora logā, tagad mums tas ir jāsaglabā MicroPython ierīcē.

  Teksts, aplikācija Apraksts ģenerēts automātiski

3. darbība: Iet uz : Fails> Saglabāt vai nospiediet Ctrl+S .

  Automātiski ģenerēts grafiskais lietotāja interfeiss, lietojumprogramma, Teams apraksts

4. darbība: Parādīsies jauns logs. Pārliecinieties, vai ESP32 ir savienots ar datoru. Atlasiet MicroPython ierīci, lai saglabātu bibliotēkas failu.

  Grafiskais lietotāja interfeiss, lietojumprogrammas apraksts automātiski ģenerēts

5. darbība: Saglabājiet ultraskaņas bibliotēkas failu ar nosaukumu hcsr04.py un noklikšķiniet labi .

  Grafiskais lietotāja interfeiss, lietojumprogrammas apraksts automātiski ģenerēts

Tagad ultraskaņas hcsr04 sensoru bibliotēka ir veiksmīgi pievienota ESP32 platei. Tagad mēs varam izsaukt bibliotēkas funkcijas kodā, lai izmērītu attālumu starp dažādiem objektiem.

Ultraskaņas sensora kods, izmantojot MicroPython

Ultraskaņas sensora kodam izveidojiet jaunu failu ( Ctrl+N ). Redaktora logā ievadiet tālāk norādīto kodu un saglabājiet to galvenais.py vai boot.py failu. Šis kods izdrukās attālumu līdz jebkuram objektam, kas atrodas HC-SR04 priekšā.

  Grafiskais lietotāja interfeiss, teksts, lietojumprogramma Apraksts tiek ģenerēts automātiski

Kods sākās, izsaucot svarīgas bibliotēkas, piemēram, HCSR04 un laiks bibliotēka kopā ar Gulēt dot kavēšanos.

Tālāk mēs izveidojām jaunu objektu ar nosaukumu sensors . Šis objekts izmanto trīs dažādus argumentus: trigeri, atbalsi un taimautu. Šeit taimauts ir definēts kā maksimālais laiks pēc tam, kad sensors iziet ārpus diapazona.

sensors = HCSR04 ( trigger_pin = 5 , echo_pin = 18 , echo_timeout_us = 10 000 )

Lai izmērītu un saglabātu attālumu, nosauc jaunu objektu attālums ir izveidots. Šis objekts ietaupīs attālumu cm.

attālums = sensors. attālums_cm ( )

Ierakstiet šādu kodu, lai iegūtu datus mm.

attālums = sensors. attālums_mm ( )

Pēc tam rezultātu izdrukājām MicroPython IDE apvalkā.

drukāt ( 'Attālums:' , attālums , 'cm' )

Beigās tiek dota 1 sekundes aizkave.

Gulēt ( 1 )

Pilns kods ir norādīts zemāk:

no hcsr04 imports HCSR04
no laiks imports Gulēt
# ESP32
sensors = HCSR04 ( trigger_pin = 5 , echo_pin = 18 , echo_timeout_us = 10 000 )
# ESP8266
#sensors = HCSR04 (trigger_pin=12, echo_pin=14, echo_timeout_us=10000)
kamēr Taisnība :
attālums = sensors. attālums_cm ( )
drukāt ( 'Attālums:' , attālums , 'cm' )
Gulēt ( 1 )

Pēc koda ierakstīšanas un saglabāšanas MicroPython ierīcē es tagad palaidu ultraskaņas sensoru galvenais.py faila kods. Noklikšķiniet uz atskaņošanas pogas vai nospiediet F5 .

  Grafiskais lietotāja interfeiss, teksts, lietojumprogramma, tērzēšana vai īsziņa Apraksts tiek ģenerēts automātiski

Ultraskaņas sensora izvade, kad objekts ir tuvu

Tagad novietojiet objektu netālu no ultraskaņas sensora un pārbaudiet izmērīto attālumu Arduino IDE sērijas monitora logā.

  Automātiski ģenerēts attēls ar tekstu Apraksts

Objekta attālums tiek parādīts čaulas terminālī. Tagad objekts ir novietots 5 cm attālumā no ultraskaņas sensora.

Ultraskaņas sensora izvade, kad objekts atrodas tālu

Tagad, lai pārbaudītu rezultātu, mēs novietosim objektus tālu no sensora un pārbaudīsim ultraskaņas sensora darbību. Novietojiet objektus, kā parādīts attēlā zemāk:

  Automātiski ģenerēts attēls ar tekstu Apraksts

Izvades logs dos mums jaunu attālumu un, kā redzams objekts atrodas tālu no sensora, tātad izmērītais attālums ir apm. 15 cm attālumā no ultraskaņas sensora.

  Grafiskais lietotāja interfeiss, lietojumprogramma, Word apraksts tiek automātiski ģenerēts

Secinājums

Attāluma mērīšanai ir lielisks pielietojums, kad runa ir par robotiku un citiem projektiem, ir dažādi veidi, kā mērīt attālumu. HC-SR04 ar ESP32 var izmērīt dažādu objektu attālumu. Šeit šis raksts aptvers visas darbības, kas jāveic, lai integrētu un sāktu mērīt attālumu ar ESP32.