Sadržaj:

Sprječavanje sudara- Pokreće Pi: 6 koraka
Sprječavanje sudara- Pokreće Pi: 6 koraka

Video: Sprječavanje sudara- Pokreće Pi: 6 koraka

Video: Sprječavanje sudara- Pokreće Pi: 6 koraka
Video: ПРИВОЗ. ОДЕССА МАМА. Рецепт САЛО. ОБЗОР НОЖЕЙ 2024, Srpanj
Anonim
Prevencija sudara- Pokreće Pi
Prevencija sudara- Pokreće Pi

Ovaj Instructable će vam dati korak-po-korak vodič za izgradnju Sustava za sprječavanje sudara. Za početak je potrebno pribaviti sljedeći popis materijala:

Raspberry PI 3 (sa strujnim i Ethernet akordima), 1 GPIO produžna ploča i vrpčani kabel (GPIO), 1 velika pločica s dijagramom, 2 male ploče s dijagramom, 14 kratkospojnih kabela, 3 220 ohmskih otpornika, 1 RGB LED, 3 prekidača s gumbima, 1HB-SR04 Ultrazvučni senzor

Korak 1: GPIO proširenje

GPIO proširenje
GPIO proširenje
GPIO proširenje
GPIO proširenje

Spojite GPIO produžnu ploču na veliku ploču. GPIO bi trebao biti okrenut vertikalno isto kao i matična ploča. Dodijelite lijevu stranu GPIO-a priključcima za matičnu ploču D1-D20 pomoću priloženog dijagrama. Desna strana tada bi se spojila na H1-H20. Spojite vrpčani kabel na Raspberry Pi 3 i GPIO produžnu ploču. Cijela ova komponenta sada će se nazivati GPIO ploča (GPIO)

Korak 2: Ultrazvučni senzor

Ultrazvučni senzor
Ultrazvučni senzor
Ultrazvučni senzor
Ultrazvučni senzor

Pomoću druge manje matične ploče povežite ultrazvučni senzor HR-SR04 s manjim priključcima matične ploče A2-5 pomoću priloženog dijagrama. Spojite kratkospojni kabel na manju matičnu ploču (BB) E2, umetnite drugi kraj u priključak za ploču za proširenje GPIO J1. Na isti način spojite još tri kratkospojnika na sljedeći način. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Korak 3: LED i otpornici

LED i otpornici
LED i otpornici
LED i otpornici
LED i otpornici
LED i otpornici
LED i otpornici

Na istu malu ploču koja je korištena u prethodnoj uputi, spojite tri otpornika od 220 ohma na sljedeći način. (E10, H10) (E12, H12) (E14, H14) Zatim spojite kratkospojnik s iste ploče E13 na uzemljenu vodilicu na GPIO ploči. Spojite četiri zupca LED diode na manje priključke za matičnu ploču (B13) (D14) (D12) (D10). Zatim spojite tri kratkospojnika s manje ploče na GPIO ploču na dodijeljeni način. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Ova je ploča sada gotova.

Korak 4: Uzemljenje

Uzemljenje
Uzemljenje

Upotrijebite drugi kratkospojnik za povezivanje GPIO ploče J7 s uzemljenjem.

Korak 5: Gumbi

Gumbi
Gumbi

Pomoću druge ploče postavite vrh prekidača s gumbima na priključke E1 i D1, postavite drugu na E5 i D5, a treću na E9 i D9. Spojite tri kratkospojnika s pozitivnog vodiča na GPIO ploči sa sljedećim priključcima za matičnu ploču (D3) (D7) (D11). Pomoću još tri kratkospojna kabela povežite matičnu ploču s GPIO produžnom pločom u sljedećem dvorcu: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Na kraju, pomoću zadnjeg kratkospojnog kabela, spojite GPIO A1 na pozitivnu vodilicu. Fizičko postavljanje je sada dovršeno.

Korak 6: Kodiranje

Kodirati
Kodirati
Kodirati
Kodirati

Spojite Ethernet kabel i kabel za napajanje na Pi i u odgovarajuće položaje. Otvorite MATLAB i pokrenite sljedeću skriptu za inicijalizaciju mikrokontrolera:

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

Zatim kopirajte i zalijepite sljedeće u novu skriptu, nazvanu Ping, da biste pokrenuli sustav za sprječavanje sudara:

funkcija dist = ping () trig = 19; odjek = 13; test = 21; configurePin (rpi, trig, 'DigitalOutput'); configurePin (rpi, echo, 'DigitalInput'); configurePin (rpi, test, 'DigitalInput');

disp ("Mjerenje udaljenosti u tijeku");

dok true writeDigitalPin (rpi, trig, 0); disp ("Puštanje senzora da se slegne"); stanka (2);

writeDigitalPin (rpi, trig, 1); stanka (0,002); writeDigitalPin (rpi, trig, 0);

dok je readDigitalPin (rpi, echo) == 0 tički kraj

dok je readDigitalPin (rpi, echo) == 1 T = toc; kraj

puls_duration = T; udaljenost = puls_duration * 17150;

open = "Udaljenost ="; close = "cm"; string = [otvoriti, udaljenost, zatvoriti]; disp (niz); dist = udaljenost; kraj kraj

U novoj skripti pokrenite sljedeći kodni naziv status:

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

status = 2; d = 10; %Status: 0-Crveno/Zaustavi 1-Plavo/Sporo 2-Zeleno/Idi trči = istina; tijekom izvođenja %d = ping (); ako je readDigitalPin (rpi, 21) == 1 status = 0; elseif readDigitalPin (rpi, 16) == 1 status = 1; elseif readDigitalPin (rpi, 12) == 1 status = 2; inače d

Preporučeni: