Inhoudsopgave:

Betaalbare telefoongestuurde Rover - Ajarnpa
Betaalbare telefoongestuurde Rover - Ajarnpa

Video: Betaalbare telefoongestuurde Rover - Ajarnpa

Video: Betaalbare telefoongestuurde Rover - Ajarnpa
Video: Zo kom je van je smartphone-verslaving af 2024, December
Anonim
Image
Image
Maak de GUI
Maak de GUI

Een tijdje terug heb ik een telefoongestuurde rover gemaakt met behulp van de MotorAir. Ik wilde het basisidee opnieuw bekijken, maar met goedkopere, meer algemeen verkrijgbare onderdelen. Ook omdat dit op Arduino is gebaseerd, is het een geweldige springplank voor meer dan alleen een rondrijdende rover. Je zou sensoren, servo's, enz. kunnen toevoegen om dit project echt in elke gewenste richting te sturen (zie wat ik daar deed?).

Stap 1: Maak de GUI

Maak de GUI
Maak de GUI
Maak de GUI
Maak de GUI

Dit project maakt gebruik van remotexy.com, een echt coole service die je een GUI-maker met drag'n'drop geeft om je eigen app te maken om je robotica-project vanaf je mobiele apparaat te besturen. Dit maakt dit project uitvoerbaar voor veel mensen voor wie het anders buiten bereik zou zijn. Het kan werken met een verscheidenheid aan microcontrollers (meestal arduino) en draadloze technieken (Bluetooth, WiFi, de cloud, Ethernet - ok die is niet draadloos).

Ik ging met een 5V Arduino Pro Mini en HC-05 omdat ik ze al had van andere projecten. Hoewel de HC-05 alleen Android-compatibel is, kun je in plaats daarvan de HM-10 gebruiken als je een Apple-apparaat hebt. Gelukkig bevat hun bibliotheek alle eigenaardigheden van het werken met al die verschillende technologieën, zodat u zich kunt concentreren op de GUI en de delen van uw project die uniek zijn!

Dus eerst selecteerde ik de configuratie die ik wilde (welke borden ik gebruikte). Vervolgens sleepte ik de besturingselementen die ik wilde uit de linkerkolom en stelde er enkele eigenschappen voor in de rechterkolom in. Toen klikte ik op de groene knop Broncode ophalen en voila, het grootste deel van het werk was voor mij gedaan. Ik installeerde hun bibliotheek in mijn Arduino IDE, downloadde de gegenereerde code en begon er lokaal in mijn IDE aan te werken.

Stap 2: pas de code aan

De code die RemoteXY voor ons heeft gemaakt, neemt de coördinaten van een virtuele joystick en maakt die toegankelijk voor onze Arduino-schets.

Nu moeten we wat extra code toevoegen om iets te doen op basis van de locatie van de joystick. In principe bevat de schets…

  • de RemoteXY-code die alles is wat je nodig hebt om de virtuele joystickcoördinaten te krijgen
  • een mixfunctie om de X- en Y-coördinaten te mixen
  • een bewegingsfunctie om commando's naar de motorcontroller te sturen

in de loop-functie haalt de code de huidige X- en Y-joystickcoördinaten op, mengt ze om de snelheid te bepalen die elk motorkanaal moet hebben en stuurt dan een commando naar de motorcontroller om in die snelheid en richting te draaien.

Als je een Arduino Pro Mini gebruikt, heb je een FTDI-breakoutboard nodig voordat je je schets naar je Arduino kunt uploaden, omdat de Arduino Pro Mini geen USB-poort heeft. Gebruik de FTDI eenvoudig als tussenpersoon tussen de USB en uw Arduino.

Je kunt de code krijgen die ik hier heb gebruikt:

Stap 3: De elektronica en bedrading

De elektronica en bedrading
De elektronica en bedrading
De elektronica en bedrading
De elektronica en bedrading
De elektronica en bedrading
De elektronica en bedrading

In dit project heb ik een Arduino Pro Mini (5V), een TB6612FNG-motorcontroller en een HC-05 bluetooth-adapter gebruikt. Alles bij elkaar heb ik minder dan $ 13 aan deze onderdelen uitgegeven … hoewel ik ze ongeveer 1,5 jaar geleden heb gekocht en de plaats waar ik ze vandaan heb, ze niet meer heeft. Maar houd moed, ze zijn nog steeds redelijk goedkoop te vinden op Amazon en andere online winkels als je wat rondkijkt. Je krijgt natuurlijk een betere prijs per board als je een multi-pack kunt vinden die goed werkt als je een custom board maakt om ze allemaal in te pluggen, want dat wordt geleverd in een 3-pack. Ook zijn al deze boards erg veelzijdig en het hebben van een paar extra die rondslingeren (of om te gebruiken als vervanging als je de rook eruit laat) is naar mijn mening de moeite waard.

De TB6612FNG-motorcontroller is een geweldige motorcontroller voor elk van de Runt Rover-chassis, omdat de motoren die erin worden gebruikt slechts 0,25 A trekken bij het afslaan en die motorcontroller 1,5 A per kanaal aankan.

Ik heb dit oorspronkelijk getest met jumperdraden aangesloten op een soldeerloze breadboard, maar heb het vervolgens schoongemaakt door een bord te laten maken in OSH Park. Dit maakte het schoner, compacter en duurzamer. Nu hoef ik alleen maar mijn componenten in te pluggen als ik ze wil gebruiken of ik kan ze er gemakkelijk uittrekken om te lenen voor een ander project.

Stap 4: Het chassis

Het chassis
Het chassis
Het chassis
Het chassis
Het chassis
Het chassis

Ik was opgewonden om de 6xAA-batterijlade te gebruiken met een 9v-batterijconnector aan de bovenkant, omdat 9v zich in de boterzone van de meeste Arduino-borden bevindt. Ik wilde het uit de weg, maar gemakkelijk toegankelijk. Ik besloot dat het gebruik van enkele magneten een gladde manier zou zijn om de batterijlade te monteren. Dus ik boorde een gat in de batterijlade om een magneet stevig te monteren, ik verborg de vierkante moer in een van de veren … het is een beetje knus maar werkt heel goed.

Om de andere magneet aan de binnenkant van het chassis te monteren vond ik (uiteraard) een distributieriembevestiging die perfect werkt. Omdat tegenpolen elkaar aantrekken heb ik één magneet gebruikt die aan de noordkant verzonken is, en één die aan de zuidkant verzonken is. De platkopschroeven die ik heb gebruikt om ze te monteren, passen perfect in de verzinkboor. Ik bedekte de magneet op de batterijlade met een paar lagen isolatietape. Dit zal de kracht van de aantrekkingskracht een beetje verminderen, en het een beetje demping geven als ze samen gaan, en als om wat voor reden dan ook een van de magneten breekt, zou het een gemakkelijkere opruimklus moeten maken.

Stap 5: Koppel de app aan uw project

Dus je GUI is gemaakt, je code is geschreven en geüpload naar je Arduino, en je project is bedraad. Nu is het tijd om uw project van stroom te voorzien door de batterij aan te sluiten. Vervolgens moet je je project aan je telefoon koppelen zoals je zou doen voor elk Bluetooth-apparaat. Op mijn Android-telefoon (met Android OxygenOS) moest ik twee keer naar beneden vegen vanaf de bovenkant van het scherm, op het tandwiel klikken en vervolgens op Bluetooth en HC-05 selecteren in de lijst met beschikbare apparaten. Toen heb ik de pincode ingevoerd die 1234 was.

Stap 6: Open de app en rijd

Nadat je je telefoon en bluetooth-project hebt gekoppeld, open je de Remote XY Free-app (als je dat nog niet hebt gedaan, is dit een goed moment om het te installeren vanuit de Google Play Store). Als dit de eerste keer is dat u het gebruikt, moet u rechtsboven op de knop + klikken, Bluetooth kiezen en vervolgens de HC-05 uit de lijst selecteren. Als u in de toekomst de Remote XY-app opent, ziet u een blauwe HC-05-knop waarop u tikt om de projectinterface te openen.

Als je eenmaal de GUI hebt geopend die je eerder hebt ontworpen, kun je de joystick rondslepen en je rover zou moeten beginnen te bewegen! Gefeliciteerd! Je weet dat je je eigen telefoongestuurde rover hebt gemaakt! Als je eenmaal bekend bent met deze opstelling, kun je beginnen met brainstormen over ideeën voor je eigen add-ons en verbeteringen om deze eenvoudige rover naar een hoger niveau te tillen.

Aanbevolen: