Satura rādītājs:

Sadursmju novēršana- nodrošina Pi: 6 soļi
Sadursmju novēršana- nodrošina Pi: 6 soļi

Video: Sadursmju novēršana- nodrošina Pi: 6 soļi

Video: Sadursmju novēršana- nodrošina Pi: 6 soļi
Video: Топ-6 самых безопасных внедорожников среднего размера на 2022 год 2024, Jūlijs
Anonim
Sadursmju novēršana- nodrošina Pi
Sadursmju novēršana- nodrošina Pi

Šī pamācība sniegs jums detalizētu ceļvedi sadursmju novēršanas sistēmas izveidošanai. Lai sāktu, jums jāiegūst šāds materiālu saraksts:

Aveņu PI 3 (ar strāvas un Ethernet akordiem), 1 GPIO pagarinājuma dēlis un lentes kabelis (GPIO), 1 liels maizes dēlis ar diagrammu, 2 mazi tāfeles ar diagrammu, 14 džemperis, 3 220 omu rezistors, 1 RGB LED, 3 pogu slēdži, 1HB-SR04 Ultraskaņas sensors

1. darbība: GPIO paplašinājums

GPIO paplašinājums
GPIO paplašinājums
GPIO paplašinājums
GPIO paplašinājums

Pievienojiet GPIO pagarinājuma paneli lielajam maizes dēlim. GPIO jābūt vērstam vertikāli tāpat kā maizes dēlis. Piešķiriet GPIO kreiso pusi maizes dēļa portiem D1-D20, izmantojot pievienoto diagrammu. Labā puse tad savienotos ar H1-H20. Pievienojiet lentes kabeli gan Raspberry Pi 3, gan GPIO pagarinājuma plāksnei. Visa šī sastāvdaļa tagad tiks saukta par GPIO plati (GPIO)

2. solis: ultraskaņas sensors

Ultraskaņas sensors
Ultraskaņas sensors
Ultraskaņas sensors
Ultraskaņas sensors

Izmantojot citu mazāku maizes dēli, pievienojiet ultraskaņas sensoru HR-SR04 mazākiem maizes dēļa portiem A2-5, izmantojot pievienoto diagrammu. Pievienojiet džempera kabeli mazākajam maizes dēlim (BB) E2, otru galu ievietojiet GPIO pagarinājuma plates portā J1. Tādā pašā veidā pievienojiet vēl trīs džemperus šādā veidā. (BB E3, GPIO B17) (BB E4, GPIO B18) (BB E5, GPIO B20)

3. solis: LED un rezistori

LED un rezistori
LED un rezistori
LED un rezistori
LED un rezistori
LED un rezistori
LED un rezistori

Uz tā paša mazā maizes dēļa, kas tika izmantots iepriekšējā instrukcijā, pievienojiet trīs 220 omu rezistorus šādā veidā. (E10, H10) (E12, H12) (E14, H14) Pēc tam pievienojiet džemperi no tā paša maizes dēļa E13 pie GPIO paneļa zemes strāvas sliedes. Pievienojiet četrus gaismas diodes zarus pie mazākiem maizes dēļa portiem (B13) (D14) (D12) (D10). Pēc tam pievienojiet trīs džemperus no mazākā maizes dēļa ar GPIO plāksni, kā noteikts. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Šis maizes dēlis tagad ir pabeigts.

4. solis: zeme

Zeme
Zeme

Izmantojiet citu džemperi, lai savienotu GPIO plati J7 ar zemes strāvas sliedi.

5. solis: pogas

Pogas
Pogas

Izmantojot otro maizes dēli, ievietojiet pogas slēdža augšdaļu portā E1 un D1, otru novietojiet pie E5 un D5, bet trešo - pie E9 un D9. Pievienojiet trīs džemperus no pozitīvās barošanas sliedes uz GPIO plates šādām maizes dēļa pieslēgvietām (D3) (D7) (D11). Izmantojot vēl trīs džemperu kabeļus, pievienojiet maizes dēli GPIO pagarinājuma plāksnei šādā muižā: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Visbeidzot, izmantojot pēdējo pārejas kabeli, pievienojiet GPIO A1 pie pozitīvās barošanas sliedes. Fiziskā iestatīšana tagad ir pabeigta.

6. darbība: kods

Kods
Kods
Kods
Kods

Savienojiet Ethernet kabeli un strāvas kabeli ar Pi un to attiecīgajās pozīcijās. Atveriet MATLAB un palaidiet šādu skriptu, lai inicializētu mikrokontrolleri:

rpi = raspi ('169.254.0.2', 'pi', 'aveņu');

Pēc tam nokopējiet un ielīmējiet jauno skriptu Ping, lai palaistu sadursmju novēršanas sistēmu:

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

disp ("Notiek attāluma mērīšana");

kamēr true writeDigitalPin (rpi, trig, 0); disp ("Ļaujot sensoram nokārtoties"); pauze (2);

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

kamēr readDigitalPin (rpi, echo) == 0 tic beigas

kamēr readDigitalPin (rpi, echo) == 1 T = toc; beigas

impulsa ilgums = T; attālums = impulsa ilgums * 17150;

open = "Distance ="; aizvērt = "cm"; virkne = [atvērt, attālums, aizvērt]; disp (virkne); dist = attālums; beigas beigas

Jaunā skriptā palaidiet šādu kodu ar nosaukumu statuss:

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

statuss = 2; d = 10; %Statuss: 0-sarkans/apturēt 1-zils/lēns 2-zaļš/iet darboties = true; kamēr darbojas %d = ping (); ja readDigitalPin (rpi, 21) == 1 statuss = 0; elseif readDigitalPin (rpi, 16) == 1 statuss = 1; elseif readDigitalPin (rpi, 12) == 1 statuss = 2; citādi d

Ieteicams: