Kazalo:

Preprečevanje trkov- poganja Pi: 6 korakov
Preprečevanje trkov- poganja Pi: 6 korakov

Video: Preprečevanje trkov- poganja Pi: 6 korakov

Video: Preprečevanje trkov- poganja Pi: 6 korakov
Video: 10 Warning Signs of Cancer You Should Not Ignore 2024, November
Anonim
Preprečevanje trkov- poganja Pi
Preprečevanje trkov- poganja Pi

Ta navodila vam bodo podala navodila po korakih za izgradnjo sistema za preprečevanje trkov. Za začetek morate pridobiti naslednji seznam materialov:

Raspberry PI 3 (z napajalnimi in ethernetnimi akordi), 1 razširitvena plošča GPIO in tračni kabel (GPIO), 1 velika plošča z diagramom, 2 majhni plošči z diagramom, 14 mostičnih kablov, 3 220 ohmski upori, 1 RGB LED, 3 stikala na gumbih, 1HB-SR04 Ultrazvočni senzor

Korak: Razširitev GPIO

Razširitev GPIO
Razširitev GPIO
Razširitev GPIO
Razširitev GPIO

Priključite razširitveno ploščo GPIO na veliko ploščo. GPIO mora biti obrnjen navpično, tako kot je osnova. Levo stran GPIO dodelite priključkom za matično ploščo D1-D20 s priloženim diagramom. Desna stran bi se nato priključila na H1-H20. Tračni kabel priključite tako na Raspberry Pi 3 kot na razširitveno ploščo GPIO. Celotna komponenta se bo zdaj imenovala GPIO plošča (GPIO)

Korak: Ultrazvočni senzor

Ultrazvočni senzor
Ultrazvočni senzor
Ultrazvočni senzor
Ultrazvočni senzor

Z drugo manjšo mizo priključite ultrazvočni senzor HR-SR04 na manjša vrata A2-5 za matično ploščo s priloženim diagramom. Mostični kabel priključite na manjšo ploščo (BB) E2, drugi konec vstavite v vrata za razširitveno ploščo GPIO J1. Na enak način povežite še tri skakalce na naslednji način. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Korak: LED in upori

LED in upori
LED in upori
LED in upori
LED in upori
LED in upori
LED in upori

Na isto majhno ploščo, ki je bila uporabljena v prejšnjem navodilu, priključite tri 220 ohmske upore na naslednji način. (E10, H10) (E12, H12) (E14, H14) Nato priključite mostiček z iste plošče E13 na ozemljitveno vodilo na plošči GPIO. Štiri žice LED priklopite na manjša vrata za mizo (B13) (D14) (D12) (D10). Nato priključite tri mostičke z manjše plošče na ploščo GPIO na določen način. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Ta načrt je zdaj končan.

4. korak: Ozemljite

Tla
Tla

Z drugim mostičkom priključite ploščo GPIO J7 na ozemljitveno tirnico.

5. korak: Gumbi

Gumbi
Gumbi

Z drugo ploščo postavite zgornji gumb stikala na vrata E1 in D1, drugo postavite na E5 in D5 in tretjo na E9 in D9. Priključite tri mostiče iz pozitivnega vodila na plošči GPIO na naslednja vrata za matično ploščo (D3) (D7) (D11). Z dodatnimi tremi mostičnimi kabli priključite ploščo na razširitveno ploščo GPIO v naslednjem dvorcu: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Nazadnje z zadnjim mostičnim kablom priključite GPIO A1 na pozitivno vodilo. Fizična nastavitev je zdaj končana.

6. korak: Koda

Koda
Koda
Koda
Koda

Priključite ethernetni kabel in napajalni kabel na Pi in na njihova ustrezna mesta. Odprite MATLAB in zaženite naslednji skript za inicializacijo mikrokrmilnika:

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

Nato kopirajte in prilepite naslednje v nov skript, imenovan Ping, da zaženete sistem za preprečevanje trkov:

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

disp ("Merjenje razdalje v teku");

medtem ko true writeDigitalPin (rpi, trig, 0); disp ("Pustite, da se senzor usede"); premor (2);

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

medtem ko je readDigitalPin (rpi, echo) == 0 tiški konec

medtem ko je readDigitalPin (rpi, echo) == 1 T = toc; konec

pulz_duration = T; razdalja = pulz_duration * 17150;

open = "Razdalja ="; close = "cm"; niz = [odprto, razdalja, zaprto]; disp (niz); dist = razdalja; konec konec

V novem skriptu zaženite to kodo z imenom status:

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

status = 2; d = 10; %Stanje: 0-rdeča/stop 1-modra/počasna 2-zelena/teči = true; med izvajanjem %d = ping (); če je readDigitalPin (rpi, 21) == 1 status = 0; elseif readDigitalPin (rpi, 16) == 1 status = 1; elseif readDigitalPin (rpi, 12) == 1 status = 2; sicer d

Priporočena: