Eenvoudige zelfbalancerende Robot w / Galileo Gen 2 (4 / 6 stap)

Stap 4: Android App


Vanaf het begin van dit project was een van mijn doelstellingen te ontwikkelen een metgezel Android app zodat de controle van de robot. Zoals mijn SW ontwikkeling-vaardigheden nog steeds "in ontwikkeling", ik was blij te struikelen over de ontwikkelomgeving van MIT AI2 Android app - bleek te zijn perfect voor wat ik wilde doen.

Bracht ik enige tijd met een aantal van de tutorials om een gevoel voor hoe dingen setup waren, en met de Whatakuai en Pura Vida Apps op hoe hefboom van de BT-interface. Maar in plaats van het besteden tijd aan het uitleggen van MIT AI2, zal ik beschrijven hoe de app is bedoeld om te worden gebruikt en hoe de blokken zijn structuur.

De app is een eenvoudige verzameling knoppen en schuifregelaars om de gebruiker te configureren en beheren van de robot. Hieronder volgt een beschrijving van de verschillende besturingselementen van de app.

· BT Module: elke keer de app is gestart, of de robot macht gefietst, zal de gebruiker hoeft te verbinden met de robot BT module. Dit is de knop dat die actie wordt vergemakkelijkt.

· Stand-by: Zodra robot is verbonden met BT, en het Galileo-bord is opgestart, begint de Robot in de stand-by staat. Deze knop wordt gebruikt voor het instrueren van de robot om de actieve, balancing staat. Houd er rekening mee dat de robot alleen proberen zal te evenwicht als het binnen 2deg van verticale, zodat zelfs als deze knop meldt "Actief", u moeten zult plaatsen de robot in een in de omgeving van verticale positie voor om te starten met het balanceren. Deze knop kan worden gebruikt om te schakelen tussen "Standby" en "Actief" zoals gewenst.

· PID: Deze knop wordt gebruikt om de gebruiker te veranderen van de "P", "I" en "D" waarden voor de PID-regelaar in de robot terwijl de robot is actief. Wanneer ingedrukt, zal het ophalen van de waarden van de PID van de robot en tonen hen onder de respectieve "+" en "-" knoppen. De increment en decrement waarde voor elke parameter zijn hard gecodeerd in de schets van de robot.

· FW Ver: Dit is de robot schets firmwareversie. Ik ging door de vele versies van schetsen, en meerdere SD kaarten, dus ik vond het zeer nuttig om te weten welke versie liep op de robot. Deze waarde is hard gecodeerd in de sketch met een #define instructie, en naar de Android App worden verzonden wanneer de robot uit Standby gaat.

· VBAT: De accuspanning van de robot, verzonden per seconde

· HB: Heartbeat indicator. De tekst verandert van kleur één keer per seconde om aan te geven dat de schets is nog steeds actief op de robot.

· Roll Calibrate (kalibreren): op basis van de module die u hebt, en hoe het gemonteerd op de robot, kan verticaal niet lezen als 0deg. Dit kunt u "kalibreren" wat de MPU leest wanneer de robot verticaal is. De "+" en "-" knoppen worden gedeeld tussen de rollen kalibreren en Motor Slack, zodat slechts één kan worden gewijzigd op elk moment. De huidige Roll kalibreren waarde wordt opgehaald uit de robot als het keuzerondje is geselecteerd.

· Motor toegestane vertraging: De DC reductiemotoren die ik gebruikt had een zone in de lagere PWM-waarden die niet in een beweging van de motoras trekken resulteren. Dit resulteert in een niet-lineaire gebied van de controle voor de uitvoer van PID. Ik vond dat door het "springen" over deze lage waarde van de PWM (motor speling) in de uitvoer van PID, u beter evenwicht de robot tussen zou. Met deze knop kunt u ophalen van de huidige waarde van de robot, en aanpassen van de grootte van de "sprong"

· Snelheid: Hierdoor kan de gebruiker de controle van de snelheid van de robot. Als gevolg van een beperking in het MIT AI compile milieu staat de app geen multi-aanraking, dus u niet de snelheid en richting schuifregelaars tegelijk wijzigen. Een internet-zoekopdracht op het onderwerp toont er een werk rond kunnen multi-aanraking operatie, maar ik heb niet nog nagestreefd.

· Richting: Hierdoor kan de gebruiker om te bepalen van de richting van de robot.

· Afsluiten: Hiermee sluit u af de Android App

Ik vond de visuele methode gebruikt door MIT AI2 voor de ontwikkeling van de details van de app op de sectie "Blokken" wordt een beetje omslachtig - maar zal ik u tot uw eigen conclusies komen. Ik was niet succesvol in het nemen van een screenshot van de lay-out van de blokken, maar ze zijn gerangschikt in drie kolommen. U moet kunnen in importeren de .iai bestand in MIT AI2 en Bekijk de details voor jezelf.

De eerste kolom implementeert de knoppen Quit, BT Module, Standby, Data Log, snelheid, richting, Roll fout en toegestane vertraging van de Motor.

De tweede kolom voert de PID inschakelen knop, en de P, I en D "+" en "-" knoppen. Het implementeert ook de rollen fout en toegestane vertraging van de Motor "+" en "-" knoppen.

De derde kolom implementeert de Bluetooth timer, gebruikt om te controleren de interface voor de ontvangen informatie, en blokken om te halen en uit te voeren opdrachten van de robot. Het duurde wat trial and error om de Bluetooth gegevens receptie en command extractie werken, en het resultaat is een beetje grof force-ish, maar in het einde, het werkte vrij goed.

Gerelateerde Artikelen

Maak een zelfbalancerende Robot met Arduino UNO

Maak een zelfbalancerende Robot met Arduino UNO

Self balancing Robot is zeer interessant. Veel vrienden om ons heen wilden maken een, maar ze encounted alot van chanllenges met inbegrip van het ontbreken van de gemakkelijk-aan-de vergadering van structuren, de geschikte elektronische schakelingen
Linux Tutorial voor Intel® Galileo Gen 2

Linux Tutorial voor Intel® Galileo Gen 2

Een ten onrechte zou kunnen denken dat de Intel® Galileo Gen 2 als alleen een geavanceerde, krachtigere versie van de Arduino Uno dat gebeurt op een Linuxsysteem worden gestapeld.Er is eigenlijk meer dan dat en hopelijk, deze tutorial zal de weergeve
Hoe om te schieten timelapse-video met de Intel Galileo Gen 2

Hoe om te schieten timelapse-video met de Intel Galileo Gen 2

In de volgende zal wij u tonen hoe om te schieten een timelapse-video met de Intel Galileo Gen 2 of een dergelijke plaat.Wij zullen een 2.5mm jack gebruiken om de Raad van bestuur verbinden met een Canon DSLR en vervolgens bepalen de sluiter met onze
Intel Galileo Gen 2 lichtsensor met Seed Studio starterskit

Intel Galileo Gen 2 lichtsensor met Seed Studio starterskit

Hier ga ik om u te tonen hoe maak je een eenvoudige Gen2 Intel Galileo-Project met een lichtsensor en een LCD-scherm.In principe wanneer er licht de display wordt verondersteld Display "Er is Light" en "Doen dingen". Het "Doen Stu
Eenvoudige Pi Robot

Eenvoudige Pi Robot

Eenvoudige Pi Robot wil zetten robot controle in eenvoudige vorm, het ontwerp van de robot is vergelijkbaar met de veelzijdige GOPIGO robot gebouwd door dexter industrieën.De lijst met(1) raspberry pi (ieder model) is maar met de recente lancering va
Jeff-A goedkoop en eenvoudig IC-robot

Jeff-A goedkoop en eenvoudig IC-robot

Jeff duurde 5 weken om te concurreren en is een eenvoudige IC-robot. Jeff's belangrijkste ding is de led koplampen heks kom op automatisch wanneer het donker is. Het werkt door het hebben van wat heet een huidige Zie zere heks wanneer de huidige is h
SUPER EENVOUDIGE BEGINNERS ROBOT II (ARDUINO UNO VER.)

SUPER EENVOUDIGE BEGINNERS ROBOT II (ARDUINO UNO VER.)

Dit ' ible is gebaseerd op mijn behoorlijk populair SUPER eenvoudige BEGINNERS ROBOT ' ible. Na vele, vele verzoeken om een bijgewerkte versie van de Arduino, is hier het!Ik heb dit Instructable, en zijn voorganger, voor de absolute n00by robot wanna
Eenvoudige Walker Robot

Eenvoudige Walker Robot

Het bouwen van een eenvoudige wandelende robot is echt gemakkelijk. Laat niet het aantal stappen dat u gek te anders geloven. Deze robot is in feite gemaakt met een handvol van huishoudelijke artikelen en sommige eenvoudige elektronica die u gemakkel
Grove starterskit met Intel Galileo Gen 2: Aan de slag

Grove starterskit met Intel Galileo Gen 2: Aan de slag

Toen ik begon met IoT was ik al verward over elektronica materialen,weerstanden en circuits, dan heb ik kreeg het Seeed Studio Grove startpakket plus. Daarmee moeten we gewoon stekker van de sensor modules in plaats van het beheer van it door soldere
Eenvoudige 2WD Robot Chassis

Eenvoudige 2WD Robot Chassis

een kleine CNC machine is handig wanneer u wilt iets mechanische onderdelen maken door uzelf voor uw robot of andere structuren.Onlangs, ik heb een kleine stap voor mezelf en gebruiken voor het maken van een eenvoudige 2WD Robot Chassis snel.Stap 1:
Streaming USB-Webcam met de Intel Galileo Gen 2

Streaming USB-Webcam met de Intel Galileo Gen 2

Welkom!Vandaag zullen we leren hoe te streamen van een USB-webcam met de Intel Galileo Gen 2.We moeten het gebruik van "sudo apt-get" zodat een Debian Linux te bouwen op uw Galileo nodig is.Volg mijn Instructable voor het bouwen van een Debian L
Eenvoudig DIY Robot Valentines

Eenvoudig DIY Robot Valentines

Dit jaar iets anders doen voor je Valentijn. Licht van de dag met een eenvoudige DIY LED Robot Valentijnsdag kaart.Stap 1: Verzamel uw materialenU moet:Gratis Robot Valentine afdrukbareWenskaartpapier of cardstockKoperen tape1 rode LED1 3V horloge ba
Hoe het bouwen van een eenvoudige bewegende robot(beginners)

Hoe het bouwen van een eenvoudige bewegende robot(beginners)

Een zeer eenvoudige robot met zeer fundamentele onderdelen die worden gebruikt die uw belangen in robotica zou ontbranden. Geniet van het maken!Stap 1: Hulpprogramma's en onderdelen Laten we beginnen met het verzamelen is alle onderdelen. U kunt stap
De Crawli - een eenvoudige zachte Robot lopen

De Crawli - een eenvoudige zachte Robot lopen

Zachte Robotics is een jonge veld van robotica die blijven groeien elke dag. Veel zachte robotica projecten in de Gemeenschap zijn echter eenvoudige actuatoren of zachte sensoren, niet volledig zacht robots. Dit is de Crawli. Het is een kruipende zac