Inhoudsopgave:

Collision Avoider Vehicle met Arduino Nano - Ajarnpa
Collision Avoider Vehicle met Arduino Nano - Ajarnpa

Video: Collision Avoider Vehicle met Arduino Nano - Ajarnpa

Video: Collision Avoider Vehicle met Arduino Nano - Ajarnpa
Video: How To Make A DIY Arduino Obstacle Avoiding Car At Home 2024, November
Anonim
Collision Avoider-voertuig met Arduino Nano
Collision Avoider-voertuig met Arduino Nano
Collision Avoider-voertuig met Arduino Nano
Collision Avoider-voertuig met Arduino Nano

Een voertuig om botsingen te vermijden zou een heel eenvoudige robot kunnen zijn om in de micro-elektronica te duiken. We zullen het gebruiken om de basiselementen in micro-elektronica te leren en het te verbeteren om meer geavanceerde sensoren en actuatoren toe te voegen.

Basis componenten

· 1 Mini USB Arduino Nano of kloon

· 1 Arduino Nano Shield-uitbreidingskaart

· 1 Ultrasone sensor HC-SR04

· 2 servo's 360 graden continue rotatie (FS90R of vergelijkbaar)

· 1 batterijhouder voor 4xAA

· Breadboard jump wires (F-F, M-F, M-M)

· 2 wielen voor servo's

· 1 structuur voor het voertuig (speelgoedauto, melksteen, multiplex …)

Extra componenten

Voor lichtindicatie:

· 1 RGB-led

· 1 mini broodplankje

· 3 weerstanden 330W

Voor bediening op afstand:

· 1 IR-ontvangersensor (TSOP4838 of vergelijkbaar)

· 1 IR-afstandsbediening

Voor lijnvolg/randdetectie:

· 2 TCRT5000 barrièrelijn spoorsensor IR reflecterend

Alternatieve elementen

U kunt de servo's vervangen door:

· 2 DC-motor met versnelling en plastic band

· 1 L298 Dual H Bridge motor driver controller board module

Stap 1: Installeer de software en stuurprogramma's

We zullen werken met op Arduino gebaseerde microcontrollers, je kunt Arduino UNO of een andere kiezen, maar vanwege de vereisten en de grootte heb ik een Arduino Nano Clone (uit China) genomen, dus met al deze opties moet je Arduino IDE gebruiken om ze te coderen.

U kunt de software downloaden van de officiële webpagina van Arduino en de instructies volgen om deze te installeren. Als u klaar bent, opent u de Arduino IDE en selecteert u het bord (in mijn geval gebruik ik de optie "Arduino Nano").

Arduino Nano Clone: Een goedkope optie voor een Arduino-bord is het kopen van een kloonbord uit China. Ze werken met de CH340-chip en hiervoor moet een specifieke driver worden geïnstalleerd. Er zijn veel websites om de driver voor Windows, Mac of Linux te downloaden en ook met de instructies. Voor Mac kun je soms een probleem tegenkomen bij het herkennen van de seriële poort. Als het je overkomt, probeer dan de instructies van deze link te volgen. Als je daarna de seriële poort detecteert maar nog steeds problemen hebt, probeer dan de "ATMega 328P (Old Bootloader)" te selecteren bij Arduino IDE/tools/processor.

Ga naar de coderingssectie om de code te bekijken die ik voor mijn voertuig heb gebruikt. Je kunt op internet surfen voor veel andere opties of zelf coderen als je wilt.

Stap 2: Kies een mooie structuur voor uw voertuig

Kies een mooie structuur voor uw voertuig
Kies een mooie structuur voor uw voertuig
Kies een mooie structuur voor uw voertuig
Kies een mooie structuur voor uw voertuig
Kies een mooie structuur voor uw voertuig
Kies een mooie structuur voor uw voertuig
Kies een mooie structuur voor uw voertuig
Kies een mooie structuur voor uw voertuig

Deze keer heb ik een speelgoedauto gebruikt die groot genoeg is om de elektronica erin te bevatten, maar je kunt ook andere materialen gebruiken zoals stenen of multiplex om je eigen voertuig te ontwerpen. Kijk eens naar een andere optie als melksteen.

Het is beter om enkele minuten te besteden aan het plannen waar alle elementen moeten worden geplaatst voordat u begint en bevestig dat alles zal worden ondergebracht. Bereid de structuur voor.

Stap 3: Installeer De Drive

Installeer De Drive
Installeer De Drive
Installeer De Drive
Installeer De Drive
Installeer De Drive
Installeer De Drive

De beweging van het voertuig zal plaatsvinden via een enkele as, in dit geval de achteras. Je kunt de voorkant alleen houden om te rollen of, op basis van je ontwerp, een derde wiel of schuifpunt gebruiken om je voertuig in evenwicht te brengen (als de melksteen gebruikte ik de kraan als "derde wiel"). Het draaien van uw voertuig wordt gedaan door de snelheid en/of draairichting van de servo's te veranderen.

TIP: voordat u uw structuur aanpast, moet u de uiteindelijke positie van de wielen plannen en controleren of ze niets raken. In dit voorbeeld zal het midden van de servo-as iets lager liggen dan de originele speelgoedauto-as omdat het servowiel iets groter is en de spatborden zou kunnen raken)

Stap 4: Installeer de ultrasone sensor

Installeer De Ultrasone Sensor
Installeer De Ultrasone Sensor
Installeer De Ultrasone Sensor
Installeer De Ultrasone Sensor

De ultrasone sensor scant de voorkant van het voertuig om eventuele obstakels te identificeren en de codereactie mogelijk te maken. U moet het vooraan plaatsen zonder dat enig deel van het voertuig de signalen onderbreekt.

Stap 5: Plaats de microcontroller en de batterijhouder

Plaats de microcontroller en de batterijhouder
Plaats de microcontroller en de batterijhouder
Plaats de microcontroller en de batterijhouder
Plaats de microcontroller en de batterijhouder
Plaats de microcontroller en de batterijhouder
Plaats de microcontroller en de batterijhouder
Plaats de microcontroller en de batterijhouder
Plaats de microcontroller en de batterijhouder

U kunt nu de overige elementen in de constructie plaatsen, indien mogelijk fixeren of er in ieder geval zeker van zijn dat ze de verbindingen niet beschadigen.

Is erg handig om een schakelaar aan/uit voor de batterij te installeren als deze standaard niemand heeft. U kunt ook een IR-sensor toevoegen om het voertuig te starten/stoppen.

Als je een extra component gaat toevoegen, is dit het moment.

TIP: om de grip van het voertuig te vergroten, plaatst u de accubak of de zwaardere onderdelen over of dichtbij de aandrijfas.

Stap 6: Codeersectie

Voor dit programma moet u ook enkele bibliotheken installeren als "Servo.h" (voor servobesturing), "NewPing.h" (voor betere prestaties voor de ultrasone sensor) of "IRremote.h" als u gaat gebruiken een IR-sensor. U kunt de installatie-instructies in deze link volgen.

Als optie kunt u de servo's voor DC-motoren vervangen, en u hebt een dubbele H-brugmotordriver nodig om ze te besturen. Waarschijnlijk zal ik er in toekomstige updates over posten, maar nu werkt de code alleen met servo's.

Continue rotatie servo's zijn iets anders dan de reguliere servo's; soms kun je de reguliere aanpassen om ze continu te laten roteren, maar voor dit project zullen we de FS90R gebruiken, die voor onze vereisten is gebouwd. Om de reguliere servo's te bedienen moet je de mate geven waarin je hem wilt positioneren, maar voor continu draaiende servo's moet je rekening houden met het volgende:

· 90 wordt stop voor de servo

· Minder dan 90 (tot 0) is rotatie in één richting waarbij 89 de laagste snelheid is en 0 de snelste.

· Meer dan 90 (tot 180) wordt in de tegenovergestelde richting gedraaid, waarbij 91 de langzaamste en 180 de snelste is.

Om uw servo's te kalibreren, moet u ze instellen op 90 en de kleine schroef tegenover het wiel aanpassen om de rotatie te stoppen als deze beweegt (doe dit alstublieft voordat u ze op de structuur plaatst)

U kunt de ultrasone sensor met veel andere bibliotheken gebruiken, maar wees voorzichtig bij het coderen, want een probleem dat u met deze sensoren kunt tegenkomen, is de inactieve tijd die u moet wachten vanaf de emissie van het ultrasone signaal tot de ontvangst. Enkele voorbeelden die u op internet kunt vinden, zijn codering met behulp van "vertraging", maar het heeft invloed op uw robot omdat deze gedurende de door u opgegeven tijd geen andere actie meer zal "uitstellen". U kunt via deze link weten hoe de ultrasone sensoren werken.

Hetzelfde als de DC-motoren, ik ga de IR-sensor in dit voorbeeld niet gebruiken, het zal in toekomstige berichten worden beschreven.

Aanbevolen: