Inhoudsopgave:
- Stap 1: GPIO-extensie
- Stap 2: Ultrasone sensor
- Stap 3: LED en weerstanden
- Stap 4: Grond
- Stap 5: Knoppen
- Stap 6: Coderen
Video: Botsingspreventie - mogelijk gemaakt door Pi - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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
Aanbevolen:
Hoe ik mijn eigen boksmachine heb gemaakt? 11 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe ik mijn eigen boksmachine heb gemaakt?: Er zit geen geweldig verhaal achter dit project - ik heb altijd genoten van de boksmachines, die op verschillende populaire plaatsen stonden. Ik besloot de mijne te bouwen
Hoe ik mijn eigen rare Bluetooth-luidspreker heb gemaakt: 4 stappen
Hoe ik mijn eigen rare Bluetooth-luidspreker heb gemaakt: in deze Instructable zal ik je laten zien hoe ik mijn eigen deze rare Bluetooth-luidspreker heb gemaakt die een ongelooflijk geluid met bas produceert terwijl ik hem met een fles gebruik
Hoe ik de meest geavanceerde zaklamp ooit heb gemaakt: 10 stappen (met afbeeldingen)
Hoe ik de meest geavanceerde zaklamp ooit heb gemaakt: PCB-ontwerp is mijn zwakke plek. Ik krijg vaak een eenvoudig idee en besluit het zo complex en perfect mogelijk te realiseren. Dus ik zag er ooit uit als een oude "militair" 4.5V zaklamp met gewone lamp die stof aan het verzamelen was. De lichtopbrengst van die b
Ik heb een oude cd-drive in een wifi-robot gemaakt met behulp van Nodemcu, L298N Motor Drive en nog veel meer: 5 stappen
Ik heb een oude cd-drive in een wifi-robot gemaakt met behulp van Nodemcu, L298N-motoraandrijving en nog veel meer .: VX Robotics & Elektronica Aanwezig
Hoe een SMT-stencil wordt gemaakt: 3 stappen
Hoe een SMT-stencil wordt gemaakt: Terwijl componenten met doorlopende gaten als de norm in de elektronica-industrie begonnen, leidde de uitvinding van SMT-onderdelen tot hun uiteindelijke vervanging. SMT's maakten een veel snellere PCB-productie mogelijk dan ooit tevoren door een laag soldeerpasta te pla