background preloader

Facebook Twitter

Befehle, Methoden, ...

Keyboardhack. Tastatur hacken statt wegwerfen Als Hacking bezeichnet man einen Eingriff in elektronische Geräte um deren Funktion in neuem Kontext zu verwenden.

Keyboardhack

Populärer Vertreter ist der so genannte Keyboardhack, bei dem die Platine einer Computertastatur mit neuen Schaltern und Sensoren ausgestattet wird. Um einen Keyboardhack durchzuführen, muss man als erstes eine Tastatur zerlegen. Arduino IO-Board. Arduino Duemilanove mit Atmega 328 Das IO-Board Arduino ist seit seiner ersten Veröffentlichung stetig weiter entwickelt worden.

Arduino IO-Board

Da es sich um offene Hardware handelt (jeder darf sie nachbauen, verändern und vervielfältigen), sind mittlerweile viele offizielle und nicht offizielle Varianten des Boards auf dem Markt. Die Wichtigsten sind: Arduino Duemilanove – Standard-ArduinoArduino Mega – mehr IO-KanäleArduino Nano – sehr kleine BauformLilypad – optimiert für die Integration in Textilien. Sketching. Arduino Software. Screenshot der Arduinosoftware Die Arduino Software findet man auf Hier kann man zwischen einer Windows, Mac OS X und Linuxversion wählen.

Arduino Software

Die Software ist komplett kostenlos. Für die Installation gibt es eine Schritt-für-Schritt-Anleitung auf der Arduino-Website. Man benötigt zu dem eigentlichen Arduino-Programm auch einen FTDI Treiber, der mit dem Installationspaket kommt, aber separat installiert werden muss. Struktur eines Sketches. Digital Out. LED im GND und dem Digital 13 Digital Out digitalOut(); ist eine Funktion, bei der ein digitaler Kanal des Arduino-Boards, das als Output deklariert ist, ein oder ausgeschaltet werden kann.

Digital Out

Digital In. Button am Digital 2 Um ein digitales Signal zu erfassen (Schalter, Taster, usw.), erweitert man die Schaltung um einen Taster und einen Widerstand.

Digital In

Analog Out. Sechs der digitalen Kanäle auf dem Arduino-Boards sind nicht nur digital, sondern auch analog ansteuerbar.

Analog Out

Sie sind mit dem Aufdruck PWM gekennzeichnet (Kanal 3, 5, 6, 9, 10, 11). PWM (Pulse Width Modulation) bedeutet, dass kein konstantes Signal an dem Kanal anliegt, sondern dass dieser Kanal kontinuierlich an- und abgeschalten wird. In der Arduino-Software übergibt man einen Wert zwischen 0 und 255 an den Kanal. 0 entspricht dem GND (Minus-Pol), 255 entspricht 5V+, Zwischenwerte bedeuten für träge Bauteile (LEDs, Motoren, etc.) also eine Spannung zwischen 0 und 5V. Damit kann man also die Geschwindigkeit von Motoren oder die Helligkeit einer LED regulieren. Analog In. Potentiometer am Analog 0 Im Gegensatz zu digitalen Signalen, die entweder HIGH oder LOW sind, liefern analoge Sensoren auch Zwischenwerte.

Analog In

Analoge Sensoren sind z.B. druckempfindliche Widerstände (FSR), Lichtsensoren oder auch Temperaturfühler. Im Beispiel ist ein Potentiometer ans Arduino-Board angeschlossen. Die beiden äußeren Beine werden mit dem GND und dem 5V+ verbunden, das mittlere mit einem Analog Input. Das Arduino-Board kann nun das Verhältnis der Widerstände zu einander ermitteln und liefert durch den Befehl analogRead(Pin); Werte zwischen 0 und 1023. Das Beispiel AnalogInput (File>Examples>Analog>AnalogInput) aus der Arduino-Software lässt eine LED verschieden schnell blinken. Im Beispiel wird das mittlere Bein des Potentiometers im AnalogIn 0 ausgelesen. Nun kann man das Potentiometer auch gegen einen anderen Sensor austauschen. Referenzwiderstand und Sensor Ein Fotowiderstand allein kann dieses Verhältnis nicht liefern. Verstärkung durch Transistor.

Motorsteuerung eines Schrittmotors (Stepper Motor) Accelerometer. Arduino Shields. Wave-Shield (hinten links), XBee-Shield (hinten rechts) und ein DIY Shield Platinen, die direkt auf das Arduino-Board gesteckt werden, werden als Shields bezeichnet.

Arduino Shields

Es gibt eine ganze Reihe von fertigen Shields und Shield-Kits (Platine und Bauteile, die man selbst verlöten muss). Einige Beispiele: Arduino-Schematics. Schaltplan des Arduino Diecimila Schematics nennt man den Schaltplan zu einem elektronischen Objekt.

Arduino-Schematics

Auf den ersten Blick sieht diese Zeichnung verwirrend aus. Jede schwarze Linie ist eine elektrische Verbindung, jedes Schaltsymbol hat einen eindeutigen Namen (z.B. C7 für Capacitor Nummer 7). Dazu gibt es nicht verbundene Linien, die aber mit einem Namen ausgestattet sind (z.B. Die Schaltung vom Arduino Diecimila besteht aus drei Teilschaltungen: eine Spannungsregelung für den Betrieb mit externen Netzteilen, ein Konverterschaltung um USB Signale in Serielle Signale umzuwandeln und eine Schaltung für den Betrieb des Microcontroller-Chips. Barebones-Arduino. Arduino als Stand Alone Version Um ein Arduino auf dem Breadboard zu bauen, benötigt man z.B. einen ATMEGA 168 IC, auf dem sich der Arduino Bootloader befinden (Siehe Arduino Bootloader).

Barebones-Arduino

Dann fängt man am besten mit der bekannten Spannungsregler-Schaltung an. Nun wird der IC platziert. Jetzt kommen die Stromanschlüsse und Federleisten dazu. Die Federleisten sind optional und nicht unbedingt nötig. ScratchPad. Programmstruktur. Variablen. Eine Variable ist ein Container für Werte des Typs der Variable. Variablentypen sind: Variablentyp int Der Variablentyp int speichert ganze Zahlen in einem Wertebereich von -32.768 bis 32.767.

In diesem Beispiel wird der ganzzahligen (int) Variable meinWert der Wert 10 zugewiesen. Überall, wo man nun auf meinWert zugreift, erhält man 10. Variablentyp long Reicht der Wertebereich von int nicht aus, so kann man auf den Variablentyp long zurückgreifen. Befehle. Befehle sind Anweisungen, die Methoden in der Arduino-Software aufrufen. pinMode() Der Befehl pinMode(Pin,Modus) deklariert einen digitalen Kanal auf dem Arduino-Board entweder als Eingang (INPUT) oder Ausgang (OUTPUT). Er bekommt als zusätzliche Informationen den Pin (Kanal) und die Funktion. digitalWrite() Der Befehl digitalWrite(Pin,Wert) schaltet einen, zuvor mit pinMode() als OUTPUT deklarierten, digitalen Kanal auf HIGH (5V+) oder LOW (GND). digitalRead() Der Befehl digitalRead(Pin) liest ein digitales Signal am Übergebenen digitalen Kanal aus.

AnalogWrite() Der Befehl analogWrite(Pin, Wert) setzt eine Spannung auf einen PWM-Kanal (digitale Kanäle mit PWM gekennzeichnet: 3, 5, 6, 9, 10, 11). Methoden. Operatoren. Abfragen. Schleifen. Bibliotheken. Netzteil. Standard Steckernetzteil Es gibt verschiedene Arten von Netzteilen. Besonders interessant, weil einfach anzuwenden sind Steckernetzteile.

Das komplette Netzteil ist an einem 230V Stecker angebracht und ein kleines Kabel liefert den benötigten Strom. Es gibt Netzteile für Wechsel- und Gleichstrom. Wechselstrom-Netzteile sind mit einer Wellenlinie (meist hinter der Spannungsangabe z.B. 9V ~) oder mit der Bezeichnung AC (alternating current) gekennzeichnet, Gleichstrom-Netzteile mit einem Gleichheitszeichen (9V =) oder dem Aufdruck DC (direct current). Es gibt einstellbare Netzteile, an denen man die benötigte Spannung einstellen kann und nicht regelbare Netzteile, die eine feste Spannung liefern. Wichtig ist auch die Angabe des maximalen Stroms, der geliefert werden kann (z.B. Die Polung ist bei einem Netzteil sehr wichtig. Ein Pfeil auf der Buchse und dem Adapterstecker zeigen, wie beide Komponenten zusammen gefügt werden müssen.