INHOUDSOPGAWE:

Voorkoming van botsings- Aangedryf deur Pi: 6 stappe
Voorkoming van botsings- Aangedryf deur Pi: 6 stappe

Video: Voorkoming van botsings- Aangedryf deur Pi: 6 stappe

Video: Voorkoming van botsings- Aangedryf deur Pi: 6 stappe
Video: Hoe ZWELLEN, DUBBELE KIN te verwijderen en de OVALE van het gezicht aan te halen Modellering MASSAGE 2024, November
Anonim
Voorkoming van botsings- Aangedryf deur Pi
Voorkoming van botsings- Aangedryf deur Pi

Hierdie instruksie gee u 'n stap-vir-stap gids vir die bou van die botsingsvoorkomingstelsel. Om te begin, moet u die volgende lys materiaal kry:

Framboos PI 3 (met krag- en Ethernet -akkoorde), 1 GPIO -uitbreidingskaart en lintkabel (GPIO), 1 groot broodbord met diagram, 2 klein broodborde met diagram, 14 springkabels, 3 220 Ohm -weerstand, 1 RGB LED, 3 knoppies skakelaars, 1HB-SR04 Ultrasoniese sensor

Stap 1: GPIO -uitbreiding

GPIO -uitbreiding
GPIO -uitbreiding
GPIO -uitbreiding
GPIO -uitbreiding

Koppel die GPIO -uitbreidingskaart aan die groot broodbord. Die GPIO moet vertikaal wees, net soos die broodbord. Ken die linkerkant van die GPIO toe aan die broodbordpoort D1-D20 met behulp van die diagram. Die regterkant sal dan aansluit by H1-H20. Koppel die lintkabel aan beide die Raspberry Pi 3 en die GPIO -uitbreidingskaart. Daar word nou na hierdie hele komponent verwys as die GPIO -bord (GPIO)

Stap 2: Ultrasoniese sensor

Ultrasoniese sensor
Ultrasoniese sensor
Ultrasoniese sensor
Ultrasoniese sensor

Koppel die HR-SR04 ultrasoniese sensor met 'n ander kleiner broodbord aan die kleiner broodbordpoort A2-5 met behulp van die diagram. Koppel 'n springkabel aan die kleiner broodbord (BB) E2, steek die ander kant in die GPIO -uitbreidingskaartpoort J1. Koppel op dieselfde manier nog drie springers op die volgende manier. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

Stap 3: LED en weerstande

LED en weerstande
LED en weerstande
LED en weerstande
LED en weerstande
LED en weerstande
LED en weerstande

Koppel drie weerstandse van 220 ohm op dieselfde klein broodbord wat in die vorige instruksie gebruik is. (E10, H10) (E12, H12) (E14, H14) Koppel dan 'n springer van dieselfde broodbord E13 aan die grondkragrail op die GPIO -bord. Koppel die vier steke van die LED aan die kleiner broodbordpoortjies (B13) (D14) (D12) (D10). Koppel dan drie springers van die kleiner broodbord op die toegewysde manier aan die GPIO -bord. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Hierdie broodbord is nou voltooi.

Stap 4: Grond

Grond
Grond

Gebruik 'n ander trui om die GPIO -kaart J7 aan die grondkragrail te koppel.

Stap 5: Knoppies

Knoppies
Knoppies

Met die tweede broodbord, plaas die bokant van die knoppieskakelaar op poort E1 en D1, plaas nog een by E5 en D5, en 'n derde by E9 en D9. Koppel drie springers van die positiewe kragrail op die GPIO -bord aan die volgende broodbordpoortjies (D3) (D7) (D11). Koppel die broodbord met nog drie springkabels aan die GPIO -uitbreidingskaart in die volgende landgoed: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Uiteindelik, met die laaste springkabel, verbind GPIO A1 met die positiewe kragrail. Die fisiese opstelling is nou voltooi.

Stap 6: Kode

Kode
Kode
Kode
Kode

Koppel die Ethernet -kabel en die kragkabel aan die Pi en in hul onderskeie posisies. Maak MATLAB oop en voer die volgende script uit om die mikrobeheerder te initialiseer:

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

Kopieer en plak dan die volgende in 'n nuwe script, genaamd Ping, om die botsingsvoorkomingstelsel uit te voer:

funksie dist = ping () trig = 19; eggo = 13; toets = 21; configurePin (rpi, trig, 'DigitalOutput'); configurePin (rpi, echo, 'DigitalInput'); configurePin (rpi, toets, 'DigitalInput');

disp ("Afstandmeting aan die gang");

terwyl ware writeDigitalPin (rpi, trig, 0); disp ("Laat sensor oplos"); pouse (2);

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

terwyl readDigitalPin (rpi, echo) == 0 tiese einde

terwyl readDigitalPin (rpi, echo) == 1 T = toc; einde

pols_duration = T; afstand = polsslag * 17150;

oop = "Afstand ="; sluit = "cm"; string = [oop, afstand, naby]; disp (string); dist = afstand; einde einde

Voer die volgende kode met die naam status uit in 'n nuwe skrif:

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

status = 2; d = 10; %Status: 0-Rooi/Stop 1-Blou/Stadig 2-Groen/Gaan hardloop = waar; terwyl %d = ping () uitgevoer word; as readDigitalPin (rpi, 21) == 1 status = 0; elseif readDigitalPin (rpi, 16) == 1 status = 1; elseif readDigitalPin (rpi, 12) == 1 status = 2; andersif d

Aanbeveel: