Isi kandungan:

Pencegahan Perlanggaran - Dikuasakan oleh Pi: 6 Langkah
Pencegahan Perlanggaran - Dikuasakan oleh Pi: 6 Langkah

Video: Pencegahan Perlanggaran - Dikuasakan oleh Pi: 6 Langkah

Video: Pencegahan Perlanggaran - Dikuasakan oleh Pi: 6 Langkah
Video: Anda di ancam paksa bayar hutang, lakukan ini | Langkah hukum 2024, November
Anonim
Pencegahan Perlanggaran - Dikuasakan oleh Pi
Pencegahan Perlanggaran - Dikuasakan oleh Pi

Instructable ini akan memberi anda panduan langkah demi langkah untuk pembinaan The Collision Prevention System. Untuk memulakan seseorang mesti mendapatkan senarai bahan berikut:

Raspberry PI 3 (dengan kuasa dan kord Ethernet), 1 Papan Sambungan GPIO dan Kabel Pita (GPIO), 1 Papan Roti Besar dengan rajah, 2 papan roti kecil dengan rajah, kabel jumper 14, perintang 3 220 Ohm, 1 RGB LED, 3 butang suis, Sensor ultrasonik 1HB-SR04

Langkah 1: Pelanjutan GPIO

Sambungan GPIO
Sambungan GPIO
Sambungan GPIO
Sambungan GPIO

Sambungkan papan sambungan GPIO ke papan roti besar. GPIO harus menghadap menegak sama seperti papan roti. Tetapkan sisi kiri GPIO ke port papan roti D1-D20 menggunakan rajah yang disediakan. Bahagian kanan kemudian akan bersambung ke H1-H20. Sambungkan kabel pita ke kedua-dua Raspberry Pi 3 dan papan sambungan GPIO. Seluruh komponen ini sekarang akan disebut sebagai papan GPIO (GPIO)

Langkah 2: Sensor Ultrasonik

Sensor Ultrasonik
Sensor Ultrasonik
Sensor Ultrasonik
Sensor Ultrasonik

Dengan menggunakan papan roti lain yang lebih kecil, sambungkan sensor ultrasonik HR-SR04 ke port papan roti yang lebih kecil A2-5 menggunakan rajah yang disediakan. Sambungkan kabel pelompat ke papan roti (BB) E2 yang lebih kecil, masukkan hujung yang lain di port papan sambungan GPIO J1. Dengan cara yang sama, sambungkan tiga lagi penerjun dengan cara berikut. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Langkah 3: LED dan Perintang

LED dan Perintang
LED dan Perintang
LED dan Perintang
LED dan Perintang
LED dan Perintang
LED dan Perintang

Pada papan roti kecil yang sama yang digunakan dalam arahan sebelumnya, sambungkan tiga perintang 220 ohm dengan cara berikut. (E10, H10) (E12, H12) (E14, H14) Kemudian sambungkan pelompat dari papan roti E13 yang sama ke landasan kuasa tanah pada papan GPIO. Sambungkan empat cabang LED ke port papan roti yang lebih kecil (B13) (D14) (D12) (D10). Kemudian sambungkan tiga penerjun dari papan roti yang lebih kecil ke papan GPIO mengikut cara yang ditetapkan. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Papan roti ini kini sudah lengkap.

Langkah 4: Tanah

Tanah
Tanah

Gunakan pelompat lain untuk menyambungkan papan GPIO J7 ke landasan kuasa bawah tanah.

Langkah 5: Butang

Butang
Butang

Dengan menggunakan papan roti kedua, letakkan bahagian atas suis butang pada port E1 dan D1, letakkan yang lain di E5 dan D5, dan yang ketiga di E9 dan D9. Sambungkan tiga pelompat dari rel kuasa positif pada papan GPIO ke port papan roti berikut (D3) (D7) (D11). Dengan menggunakan tiga lagi kabel pelompat, sambungkan papan roti ke papan pemanjangan GPIO di manor berikut: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Akhirnya, dengan menggunakan kabel pelompat terakhir, sambungkan GPIO A1 ke rel kuasa positif. Penyediaan fizikal kini selesai.

Langkah 6: Kod

Kod
Kod
Kod
Kod

Sambungkan kabel Ethernet dan kabel kuasa ke Pi dan ke kedudukan masing-masing. Buka MATLAB dan jalankan skrip berikut untuk memulakan pengawal mikro:

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

Kemudian salin dan tampal yang berikut ke dalam skrip baru, yang disebut Ping, untuk menjalankan sistem pencegahan perlanggaran:

fungsi dist = ping () trig = 19; gema = 13; ujian = 21; configurePin (rpi, trig, 'DigitalOutput'); configurePin (rpi, gema, 'DigitalInput'); configurePin (rpi, ujian, 'DigitalInput');

disp ("Pengukuran Jarak Sedang Berlangsung");

sambil menulis benarDigitalPin (rpi, trig, 0); disp ("Membiarkan sensor menetap"); berhenti seketika (2);

tulisDigitalPin (rpi, trig, 1); jeda (0.002); tulisDigitalPin (rpi, trig, 0);

sambil bacaDigitalPin (rpi, echo) == 0 hujung tic

sambil bacaDigitalPin (rpi, echo) == 1 T = toc; akhir

pulse_duration = T; jarak = nadi_durasi * 17150;

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

Dalam skrip baru, jalankan kod bernama status berikut:

configurePin (rpi, 21, 'DigitalInput'); configurePin (rpi, 16, 'DigitalInput'); configurePin (rpi, 12, 'DigitalInput');

status = 2; d = 10; % Status: 0-Merah / Berhenti 1-Biru / Lambat 2-Hijau / Pergi berjalan = benar; semasa menjalankan% d = ping (); jika readDigitalPin (rpi, 21) == 1 status = 0; otherif readDigitalPin (rpi, 16) == 1 status = 1; otherif readDigitalPin (rpi, 12) == 1 status = 2; lain jika d

Disyorkan: