Sisällysluettelo:

Törmäyksenesto- Powered by Pi: 6 vaihetta
Törmäyksenesto- Powered by Pi: 6 vaihetta

Video: Törmäyksenesto- Powered by Pi: 6 vaihetta

Video: Törmäyksenesto- Powered by Pi: 6 vaihetta
Video: НЕ ВЗДУМАЙ снимать аккумулятор с машины. Делай это ПРАВИЛЬНО ! 2024, Marraskuu
Anonim
Törmäyksenesto- Powered by Pi
Törmäyksenesto- Powered by Pi

Tämä opas antaa sinulle vaiheittaisen oppaan törmäyksenestojärjestelmän rakentamiseen. Aloittaaksesi sinun on hankittava seuraava luettelo materiaaleista:

Vadelma PI 3 (virta- ja Ethernet -soinnut), 1 GPIO -laajennuslevy ja nauhakaapeli (GPIO), 1 suuri leipälevy kaavalla, 2 pientä leipälevyä kaavion kanssa, 14 hyppykaapelia, 3220 ohmin vastus, 1 RGB -LED, 3 painikekytkintä, 1HB-SR04 Ultraääni-anturi

Vaihe 1: GPIO -laajennus

GPIO -laajennus
GPIO -laajennus
GPIO -laajennus
GPIO -laajennus

Liitä GPIO -laajennuslevy suureen leipälevyyn. GPIO: n tulisi olla pystysuoraan päin, aivan kuten leipälauta. Määritä GPIO: n vasen puoli leipälaudan portteihin D1-D20 käyttämällä toimitettua kaaviota. Oikea puoli muodostaisi sitten yhteyden H1-H20: een. Liitä nauhakaapeli sekä Raspberry Pi 3: een että GPIO -laajennuskorttiin. Koko tästä osasta käytetään nyt nimeä GPIO -kortti (GPIO)

Vaihe 2: Ultraääni -anturi

Ultraääni -anturi
Ultraääni -anturi
Ultraääni -anturi
Ultraääni -anturi

Kytke HR-SR04-ultraäänianturi pienempään leipälevyn portteihin A2-5 käyttämällä toista pienempää leipälautaa mukana toimitetun kaavion avulla. Liitä hyppyjohto pienempään leipälevyyn (BB) E2, työnnä toinen pää GPIO -laajennuslevyn porttiin J1. Yhdistä samalla tavalla vielä kolme hyppääjää seuraavalla tavalla. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Vaihe 3: LED ja vastukset

LED ja vastukset
LED ja vastukset
LED ja vastukset
LED ja vastukset
LED ja vastukset
LED ja vastukset

Liitä samaan pieneen leipälevyyn, jota käytettiin edellisessä ohjeessa, kolme 220 ohmin vastusta seuraavalla tavalla. (E10, H10) (E12, H12) (E14, H14) Kytke sitten hyppyjohdin samalta leipälevyltä E13 GPIO -kortin maadoituskiskoon. Liitä LED -valon neljä piikkiä pienempiin leipälautaportteihin (B13) (D14) (D12) (D10). Liitä sitten kolme hyppääjää pienemmältä leipälevyltä GPIO -kortille määrätyllä tavalla. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Tämä leipälauta on nyt valmis.

Vaihe 4: Maadoita

Maa
Maa

Kytke GPIO -kortti J7 toisella hyppyjohdolla maadoituskiskoon.

Vaihe 5: Painikkeet

Painikkeet
Painikkeet

Aseta toisen leipälevyn avulla painikekytkimen yläosa portteihin E1 ja D1, toinen kohtaan E5 ja D5 ja kolmas kohtaan E9 ja D9. Kytke kolme hyppyjohtoa GPIO -kortin positiivisesta virtakiskosta seuraaviin leipälevyn portteihin (D3) (D7) (D11). Liitä leipälevy seuraavan kolmen kartanon GPIO -laajennuslevylle käyttämällä vielä kolme hyppyjohtoa: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Lopuksi liitä GPIO A1 viimeisen hyppyjohdon avulla positiiviseen virtakiskoon. Fyysinen asennus on nyt valmis.

Vaihe 6: Koodi

Koodi
Koodi
Koodi
Koodi

Liitä Ethernet -kaapeli ja virtajohto Pi -liittimeen ja vastaaviin paikkoihinsa. Avaa MATLAB ja suorita seuraava komentosarja mikro-ohjaimen alustamiseksi:

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

Kopioi ja liitä seuraava uuteen komentosarjaan nimeltä Ping törmäyksenestojärjestelmän suorittamiseksi:

funktio dist = ping () trig = 19; kaiku = 13; testi = 21; configurePin (rpi, trig, 'DigitalOutput'); configurePin (rpi, echo, 'DigitalInput'); configurePin (rpi, testi, 'DigitalInput');

disp ("Etäisyyden mittaus käynnissä");

kun taas true writeDigitalPin (rpi, trig, 0); disp ("Anturin laskeutuminen"); tauko (2);

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

kun readDigitalPin (rpi, echo) == 0 tikun loppu

kun readDigitalPin (rpi, echo) == 1 T = toc; loppuun

pulssin kesto = T; etäisyys = pulssin kesto * 17150;

open = "Etäisyys ="; sulje = "cm"; merkkijono = [auki, etäisyys, lähellä]; disp (merkkijono); dist = etäisyys; loppu loppu

Suorita uudessa komentosarjassa seuraava koodi nimeltä status:

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

tila = 2; d = 10; %Tila: 0-Punainen/Pysäytä 1-Sininen/Hidas 2-Vihreä/Käynnissä = totta; käynnissä %d = ping (); jos readDigitalPin (rpi, 21) == 1 tila = 0; elseif readDigitalPin (rpi, 16) == 1 tila = 1; elseif readDigitalPin (rpi, 12) == 1 tila = 2; muuten d

Suositeltava: