Archive for the ‘Programmierung’ Category.

Arduino – Das zweite Projekt

Das sich die Lebensdauer von LEDs verkürzt, wenn sie direkt an einer Stromquelle hängen, macht es Sinn, einen Widerstand vorzuschalten. Die Frage ist nur, wieviel Ohm dieser Widerstand haben soll. Mittel
LED Vorwiderstandsrechner kommen ich auf einen 220 Volt Widerstand. Die Durchlassspannung für rote LEDs wird hier mit 1.9 Volt angegeben. Aus Pin 13 kommen 5V, also müssen 3.1 Volt vernichtet werden. Den Widerstand erhält man dann mit R = U / I, also R = 3,1 / 0,02 = 155 Ohm. Da es Widerstände nicht in jeder beliebigen Größe gibt, zeigt der Rechner 220 Ohm als nächsten Wert an.

Da ich ohne Lötarbeiten den Widerstand nicht mit der LED verbinden kann, nutze ich das Breadboard, das beim Arduino Kit von Watterott beilag. Nach dem Einsetzen von Widerstand und LED bekommt man dann die folgende (funktionierende) Schaltung.

Arduino, 2. Experiment

Die rechte Drahtbrücke geht von unserem Pin 13 in Pin 30 des Steckboards, der Widerstand von Pin 30 zu Pin 22, die LED von 22 zu 21, die linke Drahtbrücke dann von Port 21 zu GND auf dem Arduino.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Arduino – Das erste Projekt

Das erste Beispiel im Buch von Massimo Banzi ist das Blinkenlassen einer LED. Bei der Bestellung meines Arduinos hatte ich das Starterkit gleich mitbestellt, in dem neben diversen Bauteilen auch 15 LEDs enthalten waren.

Das „Projekt“ unterteilt sich in zwei Schritte: a) Setup der Hardware und b) Programmierung des Controllers.

Hardware

Eine der roten LEDs wird an das Arduino Board angeschlossen. Dazu steckt man den langen Pin der LED (die Anode) in Buchse 13, den kurzen Pin in die GND Buchse. Das war’s auch schon (wenn wir mal davon ausgehen, dass das Arduino Board am Rechner schon funktioniert).

Software

Um die Software auf den Arduino zu bekommen, schließen wir ihn per USB an den Rechner an. Als ich dies das erste Mal gemacht habe, flickerte die eingesteckte LED wie auch die kleine SMD LED (auf dem Board mit L unter Pin 13) unkontrolliert. In der Arduino Entwicklungsumgebung geben wir dann den folgenden Code ein und übertragen ihn im Anschluss auf den Controller:

#define LED 13
 
void setup(){
   pinMode(LED, OUTPUT);
}
 
void loop(){
   digitalWrite(LED, HIGH);
   delay(1000);
   digitalWrite(LED, LOW);
   delay(1000);
}

Das #define ist nur eine Definition, um bei allen weiteren Vorkommen von „LED“ dieses Wort durch die 13 zu ersetzen. In der setup() Funktion legen wir fest, dass der LED Pin, also Pin Nummer 13, ein Ausgabe-Port ist. In der loop() Funktion kommt dann der eigentliche Blink-Code, im Abstand von einer Sekunde Wartezeit wird das Signal auf HIGH bzw. LOW gesetzt.

Einige Sekunden nach der Übertragung auf das Board erhält man dann das folgende Ergebnis:

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Arduino – Einführung

Vor ein paar Tagen kam mein Arduino Duemilanove Mikrocontroller Kit an, das ich bei Watterott bestellt hatte. Der Mikrocontroller ist ein ATmega328 mit 32kb Flash, 2kb Ram und 1kb EEPROM. Programmiert wird das Board vom PC oder MAC aus, die entsprechende Software steht für Windows, Linux und Mac OS X unter www.arduino.cc

Auf dem Bild kann man links die USB-Buchse und die Buchse zur Stromversorgung erkennen (9V, Pluspol innen). Die 12 Buchsen rechts unten und die 16 Buchsen rechts oben dienen dem Anschluss von Bauteilen und dem Sockeln von „Shields“, Zusatzplatinen die z.B. den Netzwerkanschluss bereitstellen.

Arduino

Beschreibung der oberen Buchsen

AREF Referenzpin für die analogen Eingänge, momentan irrelevant.
GND Masse
13-0 Digitale Ein- und Ausgänge

Die Buchsen 10-9, 6, 5 und 3 unterstützen Pulsweitenmodulation (PWM), laut Wikipedia „eine Modulationsart, bei der eine technische Größe (z. B. elektrischer Strom) zwischen zwei Werten wechselt.“ Nutzen lässt sich dies zum Beispiel für das Dimmen von LEDs, dazu in einem späteren Artikel mehr.

Beschreibung der unteren Buchsen

RESET Reset-Pin, falls der Button auf dem Board mal durch ein Shield abgedeckt sein sollte.
3V3 3,3V Gleichspannung
5V 5V Gleichspannung
GND Masse
Vin Die vom Netzteil durchgereichte Spannung, bei mir 9V.
0-5 Analoge-Input Pins, die Werte zwischen 0 und 1023 für Werte zwischen 0 und 5 Volt zurückliefern.

Die ICSP-Pins an der rechten Seite dienen zur direkten Programmierung des Controllers, für die anfängliche Spielerei mit dem Board sind sie irrelevant. Wenn man Controller-Chips ohne Bootloader kauft, werden sie jedoch relevant.

Weitere Informationen zu Arduino finden sich auch in der Wikipedia: Arduino-Plattform, mit „Getting Started with Arduino“ von Massimo Banzi (ISBN: 978-0-596-15551-3) liegt auch ein sehr gutes Buch vor.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website