Vaarika Pi

Kuidas mõõta Vaarika Pi kaugust

Kuidas mõõta Vaarika Pi kaugust
Raspberry Pi ultrahelianduri HC-SR04 abil saate mõõta kaugust. HC-SR04 andur suudab mõõta kaugust 2 mm (.02m) kuni 400cm (4m). See saadab 8 pursket 40KHz signaaliga ja ootab siis, kui see objekti tabab ja tagasi peegeldub. Anduri ja teel oleva objekti vahelise kauguse arvutamiseks kasutatakse aega, mis kulub ultraheli 40KHz helilaine edasi-tagasi liikumiseks. Põhimõtteliselt töötab nii HC-SR04 andur.

Selles artiklis näitan teile, kuidas kasutada ultraviolettandurit HC-SR04 anduri ja objekti vahelise kauguse mõõtmiseks Raspberry Pi abil. Alustame.

Vajalikud komponendid:

Raspberry Pi ja HC-SR04 sensoriga kauguse edukaks mõõtmiseks on vaja,

Olen kirjutanud spetsiaalse artikli Raspbian'i installimise kohta Raspberry Pi-sse, mida saate kontrollida aadressil https: // linuxhint.com / install_raspbian_raspberry_pi / kui vaja.

HC-SR04 kinnitusdetailid:

HC-SR04-l on 4 tihvti. VCC, TRIGGER, ECHO, GROUD.

Joonis 1: HC-SR04 kinnitusdetailid (https: // www.hiir.com / ds / 2/813 / HCSR04-1022824.pdf)

VCC tihvt peaks olema ühendatud Raspberry Pi + 5V tihvtiga, milleks on tihvt 2. MAA tihvt peaks olema ühendatud Raspberry Pi GND tihvtiga, milleks on tihvt 4.

TRIGGER ja ECHO tihvtid peaksid olema ühendatud Raspberry Pi GPIO tihvtidega. Kui TRIGGER-tihvti saab otse ühendada ühe Raspberry Pi ühe GPIO-tihvtiga, vajab ECHO-tihvt pingejaguri ahelat.

Vooluringi skeem:

Ühendage ultraheliandur HC-SR04 oma Raspberry Pi-ga järgmiselt:

Joonis 2: Raspberry Pi-ga ühendatud ultraheliandur HC-SR04.

Kui kõik on ühendatud, näeb see välja järgmine:

Joonis 3: HC-SR04 ultraheliandur, mis on ühendatud Raspberry Pi-ga leivaplaadil.

Joonis 4: HC-SR04 ultraheliandur, mis on ühendatud Raspberry Pi-ga leivalaual.

Pythoni programmi kirjutamine kauguse mõõtmiseks HC-SR04 abil:

Kõigepealt ühendage oma Raspberry Pi, kasutades VNC või SSH-d. Seejärel avage uus fail (ütleme nii, et kaugus.py) ja sisestage järgmised koodiread:

Siin imporditakse 1. rida vaarika pi GPIO teeki.

2. rida impordib ajaraamatukogu.

Toas proovige plokk, kirjutatakse tegelikult HC-SR04 abil kauguse mõõtmise kood.

The lõpuks plokki kasutatakse GPIO tihvtide puhastamiseks GPIO.korista ära() meetod, kui programm väljub.

Toas proovige plokk, real 5, GPIO.seatud režiim (GPIO.HALLITUS) kasutatakse tihvtide määratlemise lihtsustamiseks. Nüüd saate tihvtidele viidata füüsiliste numbrite järgi, nagu see on Raspberry Pi pardal.

7. ja 8. liinil, pinTrigger on seatud väärtusele 7 ja pinEcho on seatud väärtusele 11. The TRIGGER HC-SR04 tihvt on ühendatud tihvtiga 7 ja ECHO HC-SR04 tihvt on ühendatud Rapsberry Pi tihvtiga 11. Mõlemad on GPIO tihvtid.

10. rida, pinTrigger on seadistatud väljundi OUTPUT jaoks GPIO.seadistamine () meetod.

11. liinil, pinEcho on seadistatud INPUT jaoks GPIO.seadistamine () meetod.

Ridasid 13–17 kasutatakse lähtestamiseks pinTrigger (seades selle loogikale 0) ja pinTrigger loogikale 1 10 ms ja seejärel loogikale 0. 10 ms pärast saadab HC-SR04 andur 8 40KHz impulsi.

Liinide 19–24 abil mõõdetakse aega, mis kulub 40KHz impulsside peegeldamiseks objektile ja tagasi HC-SR04 andurile.

Liinil 25 mõõdetakse kaugus valemi abil,

Kaugus = delta aeg * kiirus (340M / S) / 2

=> Kaugus = delta aeg * (170M / S)

Arvutasin kauguse meetrite asemel sentimeetrites, et olla täpne. Arvutasin, et vahemaa on ka ümardatud kahe kümnendkohani.

Lõpuks real 27 trükitakse tulemus. See on kõik, väga lihtne.

Nüüd käivitage Pythoni skript järgmise käsuga:

$ python3 kaugus.py

Nagu näete, on mõõdetud vahemaa 8.40 cm.

Joonis 5: objekt paigutatud umbes 8-ni.Andurist 40 cm kaugusel.

Kolisin objektile natuke kaugemale, mõõdetud vahemaa on 21.81cm. Niisiis, see töötab ootuspäraselt.

Joonis 6: umbes 21-le asetatud objekt.Sensorist 81 cm kaugusel.

Nii mõõdad Raspberry Pi abil ultrahelianduri abil HC-SR04 kaugust.  Vaadake kauguse koodi.py allpool:

impordi RPi.GPIO kui GPIO
impordiaeg
proovige:
GPIO.seatud režiim (GPIO.HALLITUS)
pinTrigger = 7
pinEcho = 11
 
GPIO.seadistamine (pinTrigger, GPIO.OUT)
GPIO.seadistamine (pinEcho, GPIO.IN)
 
GPIO.väljund (pinTrigger, GPIO.MADAL)
GPIO.väljund (pinTrigger, GPIO.KÕRGE)
 
aeg.uni (0.00001)
GPIO.väljund (pinTrigger, GPIO.MADAL)
 
GPIO ajal.sisend (pinEcho) == 0:
pulseStartTime = aeg.aeg ()
GPIO ajal.sisend (pinEcho) == 1:
pulseEndTime = aeg.aeg ()
 
pulseDuration = pulseEndTime - pulseStartTime
kaugus = ümmargune (impulsi kestus * 17150, 2)
 
print ("Kaugus:%.2f cm "% (kaugus)
lõpuks:
GPIO.korista ära()
WinMouse võimaldab teil kohandada ja parandada hiirekursori liikumist Windowsi arvutis
Kui soovite oma hiirekursori vaikefunktsioone paremaks muuta, kasutage vabavara WinMouse. See lisab rohkem funktsioone, mis aitavad teil alandlikust h...
Hiire vasakklõps nupp ei tööta Windows 10-s
Kui kasutate oma sülearvuti või lauaarvutiga spetsiaalset hiirt, kuid hiire vasakklõps nupp ei tööta mingil põhjusel operatsioonisüsteemis Windows 10/...
Kursor hüppab või liigub juhuslikult Windows 10-s kirjutamise ajal
Kui leiate, et hiire kursor hüppab või liigub Windowsi sülearvutisse või arvutisse kirjutades automaatselt, juhuslikult, võivad mõned neist soovituste...