Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Dit Instructable geeft u een stapsgewijze handleiding voor de bouw van het Collision Prevention System. Om te beginnen moet men de volgende lijst met materialen verkrijgen:
Raspberry PI 3 (met stroom- en Ethernet-akkoorden), 1 GPIO-uitbreidingskaart en lintkabel (GPIO), 1 groot breadboard met schema, 2 kleine breadboards met schema, 14 startkabels, 3 220 Ohm-weerstand, 1 RGB-led, 3 knopschakelaars, 1HB-SR04 Ultrasone sensor
Stap 1: GPIO-extensie
Sluit het GPIO-uitbreidingsbord aan op het grote breadboard. De GPIO moet verticaal zijn gericht, net als het breadboard. Wijs de linkerkant van de GPIO toe aan breadboard-poorten D1-D20 met behulp van het meegeleverde diagram. De rechterkant zou dan aansluiten op H1-H20. Sluit de lintkabel aan op zowel de Raspberry Pi 3 als de GPIO-uitbreidingskaart. Dit hele onderdeel wordt nu het GPIO-bord (GPIO) genoemd
Stap 2: Ultrasone sensor
Gebruik een ander kleiner breadboard en sluit de HR-SR04 ultrasone sensor aan op de kleinere breadboard-poorten A2-5 met behulp van het meegeleverde diagram. Sluit een jumperkabel aan op het kleinere breadboard (BB) E2, steek het andere uiteinde in de GPIO-uitbreidingskaartpoort J1. Sluit op dezelfde manier nog drie jumpers op de volgende manier aan. (BB E3, GPIO B17) (BB E4, GPIO B18)(BB E5, GPIO B20)
Stap 3: LED en weerstanden
Sluit op hetzelfde kleine breadboard als in de vorige instructie drie 220 ohm-weerstanden op de volgende manier aan. (E10, H10)(E12, H12)(E14, H14) Sluit vervolgens een jumper van hetzelfde breadboard E13 aan op de grondstroomrail op het GPIO-bord. Sluit de vier uitsteeksels van de LED aan op de kleinere breadboard-poorten (B13)(D14)(D12)(D10). Verbind vervolgens drie jumpers van het kleinere breadboard met het GPIO-bord op de toegewezen manier. (BB J10, GPIO J9) (BB J12, GPIO J8) (BB J14, GPIO J6). Dit breadboard is nu klaar.
Stap 4: Grond
Gebruik een andere jumper om GPIO-kaart J7 aan te sluiten op de grondstroomrail.
Stap 5: Knoppen
Gebruik het tweede breadboard en plaats de bovenkant van een knopschakelaar op poort E1 en D1, plaats een andere op E5 en D5 en een derde op E9 en D9. Sluit drie jumpers van de positieve voedingsrail op het GPIO-bord aan op de volgende breadboard-poorten (D3) (D7) (D11). Gebruik nog drie startkabels om het breadboard op de volgende manier aan te sluiten op de GPIO-uitbreidingskaart: (BB D1, GPIO J16) (BB D5, GPIO J18) (BB D9, GPIO J20). Sluit ten slotte GPIO A1 met de laatste startkabel aan op de positieve voedingsrail. De fysieke installatie is nu voltooid.
Stap 6: Coderen
Sluit de Ethernet-kabel en voedingskabel aan op de Pi en in hun respectievelijke posities. Open MATLAB en voer het volgende script uit om de microcontroller te initialiseren:
rpi = raspi('169.254.0.2', 'pi', 'framboos');
Kopieer en plak vervolgens het volgende in een nieuw script, Ping genaamd, om het systeem voor het voorkomen van botsingen uit te voeren:
functie dist = ping() trig = 19; echo = 13; testen = 21; configurePin(rpi, trig, 'DigitalOutput'); configurePin(rpi, echo, 'DigitalInput'); configurePin(rpi, test, 'DigitalInput');
disp("Afstandsmeting in uitvoering");
terwijl true writeDigitalPin(rpi, trig, 0); disp("Sensor laten bezinken"); pauze (2);
writeDigitalPin(rpi, trig, 1); pauze (0,002); writeDigitalPin(rpi, trig, 0);
while readDigitalPin(rpi, echo) == 0 tic end
terwijl readDigitalPin (rpi, echo) == 1 T = toc; einde
pulse_duration = T; afstand = pulsduur * 17150;
open = "Afstand = "; sluiten = "cm"; string = [open, afstand, dichtbij]; disp(tekenreeks); afstand = afstand; einde einde
Voer in een nieuw script de volgende code met de naam status uit:
configurePin(rpi, 21, 'DigitalInput');configurePin(rpi, 16, 'DigitalInput'); configurePin(rpi, 12, 'DigitalInput');
toestand = 2; d = 10; % Status: 0-Rood/Stop 1-Blauw/Langzaam 2-Groen/Ga hardlopen = waar; terwijl %d = ping(); if readDigitalPin(rpi, 21) == 1 status = 0; elseif readDigitalPin(rpi, 16) == 1 status = 1; elseif readDigitalPin(rpi, 12) == 1 status = 2; anders d