Neues Hobby reloaded...

Posted by André Naumann • Wednesday, September 9. 2009
Damit ich endlich mal in die elektrische Seite meiner Drohne einsteigen und ein paar Gehversuche im Kleinen unternehmen kann, hab ich letztens doch glatt ein schickes Arduino-Board bestellt und letztendlich auch bekommen und ich bin beeindruckt, was man damit alles anstellen kann.




Theoretisch kann man damit natürlich alles bauen.. Von der Miniaturampel bis zur Kernkraftwerksteuerung, aber es ist unglaublich einfach.
In den Bildern hab ich ja eine Reihe LEDs auf eine Steckplatine getan. Masse geht einmal komplett durch Reihe ein, in den Reihen 2 und folgende sind die Anschlüsse für +5V aufgelegt.

Die +5V-Anschlüsse kann man nun z.B. auf Digitalpins am Arduino legen(die Pins 0 bis 13, wenn man den seriellen Anschluss nicht nutzt) und folgendermaßen die LEDs einschalten(hier im Beispiel 5 LEDs an Pins 13-9:


void setup() {
pinMode(13, OUTPUT); // Pin in den Ausgabemodus setzen, es werden Daten AUSgegeben, nicht EINgelesen
pinMode(12, OUTPUT); // Pin in den Ausgabemodus setzen, es werden Daten AUSgegeben, nicht EINgelesen
pinMode(11, OUTPUT); // Pin in den Ausgabemodus setzen, es werden Daten AUSgegeben, nicht EINgelesen
pinMode(10, OUTPUT); // Pin in den Ausgabemodus setzen, es werden Daten AUSgegeben, nicht EINgelesen
pinMode(9, OUTPUT); // Pin in den Ausgabemodus setzen, es werden Daten AUSgegeben, nicht EINgelesen

digitalWrite(13, LOW); // Spannungspegel am Pin RUNTERsetzen(== LED aus)
digitalWrite(12, LOW); // Spannungspegel am Pin RUNTERsetzen(== LED aus)
digitalWrite(11, LOW); // Spannungspegel am Pin RUNTERsetzen(== LED aus)
digitalWrite(10, LOW); // Spannungspegel am Pin RUNTERsetzen(== LED aus)
digitalWrite(9, LOW); // Spannungspegel am Pin RUNTERsetzen(== LED aus)
}


void loop() {
digitalWrite(13, HIGH); // Spannungspegel am Pin HOCHsetzen(== LED an)
delay(250);
digitalWrite(12, HIGH); // Spannungspegel am Pin HOCHsetzen(== LED an)
delay(250);
digitalWrite(11, HIGH); // Spannungspegel am Pin HOCHsetzen(== LED an)
delay(250);
digitalWrite(10, HIGH); // Spannungspegel am Pin HOCHsetzen(== LED an)
delay(250);
digitalWrite(9, HIGH); // Spannungspegel am Pin HOCHsetzen(== LED an)
}



Und fertig :-) Die Funktion "setup()" wird einmalig beim Start des Arduino-Boards aufgerufen, danach wird regelmäßig die Funktion "loop()" aufgerufen, in der man dann einfach seinen Code hinterlegt. Ähnlich aufregend wie das Anschalten von LEDs über Digitalpins geht dann z.B. auch das Steuern von Modellbauservos, dafür und für vieles mehr gibts vorgefertigte Bibliotheken.

Derzeit bastel ich daran, das Summensignal meiner umgebauten Fernsteuerungsempfänger auszuwerten und dann mal gucken, vielleicht wirds n Modellbauauto mit Autopilot ;-) NMEA-Datensätze aus dem GPS-Empfänger hab ich jedenfalls schon irgendwann mal nebenbei in Java zerlegt und in Positionsangaben für Openstreetmap-Karten verwurstet.

Für 25EUR ist das Arduino-Board jedenfalls ein relativ günstiges und trotzdem fast unbegrenzt einsetzbares kleines Spielzeug :-)
So eine Steckplatine kann man auch als Erweiterungsboard auf den Arduino aufstecken.. Diese "Shields" genannten Aufsätze gibts dann auch noch mit Ethernet, XBee-Funkmodulen oder Schiebereglern und Knöpfen...

Und was es nicht gibt, das baut man sich halt und kabelts an ;-)
Nachdem ich durch die Drohnenbauerei inzwischen diverse Datenblätter zu meinem Kompass oder den Lagesensoren gelesen hab, stell ich mehr und mehr fest, dass das alles auch keine Hexerei ist :-)


Wie man an den vielen Smileys sieht, hab ich Spaß mit dem Ding. Kein Wunder: Man kann relativ einfach ziemlich viel bauen, es verträgt sich mit Linux und kriegt ganz einfach per USB seinen Strom, seinen Code und liefert bei Bedarf Ausgabe zurück.


Defined tags for this entry: ,

0 Comments

Display comments as (Linear | Threaded)
  1. No comments

Add Comment


Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA 1CAPTCHA 2CAPTCHA 3CAPTCHA 4CAPTCHA 5


Pavatar/Gravatar/Favatar/MyBlogLog/Pavatar author images supported.


A Simple Sidebar