İçindekiler:

Çarpışma Önleme - Destekli Pi: 6 Adım
Çarpışma Önleme - Destekli Pi: 6 Adım

Video: Çarpışma Önleme - Destekli Pi: 6 Adım

Video: Çarpışma Önleme - Destekli Pi: 6 Adım
Video: Akıllı adamın hali başka❗️#kaza #crash 2024, Kasım
Anonim
Çarpışma Önleme - Pi tarafından desteklenmektedir
Çarpışma Önleme - Pi tarafından desteklenmektedir

Bu Eğitilebilir Tablo size Çarpışma Önleme Sisteminin inşası için adım adım bir kılavuz verecektir. Başlamak için aşağıdaki malzeme listesini edinmeniz gerekir:

Raspberry PI 3 (güç ve Ethernet akorları ile), 1 GPIO Uzatma Kartı ve Şerit Kablo (GPIO), Diyagramlı 1 Büyük Breadboard, diyagramlı 2 küçük breadboard, 14 jumper kablo, 3 220 Ohm direnç, 1 RGB LED, 3 buton anahtarı, 1HB-SR04 Ultrasonik sensör

1. Adım: GPIO Uzantısı

GPIO Uzantısı
GPIO Uzantısı
GPIO Uzantısı
GPIO Uzantısı

GPIO uzatma kartını büyük devre tahtasına bağlayın. GPIO, devre tahtası gibi dikey bakmalıdır. Sağlanan şemayı kullanarak GPIO'nun sol tarafını D1-D20 devre tahtası bağlantı noktalarına atayın. Sağ taraf daha sonra H1-H20'ye bağlanır. Şerit kabloyu hem Raspberry Pi 3'e hem de GPIO uzatma kartına bağlayın. Bu bileşenin tamamı artık GPIO kartı (GPIO) olarak anılacaktır.

Adım 2: Ultrasonik Sensör

Ultrasonik sensör
Ultrasonik sensör
Ultrasonik sensör
Ultrasonik sensör

Daha küçük bir devre tahtası kullanarak, sağlanan şemayı kullanarak HR-SR04 ultrasonik sensörünü daha küçük devre tahtası bağlantı noktaları A2-5'e bağlayın. Daha küçük devre tahtasına (BB) E2 bir atlama kablosu bağlayın, diğer ucunu GPIO uzatma kartı bağlantı noktası J1'e takın. Aynı şekilde, aşağıdaki şekilde üç jumper daha bağlayın. (BB E3, GPIO B17) (BB E4, GPIO B18)(BB E5, GPIO B20)

Adım 3: LED ve Dirençler

LED ve Dirençler
LED ve Dirençler
LED ve Dirençler
LED ve Dirençler
LED ve Dirençler
LED ve Dirençler

Önceki talimatta kullanılan aynı küçük devre tahtasına, aşağıdaki şekilde üç adet 220 ohm direnci bağlayın. (E10, H10)(E12, H12)(E14, H14) Ardından aynı devre tahtası E13'ten bir atlama kablosunu GPIO kartındaki toprak güç rayına bağlayın. LED'in dört ucunu daha küçük devre tahtası bağlantı noktalarına (B13)(D14)(D12)(D10) bağlayın. Ardından, atanan şekilde daha küçük devre tahtasından GPIO kartına üç atlama teli bağlayın. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Bu breadboard artık tamamlandı.

Adım 4: Zemin

Zemin
Zemin

GPIO kartı J7'yi toprak güç rayına bağlamak için başka bir atlama teli kullanın.

Adım 5: Düğmeler

Düğmeler
Düğmeler

İkinci devre tahtasını kullanarak, bir düğme anahtarının üst kısmını E1 ve D1 bağlantı noktasına yerleştirin ve bir diğerini E5 ve D5'e ve üçüncü bir anahtarı E9 ve D9'a yerleştirin. GPIO kartındaki pozitif güç rayından üç atlama kablosunu aşağıdaki devre tahtası bağlantı noktalarına (D3) (D7) (D11) bağlayın. Üç atlama kablosu daha kullanarak, devre tahtasını aşağıdaki malikanede GPIO uzatma kartına bağlayın: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Son olarak, son atlama kablosunu kullanarak GPIO A1'i pozitif güç rayına bağlayın. Fiziksel kurulum şimdi tamamlandı.

6. Adım: Kod

kod
kod
kod
kod

Ethernet kablosunu ve güç kablosunu Pi'ye ve ilgili konumlarına bağlayın. MATLAB'ı açın ve mikro denetleyiciyi başlatmak için aşağıdaki komut dosyasını çalıştırın:

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

Ardından, çarpışma önleme sistemini çalıştırmak için aşağıdakileri kopyalayıp Ping adlı yeni bir komut dosyasına yapıştırın:

fonksiyon dist = ping() tetik = 19; yankı = 13; test = 21; configurePin(rpi, trig, 'DigitalOutput'); configurePin(rpi, echo, 'DigitalInput'); configurePin(rpi, test, 'DigitalInput');

disp("Mesafe Ölçümü Devam Ediyor");

while true writeDigitalPin(rpi, trig, 0); disp("Sensörün yerleşmesine izin verilmesi"); duraklat(2);

writeDigitalPin(rpi, trig, 1); duraklat(0.002); writeDigitalPin(rpi, trig, 0);

while readDigitalPin(rpi, echo) == 0 tic end

while readDigitalPin(rpi, echo) == 1 T = toc; son

pulse_duration = T; mesafe = pulse_duration * 17150;

open = "Mesafe= "; kapat = " cm"; string = [açık, mesafe, yakın]; disp(dizi); uzak = mesafe; son son

Yeni bir komut dosyasında, status adlı aşağıdaki kodu çalıştırın:

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

durum = 2; d = 10; %Durum: 0-Kırmızı/Dur 1-Mavi/Yavaş 2-Yeşil/Çalışıyor = doğru; %d çalıştırırken = ping(); eğer readDigitalPin(rpi, 21) == 1 durum = 0; elseif readDigitalPin(rpi, 16) == 1 durum = 1; elseif readDigitalPin(rpi, 12) == 1 durum = 2; aksi takdirde d

Önerilen: