Inhoudsopgave:
- Stap 1: Wat heb je nodig?
- Stap 2: Documentatie
- Stap 3: Bereid de ultrasone sensorondersteuning voor
- Stap 4: Monteer alles in een prototypebord
- Stap 5: De definitieve verbindingen maken
- Stap 6: Het programma opstarten
- Stap 7: De C-code begrijpen
- Stap 8: De Java-code begrijpen
- Stap 9: Conclusie
Video: Project 3: SonarDuino: 9 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Beste mede-hobbyist, In dit project zullen we de mogelijkheid onderzoeken van een 360 graden radarsysteem voor objectdetectie. Door deze module apart in te stellen, kan uw voortbewegingsrobot de grenzen van zijn omgeving detecteren. Het kan ook dienen als navigatiehulpmiddel in het donker, maar alleen als je langzaam genoeg loopt;p
Stap 1: Wat heb je nodig?
Om deze build te maken, moet je het volgende kopen:
Arduino Nano:
Prototyping-borden: https://www.ebay.com/itm/20pcs-set-4Size-Double-Side-Protoboard-Circuit-Universal-DIY-Prototype-PCB-Board/192076517108?epid=506557101&hash=item2cb8a70ef4:g:cQ4AAOSwN ~Zbl232:rk:13:pf:0
Servomotoren:
Ultrasone sensoren: https://www.ebay.com/itm/5PCS-Ultrasonic-Sensor-Module-HC-SR04-Distance-Measuring-Sensor-for-arduino-SR04/170897438205?epid=18020663283&hash=item27ca47f5fd:g:w ~IAAOSw--xbD5Fp:rk:2:pf:0
Stap 2: Documentatie
Zoals sommigen van jullie dit misschien al weten, is dit project geïnspireerd op een ander open-source project genaamd "Arduino Radar Project" gemaakt door Dejan van "How to Mechatronics" @ de volgende link: https://howtomechatronics.com/projects/arduino -radar-project/
Een ander punt dat documentatie vereist, is het downloaden van de volgende twee bibliotheken naar uw ontwikkelomgeving:
Adafruit-GFX-Bibliotheek:
Adafruit_SSD1306:
Dit gezegd hebbende, om de C-code echt te begrijpen, moet je wat documentatie van beide bovenstaande bibliotheken doen. Afgezien daarvan hebben de functies die ik in mijn code gebruikte namen die veelzeggend zijn voor wat ze doen.
Stap 3: Bereid de ultrasone sensorondersteuning voor
Neem een willekeurig stuk karton en knip het af volgens de afmetingen van de verbindingskabels die aan de sensor zijn bevestigd, zoals weergegeven in de eerste afbeelding. Vouw deze daarna als laatste dicht en lijm deze op de servomotorsteun. Zodra dat is gebeurd, lijmt u de twee ultrasone sensoren volgens de laatste afbeelding. Merk op dat de kop van de sensoren zo moet worden gesoldeerd dat de kabels voor de sensor naar buiten gaan. Hierdoor kunnen de sensorkabels elkaar niet hinderen wanneer de 360 graden rotatie wordt geïmplementeerd.
Stap 4: Monteer alles in een prototypebord
In deze stap begint u met het monteren van de header die in de vorige stap is voorbereid in de respectieve servomotor. Als de servomotor goed gewend is, monteer je alles samen tot een prototyping board. Je begint met het solderen van de Arduino Nano en vervolgens door de servo ernaast te lijmen. Als laatste soldeer je het kleine OLED-display aan de andere rand van het bord.
Stap 5: De definitieve verbindingen maken
Met deze stap wordt de hardwarekant van dit project afgesloten. U moet de meegeleverde schema's volgen om alle vereiste verbindingen tot stand te brengen.
Stap 6: Het programma opstarten
Er zijn twee codes die je nodig hebt om op te starten:
Arduino (C):
Verwerking (java):
Bij het uitvoeren van de code heb je twee opties om uit te kiezen:
Optie 1: Gebruik het OLED-display, daarvoor moet u de variabele MODE in de C-code op 0 zetten.
Optie 2: Uw monitor gebruiken, daarvoor moet u de variabele MODE in de C-code instellen op 1. Daarnaast moet u de ontwikkelomgeving Processing downloaden en installeren en het radarlettertype downloaden via deze link: https:// github.com/lastralab/ArduinoRadar/blob/ma…
En voeg dat bestand toe aan uw verwerkingscodebestand zodat uw Java-code het lettertype herkent wanneer het wordt aangeroepen.
Stap 7: De C-code begrijpen
De code bestaat voornamelijk uit twee ‘for’-lussen. De ene is gecorreleerd met de voorwaartse pas terwijl de andere is met de achterwaartse pas. Binnen beide wordt de hoofdfunctie draw_scanner(), die de lijnen van de radar op het scherm tekent, vaak aangeroepen. Na het testen van meerdere configuraties kwam ik tot de conclusie dat we de witte radarlijnen op tijdstip t moeten overschrijven met diezelfde radarlijnen in het zwart op tijdstip t+1 om ze te verwijderen. Anders zou er flikkering optreden telkens wanneer u het scherm schoonmaakt met de functie "clearDisplay()" voordat u op het nieuwe pixelraster drukt. Omdat ik te maken had met 7 lijnen - voor ontwerpdoeleinden - moest ik de integer-array van 7 elementen blijven opslaan en doorgeven, waarbij elk element staat voor de straal tussen het centrum van de radar en het gedetecteerde object, indien aanwezig. Met dit in gedachten moet de rest van de code eenvoudig te begrijpen zijn.
Stap 8: De Java-code begrijpen
In Processing moest ik de functieaanroep voor serialEvent() omzeilen, die alleen werkt met seriële poorten met de naam COM. Terwijl ik op een Mac werkte, kregen mijn seriële poorten een andere naam. Dat gezegd hebbende, heb ik die functie uitgepakt in de hoofdfunctie bij het verwerken van "draw()". Wat al het andere betreft, heb ik de applicatie bijgewerkt om te voldoen aan het volledige revolutieontwerp. Ten slotte heb ik alle getekende vormen en teksten bijgewerkt met betrekking tot de breedte van het scherm, zodat het eindproduct op verschillende schermresoluties past. Ik heb het persoonlijk getest voor zowel 1000X1000 als 500X500 resoluties, en het werkte prima:).
Stap 9: Conclusie
Dit werk kan worden opgewaardeerd tot 3 ultrasone sensoren, elk met een kijkhoek van 120, of zelfs 4 sensoren (90 graden*4) -> snellere 360 graden. scannen.
U kunt het bereik van de radar ook uitbreiden van 40 cm naar 60 cm of zelfs 80 cm. Ik heb persoonlijk de pulseIn-functie getest en de variabele TIMEOUT aangepast ten opzichte van 40 cm. Deze variabele is afhankelijk van veel factoren, waaronder de lengte van de puls die wordt verzonden en het oppervlak van het object waar de puls wordt gereflecteerd.
Tot slot, zoals eerder vermeld, is de volgende stap om radarDuino te integreren met een voortbewegingsrobot om de omringende perimeter te scannen.
Aanbevolen:
Geautomatiseerde ECG-BME 305 Final Project Extra Credit: 7 stappen
Geautomatiseerd ECG-BME 305 Final Project Extra tegoed: een elektrocardiogram (ECG of ECG) wordt gebruikt om de elektrische signalen te meten die door een kloppend hart worden geproduceerd en het speelt een grote rol bij de diagnose en prognose van hart- en vaatziekten. Een deel van de informatie die uit een ECG wordt verkregen, omvat het ritme
Dopamine Doos - een project vergelijkbaar met Mike Boyd - niet van Mike Boyd zijn: 9 stappen
Dopamine Doos | een project vergelijkbaar met Mike Boyd - niet van Mike Boyd: ik wil er een! Ik heb er een nodig! Ik ben een uitsteller! Nou, ik wil een dopaminedoos… Zonder te hoeven programmeren. Geen geluiden, alleen pure wil
Lightshowpi-project: 4 stappen
Lightshowpi-project: Hallo allemaal! Dit is mijn officiële gids over het maken van een lichtshow met lightshowpi vanaf oktober 2020
Hoe maak je RADAR met behulp van Arduino voor Science Project - Beste Arduino-projecten: 5 stappen
Hoe maak je RADAR met behulp van Arduino voor Science Project | Beste Arduino-projecten: Hallo vrienden, in deze instructable laat ik je zien hoe je een geweldig radarsysteem kunt maken dat is gebouwd met behulp van Arduino nano. Dit project is ideaal voor wetenschappelijke projecten en je kunt dit gemakkelijk doen met heel minder investeringen en kansen als het winnen van een prijs geweldig is om
USB-aangedreven brander! Dit project kan door plastic / hout / papier branden (leuk project moet ook heel fijn hout zijn): 3 stappen
USB-aangedreven brander! Dit project kan door plastic / hout / papier branden (leuk project moet ook heel fijn hout zijn): MAAK DIT NIET MET USB!!!! ik kwam erachter dat het je computer kan beschadigen door alle opmerkingen. mijn computer is in orde. Gebruik een 600mA 5v telefoonoplader. ik heb dit gebruikt en het werkt prima en niets kan worden beschadigd als je een veiligheidsstekker gebruikt om de stroom te stoppen