Daftar Isi:

Pencegahan Tabrakan- Didukung oleh Pi: 6 Langkah
Pencegahan Tabrakan- Didukung oleh Pi: 6 Langkah

Video: Pencegahan Tabrakan- Didukung oleh Pi: 6 Langkah

Video: Pencegahan Tabrakan- Didukung oleh Pi: 6 Langkah
Video: Ini cara bisa lihat hantu, bukan magic! #Shorts Nasya kaila nazifah 2024, November
Anonim
Pencegahan Tabrakan- Didukung oleh Pi
Pencegahan Tabrakan- Didukung oleh Pi

Instruksi ini akan memberi Anda panduan langkah demi langkah untuk membangun Sistem Pencegahan Tabrakan. Untuk memulai seseorang harus mendapatkan daftar bahan berikut:

Raspberry PI 3 (dengan akord daya dan Ethernet), 1 Papan Ekstensi GPIO dan Kabel Pita (GPIO), 1 Papan Tempat Memotong Roti Besar dengan diagram, 2 papan tempat memotong roti kecil dengan diagram, 14 kabel jumper, resistor 3 220 Ohm, 1 LED RGB, 3 sakelar tombol, Sensor ultrasonik 1HB-SR04

Langkah 1: Ekstensi GPIO

Ekstensi GPIO
Ekstensi GPIO
Ekstensi GPIO
Ekstensi GPIO

Hubungkan papan ekstensi GPIO ke papan tempat memotong roti besar. GPIO harus menghadap vertikal seperti papan tempat memotong roti. Tetapkan sisi kiri GPIO ke port papan tempat memotong roti D1-D20 menggunakan diagram yang disediakan. Sisi kanan kemudian akan terhubung ke H1-H20. Hubungkan kabel pita ke Raspberry Pi 3 dan papan ekstensi GPIO. Seluruh komponen ini sekarang akan disebut sebagai papan GPIO (GPIO)

Langkah 2: Sensor Ultrasonik

Sensor ultrasonik
Sensor ultrasonik
Sensor ultrasonik
Sensor ultrasonik

Menggunakan papan tempat memotong roti lain yang lebih kecil, sambungkan sensor ultrasonik HR-SR04 ke port papan tempat memotong roti yang lebih kecil A2-5 menggunakan diagram yang disediakan. Hubungkan kabel jumper ke papan tempat memotong roti (BB) E2 yang lebih kecil, masukkan ujung yang lain ke port papan ekstensi GPIO J1. Dengan cara yang sama, sambungkan tiga jumper lagi dengan cara berikut. (BB E3, GPIO B17) (BB E4, GPIO B18)(BB E5, GPIO B20)

Langkah 3: LED dan Resistor

LED dan Resistor
LED dan Resistor
LED dan Resistor
LED dan Resistor
LED dan Resistor
LED dan Resistor

Pada papan tempat memotong roti kecil yang sama yang digunakan dalam instruksi sebelumnya, sambungkan tiga resistor 220 ohm dengan cara berikut. (E10, H10)(E12, H12)(E14, H14) Kemudian sambungkan jumper dari papan tempat memotong roti yang sama E13 ke ground power rail pada papan GPIO. Hubungkan keempat cabang LED ke port papan tempat memotong roti yang lebih kecil (B13)(D14)(D12)(D10). Kemudian sambungkan tiga jumper dari papan tempat memotong roti yang lebih kecil ke papan GPIO dengan cara yang ditentukan. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Papan tempat memotong roti ini sekarang sudah selesai.

Langkah 4: Tanah

Tanah
Tanah

Gunakan jumper lain untuk menyambungkan board GPIO J7 ke rel daya arde.

Langkah 5: Tombol

Tombol
Tombol

Menggunakan papan tempat memotong roti kedua, tempatkan bagian atas sakelar tombol pada port E1 dan D1, tempatkan yang lain di E5 dan D5, dan yang ketiga di E9 dan D9. Hubungkan tiga jumper dari rel daya positif pada papan GPIO ke port papan tempat memotong roti berikut (D3) (D7) (D11). Dengan menggunakan tiga kabel jumper lagi, sambungkan papan tempat memotong roti ke papan ekstensi GPIO di manor berikut: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Terakhir, dengan menggunakan kabel jumper terakhir, sambungkan GPIO A1 ke rel daya positif. Pengaturan fisik sekarang selesai.

Langkah 6: Kode

Kode
Kode
Kode
Kode

Hubungkan kabel Ethernet dan kabel daya ke Pi dan ke posisinya masing-masing. Buka MATLAB dan jalankan skrip berikut untuk menginisialisasi mikrokontroler:

rpi = raspi('169.254.0.2', 'pi', 'raspberry');

Kemudian salin dan tempel berikut ini ke skrip baru, yang disebut Ping, untuk menjalankan sistem pencegahan tabrakan:

fungsi dist = ping() trigonometri = 19; gema = 13; tes = 21; configurePin(rpi, trigonometri, 'Output Digital'); configurePin(rpi, echo, 'Input Digital'); configurePin(rpi, tes, 'Input Digital');

disp("Pengukuran Jarak Sedang Berlangsung");

sedangkan true writeDigitalPin(rpi, trigonometri, 0); disp("Membiarkan sensor menetap"); jeda (2);

writeDigitalPin(rpi, trigonometri, 1); jeda (0,002); writeDigitalPin(rpi, trigonometri, 0);

saat membacaDigitalPin(rpi, echo) == 0 tic end

saat readDigitalPin(rpi, echo) == 1 T = toc; akhir

pulsa_durasi = T; jarak = pulse_duration * 17150;

buka = "Jarak = "; tutup = "cm"; string = [buka, jarak, tutup]; disp(string); jarak = jarak; akhir akhir

Dalam skrip baru, jalankan kode berikut bernama status:

configurePin(rpi, 21, 'Input Digital');configurePin(rpi, 16, 'Input Digital'); configurePin(rpi, 12, 'Input Digital');

status = 2; d = 10; %Status: 0-Merah/Berhenti 1-Biru/Lambat 2-Hijau/Lari = true; saat menjalankan %d = ping(); jika readDigitalPin(rpi, 21) == 1 status = 0; elseif readDigitalPin(rpi, 16) == 1 status = 1; elseif readDigitalPin(rpi, 12) == 1 status = 2; jika tidak

Direkomendasikan: