Freitag, 5. August 2011

Android IOIO Roboter Teil 1


Hey ich bin 31 und verdiene etwas Geld, wieso kann ich mir nicht meinen Jugend und Studententraum erfüllen und einen autonomen Roboter bauen.
Die Begeisterung dafür begann in der 11ten Klasse 1997 mit der Landung des kleinen Pathfinders auf dem Mars. Ich war ständig im Internet (für 1.60 DM die Stunde) und schaute den JPEGs zu wie sie sich Zeile für Zeile aufbauten. Ich las jedes technische Manual über die Geräte und die Steuerung an Board und hier auf der Erde.

2004 während ich mein Diplom schrieb landeten dann die größeren und leistungsfähigeren Spirit und Opportunity auf dem Mars und bereiteten mir abermals schlaflose Nächte. Man kann sagen die spannensten, vernebelsten und inspirierensten Nächte meines Lebens hatte ich mit den dreien ;-)


Ich habe mich zwar in meiner Jugend schonmal ausführlich mit Elektronik beschäftigt, aber gebaut habe ich im Endeffekt nur Zeitzünder (astabile Kippschaltungen) für Rohrbomben ;) Im Informatikstudium hatte ich dann Grundlagen der technischen Informatik und habe Schaltungen mittels SPICE simuliert.
Richtig warm geworden bin ich damit nicht und habe daher die Methode der Softwareentwicklung in mein Herz geschlossen, um Dinge und Abläufe zu Erschaffen.

Seit kurzem gibt es jedoch für Android diverse Möglichkeiten digitales und analoges in und output über das Android zu steuern. Zum standard entwickelt sich gerade das Android Open Accessory Development Kit - ADK welches z.B. mit einem Arduino Board den Draht zur richtigen Welt herstellt. Ich finde den Standard aber noch nicht ausgereift genug und brauche nicht die tollen Möglichkeiten eines Arduinos (z.b. Programmierung von Routinen auf dem Board).
Deshalb habe ich mich (zunächst) für das einfache Konzept des Android IOIO (sprich JoJo) entschieden. Ein kleines Board mit USB-Buchse an das das Android angeschlossen wird. Die 48 pins kann man nun mit einer einfachen JAVA-API aus einer App auf dem Handy steuern und auslesen. Das Board kostet ca 40€ und ich habs natürlich im ersten Eifer des Gefechts durchgeraucht ;)
Lustig ist, dass es erst einen Monat rumlag und erst durch Falkos Vortrag auf dem Berliner Android Stammtisch bin ich geil darauf geworden ;) Also hab ich mir gleich noch eins geholt

Dann habe ich mit einem Breadboard losgelegt und erstmal einfachste Schaltungung aufgebaut. Hier im ersten Video spiele ich mit dem digitalen Output und lasse eine LED per Knopfdruck leuchten ;) 

Als erste Herausforderung wollte ich einen Countdown darstellen, der von 9 bis 0 runterzaehlt. Dazu habe ich eine 7 Segment LCD verwendet und hatte anfänglich extreme Schwierigkeiten mit der gemeinsamen Anode


Weiter ging es dann mit einer Transistorschaltung, also mittels des digitalen Outputs einen zweiten Steuerstromkreis schalten.



Und dann gings los. 150 Tacken bei Conrad ausgegeben und einen Roboterbausatz für 40€ sowie Lötkolben, Strommesser, kleinzeugs und und und gekauft.

Der Bausatz macht mit einem eigenen Prozessor eigentlich genaus das was ich will, aber wo bitte bleibt der Spass wenn man nach Anleitung zusammenlötet und dann mit vorgegebenen Routinen in oldschool C auf dem 8MHz Prozessor rumfriemelt, wenn man ein Android mit Kompass, Beschleunigungssensoren, GPS, ner Cam und 600MHz hat ;)


Als erstes habe ich mich mal um die Motorsteuerung gekümmert. Der Roboter hat zwei Räder und kann sich auf der Stelle drehen. Dazu benötigt er pro Rad ein Motor der in beide Richtungen drehen kann. Zum Glück war im Bausatz ein L293D IC dabei, der mit zwei digitalen Inputs pro Motor die Drehrichtung steuern kann und die Geschwindigkeit mit einem PWM regelt.

Beim rumprobieren mit dem gepulsten PWM Signal ist es dann mal wieder passiert. 12V an einen digitalen Eingang gelegt und die ganze cbase hat wieder mal rauch aufsteigen sehen ;) Egal, bei den Jungs von http://www.bausteln.de hab ich dann noch 2 IOIO's gefunden und ein drittes für den Fall der Fälle bestellt. Der IOIO Counter ist nun bei 5

Und weiter ging es mit dem Roboterbau. Die Räder wurden montiert und die Motorsteuerung mit dem neuen IOIO fertiggebaut. auf dem oberen rechten Video sieht man einen Trockenlauf.


Voila die erste fahrt. Das Android halte ich noch in der Hand, deshalb das USB-Kabel, aber in der endgütligen Version schnalle ich das Handy oben rauf und benutze es als Kopf mit Gehirn und Auge. Google+ Post dazu

Nachdem die Steuerung nun erstmal fertig war habe ich mich mit den Sensoren beschäftigt und erst einmal mit Fotowiderständen und Transistoren rumgespielt. Diese brauche ich unter anderem für die Wanderkennung bzw. für die Drehzahlmessung.
Im letzten Video des ersten Teils erkläre ich wie die Drehzahlmessung funktionieren wird.

to be continued.........

Kommentar veröffentlichen