Pai raspberi

Cara Mengukur Jarak dengan Raspberry Pi

Cara Mengukur Jarak dengan Raspberry Pi
Anda boleh mengukur jarak menggunakan sensor ultrasonik HC-SR04 dengan Raspberry Pi. Sensor HC-SR04 dapat mengukur jarak dari 2mm (.02m) hingga 400cm (4m). Ia menghantar 8 ledakan isyarat 40KHz dan kemudian menunggu untuk memukul objek dan dipantulkan kembali. Masa yang diperlukan untuk gelombang suara ultrasonik 40KHz bergerak berulang-alik digunakan untuk mengira jarak antara sensor dan objek dalam perjalanannya. Itulah asasnya bagaimana sensor HC-SR04 berfungsi.

Dalam artikel ini, saya akan menunjukkan kepada anda bagaimana menggunakan sensor ultrasonik HC-SR04 untuk mengukur jarak antara sensor anda dan objek dengan menggunakan Raspberry Pi. Mari kita mulakan.

Komponen yang Anda Perlu:

Untuk berjaya mengukur jarak dengan sensor Raspberry Pi dan HC-SR04, anda memerlukannya,

Saya telah menulis artikel khusus untuk memasang Raspbian di Raspberry Pi, yang boleh anda periksa di https: // linuxhint.com / install_raspbian_raspberry_pi / jika anda memerlukan.

Pinout HC-SR04:

HC-SR04 mempunyai 4 pin. VCC, TRIGGER, ECHO, GROUD.

Gamb1: pin HC-SR04 (https: // www.pengembara.com / ds / 2/813 / HCSR04-1022824.pdf)

Pin VCC harus disambungkan ke pin + 5V pada Raspberry Pi, iaitu pin 2. Pin GROUND harus disambungkan ke pin GND dari Raspberry Pi, yang merupakan pin 4.

Pin TRIGGER dan ECHO harus disambungkan ke pin GPIO Raspberry Pi. Sementara, pin TRIGGER dapat disambungkan secara langsung ke salah satu pin GPIO dari Raspberry Pi, pin ECHO memerlukan litar pembahagi voltan.

Rajah Litar:

Sambungkan sensor ultrasonik HC-SR04 ke Raspberry Pi anda seperti berikut:

Gamb2: Sensor ultrasonik HC-SR04 disambungkan ke Raspberry Pi.

Setelah semuanya bersambung, begitulah rupa:

Gambar 3: Sensor ultrasonik HC-SR04 disambungkan ke Raspberry Pi di papan roti.

Gamb4: Sensor ultrasonik HC-SR04 disambungkan ke Raspberry Pi di papan roti.

Menulis Program Python untuk Mengukur Jarak dengan HC-SR04:

Pertama, sambungkan ke Raspberry Pi anda menggunakan VNC atau SSH. Kemudian, buka fail baru (katakan jarak.py) dan taipkan baris kod berikut:

Di sini, barisan 1 mengimport perpustakaan GPIO raspberry pi.

Baris 2 mengimport perpustakaan masa.

Di dalam cuba blok, kod sebenarnya untuk mengukur jarak menggunakan HC-SR04 ditulis.

The akhirnya blok digunakan untuk membersihkan pin GPIO dengan GPIO.bersihkan() kaedah semasa program keluar.

Di dalam cuba blok, pada baris 5, GPIO.setmode (GPIO.DEWAN) digunakan untuk menjadikan pin penentu lebih mudah. Sekarang, anda boleh merujuk pin dengan nombor fizikal seperti yang terdapat di papan Raspberry Pi.

Pada baris 7 dan 8, pinTrigger ditetapkan ke 7 dan pinEcho ditetapkan ke 11. The PEMANDU pin HC-SR04 disambungkan ke pin 7, dan ECHO pin HC-SR04 disambungkan ke pin 11 dari Rapsberry Pi. Kedua-dua ini adalah pin GPIO.

Pada baris 10, pinTrigger disediakan untuk penggunaan OUTPUT GPIO.persediaan () kaedah.

Pada baris 11, pinEcho disediakan untuk penggunaan INPUT GPIO.persediaan () kaedah.

Garis 13-17 digunakan untuk menetapkan semula pinTrigger (dengan menetapkannya ke logik 0) dan menetapkan pinTrigger ke logik 1 selama 10ms dan kemudian ke logik 0. Dalam 10ms, sensor HC-SR04 menghantar 8 denyut 40KHz.

Garis 19-24 digunakan untuk mengukur waktu yang diperlukan agar denyutan 40KHz dipantulkan ke objek dan kembali ke sensor HC-SR04.

Pada baris 25, jarak diukur menggunakan formula,

Jarak = masa delta * halaju (340M / S) / 2

=> Jarak = masa delta * (170M / S)

Saya mengira jarak dalam sentimeter dan bukannya meter, tepat. Saya mengira jarak juga dibundarkan kepada 2 tempat perpuluhan.

Akhirnya, pada baris 27, hasilnya dicetak. Itu sahaja, sangat mudah.

Sekarang, jalankan skrip Python dengan arahan berikut:

$ python3 jarak.py

Seperti yang anda lihat, jarak yang diukur adalah 8.40 sm.

Rajah5: objek diletakkan pada jarak kira-kira 8.40cm dari sensor.

Saya bergerak ke objek sedikit lebih jauh, jarak yang diukur adalah 21.81cm. Jadi, ia berfungsi seperti yang diharapkan.

Rajah 6: objek diletakkan pada kira-kira 21.81 cm dari sensor.

Oleh itu, anda mengukur jarak dengan Raspberry Pi menggunakan sensor ultrasonik HC-SR04.  Lihat kod untuk jarak.py di bawah:

mengimport RPi.GPIO sebagai GPIO
masa import
cuba:
GPIO.setmode (GPIO.DEWAN)
pinTrigger = 7
pinEcho = 11
 
GPIO.persediaan (pinTrigger, GPIO.KELUAR)
GPIO.persediaan (pinEcho, GPIO.DALAM)
 
GPIO.output (pinTrigger, GPIO.RENDAH)
GPIO.output (pinTrigger, GPIO.TINGGI)
 
masa.tidur (0.00001)
GPIO.output (pinTrigger, GPIO.RENDAH)
 
semasa GPIO.input (pinEcho) == 0:
nadiStartTime = masa.masa()
semasa GPIO.input (pinEcho) == 1:
nadiEndTime = masa.masa()
 
pulseDuration = pulseEndTime - pulseStartTime
jarak = bulat (denyut nadi * 17150, 2)
 
cetak ("Jarak:%.2f cm "% (jarak))
akhirnya:
GPIO.bersihkan()
Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...
Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...