Академический Документы
Профессиональный Документы
Культура Документы
SOURCE-
ELEKTRONIK-
PROTOTYPING-
PLATTFORM
Arduino
für Einsteiger
Massimo Banzi Mitbegründer von Arduino
Übersetzung von Tanja Feder
Inhalt
Inhalt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III
Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
1/Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
An wen sich das Buch richtet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Was ist Physical Computing? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3/Die Arduino-Plattform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Die Arduino-Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Die Software (IDE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Die Installation von Arduino auf dem Computer . . . . . . . . . . . . . . . . . . . . . . 20
Installation der Treiber unter Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Installation der Treiber unter Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Port-Identifikation unter Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Port-Identifikation unter Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Inhalt III
Steuerung einer LED mit einem Drucktaster . . . . . . . . . . . . . . . . . . . . . . . . . 39
Erläuterung der Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Ein Schaltkreis – 1000 Verhaltensweisen . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7/Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Testen des Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Testen des Schaltkreises auf der Steckplatine . . . . . . . . . . . . . . . . . . . . . . . 87
Das Isolieren von Problemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Probleme mit der IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
So finden Sie Onlinehilfe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
IV Inhalt
4/Die ersten Schritte
mit Arduino
Als Nächstes werden Sie erfahren, wie Sie ein interaktives Gerät bauen und
programmieren können.
Abbildung 4-1.
Das interaktive Gerät
Wenn die Sensoren ausgelesen wurden, verfügt das Gerät über die Infor-
mationen, die erforderlich sind, um zu entscheiden, wie es reagieren soll.
Der Prozess der Entscheidungsfindung wird vom Mikrocontroller abge-
wickelt, und die Reaktion erfolgt über die Aktoren. In unserem Körper
beispielsweise erhalten die Muskeln elektrische Signale vom Gehirn, die sie
dann in Bewegung umsetzen. Im Bereich der Elektronik könnten diese
Funktionen z.B. durch Licht oder einen elektrischen Motor ausgeführt
werden.
Ihr Arduino-Board wird mit einer vorinstallierten LED geliefert. Diese ist mit
einem L gekennzeichnet. Sie können auch Ihre eigene LED hinzufügen.
Schließen Sie sie so an, wie es in Abbildung 4-2 dargestellt ist.
Abbildung 4-2.
Anschließen einer LED an das Arduino-Board
Wenn die LED angeschlossen ist, muss Arduino mitgeteilt werden, was zu
tun ist. Dies erfolgt mithilfe von Code, einer Liste von Anweisungen, die wir
wiederum dem Mikrocontroller übermitteln und mit der wir ihn dazu brin-
gen, das zu tun, was wir möchten.
Öffnen Sie auf Ihrem Computer den Ordner, in den Sie die Arduino-IDE
kopiert haben. Starten Sie die IDE mit einem Doppelklick auf das entspre-
chende Symbol. Wählen Sie File → New aus. Sie werden nun aufgefordert,
void setup()
{
pinMode(LED, OUTPUT); // sets the digital
// pin as output
}
void loop()
{
digitalWrite(LED, HIGH); // turns the LED on
delay(1000); // waits for a second
digitalWrite(LED, LOW); // turns the LED off
delay(1000); // waits for a second
}
Nun, da sich der Code in Ihrer IDE befindet, müssen Sie ihn auf Fehler
überprüfen. Klicken Sie auf die Schaltfläche Verify (Abbildung 4-3 zeigt, wo
sie sich befindet); wenn alles korrekt ist, wird die Nachricht Done compiling
am unteren Rand der Arduino-IDE angezeigt. Diese Nachricht bedeutet,
dass die Arduino-IDE Ihren Sketch in ein ausführbares Programm über-
setzt hat, das auf Ihrem Board ausgeführt werden kann, ähnlich wie das bei
einer .exe-Datei unter Windows oder bei einer .app-Datei unter Mac der Fall
ist.
Index 117
Bewegungsmelder, passive Infra- delay( ), Funktion 34, 107
rotsensoren (PIR-Sensoren) 52 Ändern der Zeiten 54
blinkende LED, Sketch 26–31 delayMicroseconds( ), Funktion
Code, Schritt für Schritt 34–35 108
der Code, Schritt für Schritt 32, Design, Interaction Design 2
35 Device Manager (Windows) 23, 89
blinkende LEDs Dezimalzahlen 74
Code, LEDs in einer Geschwin- Diecimila-Board 18, 86
digkeit blinken lassen, die am digital
analogen Input-Pin festgelegt Input 71
wurde 64 INPUT oder OUTPUT, Modi für
Steuerung mittels PWM 54 Pins 33
Boolean, Datatyp 99 Output 71
byte, Datentyp 99 Pins 18, 33
programmierbare Elektronik,
Vorteile 43
C digitalRead( ), Funktion 40
C, Sprache 20 Speichern eines zurückgeliefer-
char, Datatyp 99 ten Ergebnisses in einer Va-
Code riablen 44
Arduino, eine vernetzte Lampe digitalRead( ), Funktion 106
mit Arduino 81–82 digitalWrite( ), Funktion 34, 106
Arduino, vernetzte Lampe mit Dioden
Processing 78 1N4007 68
Einschalten der LED, wenn der do . . . while-Anweisung 102
Taster gedrückt ist 45 double, Datentyp 100
Einschalten einer LED bei ge- Drucktaster, Schaltskizzensymbol
drücktem Drucktaster und sie für 115
anschließend am Leuchten Duemilanove-Board 18
halten 47 Dyson, James 6
Einschalten einer LED bei ge-
drücktem Taster, mit Entprel-
len 48 E
Festlegen der Helligkeit einer Ein/Aus-Sensoren 51–52
LED mittels analogen Inputs elektrische Spannung
65 auslesen 18
Codeblöcke 30–31, 33 Elektrizität 36, 38, 40
Colombo, Joe 72 Elektroschrott, Verwenden von 14
COM-Port, unter Windows 24 externe Stromversorgung 18
Computertastaturen 13 Extreme-Board 86
constrain( ), Funktion 108
continue, Anweisung 103
cos( ), Funktion 109 F
FALSE 43
false 98
D Farben, HTML-Kodierung 74
Datatypen 99, 101 Flash-Speicher 44
Debugging 86 float, Datentyp 100
118 Index
Forum 90 digital 71
Fotowiderstand 26 Funktionen für 105
Funktionen 31 Input/Output-(I/O-)Board 1
Input und Output 105 int, Datentyp 99
serielle Kommunikation 110 int, Variable 44
Zeit 107 Interaktives Gerät 25
Interpunktion 99
G
gemeinsame Kathode 83 K
gestische Schnittstelle 52 K (Kathode) 27
Ghazala, Reed 10 Kathode 27
Kernighan, Brian W. 88
Kommentare 32, 98
H komplexe Sensoren 68
Hacken Konstanten 33, 98
Elektroschrott 14 Kontrollstrukturen 101, 105
Spielzeug 15 Kooperation von Arduino-Nutzern
Haque, Usman 15 16
Hardware, Arduino 17–18
Helligkeit
ändern für blinkende LEDs 54 L
Festlegen für LED mittels analo- L (LED) 26, 86
gen Inputs 65 Lampen 83
hexadezimale Zahlen 74 interaktiv 35
HIGH 33, 40 kugelförmige, vernetzte Lampe
Hilfe, Onlinequellen 89 72, 83–84
Hopper, Grace 85 Lateinisches Alphabet 99
HTML, Darstellung von Farben in 74 LEDs
anschließen an Arduino 27
blinkende LED, Erläuterung des
I Sketch-Codes 35
IDE (Integrated Development Envi- blinkende LED, Erläuterung
ronment, Integrierte Entwick- des Sketch-Codes 32, 36
lungsumgebung eine blinkene LED, Erläuterung
Processing, Tools-Menü, Create des Sketch-Codes 33
Font 78 LED, Konstante 32
IDE (Integrated Development Envi- RGB 83
ronment, Integrierte Entwick- Lesen von Schaltskizzen 113
lungsumgebung) 20 Lesen von Widerständen und
Überprüfung des Codes 29 Kondensatoren 95
if . . . else-Anweisung 100 Licht
if-Anweisungen 43 Steuerung und Ermöglichung
IKEA, Tischlampe FADO 82 einer Interaktion 35
Induktor, Symbol für 114 Lichtsensoren 61–62, 65
Infrarot-Ranger 68
INPUT 33
Input
analog 62
Index 119
Linux OUTPUT 33
Installieren von Arduino 20
Onlinehilfe beim Installieren von
Arduino 20 P
long datatype 100 passive Infrarotsensoren (PIR-Sen-
loop( ), Funktion 31, 33, 97 soren) 52
lötfreie Steckplatine 40, 93 Patching 8
LOW 34, 40 Physical Computing 3
Pike, Rob 88
pinMode( ), Funktion 33, 106
M Pins, Arduino-Board 18, 93
Macintosh 20 Milliampere Maximumkapazi-
Installation der Treiber 21 tät 67
Installieren von Arduino 20 analog 106
Magnetische Schalter 51 Analog In 62
Make-Blog 72 Konfigurieren digitaler Pins 106
Maker Shed, Bauteile 40 LED, angeschlossen an PWM-Pin
map( ), Funktion 109 57
mathematische und trigonometri- Prüfen auf anliegende
sche Funktionen 108 Spannung 39
max( ), Funktion 108 Playground (Wiki) 16
Mikrocontroller 3 Playground-Wiki 90
millis( ), Funktion 107 Port-Identifikation 23–24
Millisekunden 34 Windows COM-Port-Nummer 88
min( ), Funktion 108 Potentiometer, Symbol für 115
mittels Drucktaster gesteuerte Power Selection Jumper
LEDs (PWR_SEL) 18
Code 42 Praxis der Programmierung 88
Code, Einschalten der LED, Prellen 48
wenn der Taster gedrückt Entprellen bei durch Drucktaster
ist 45 gesteuerten LEDs 48
Moog, Robert 8 Processing, Sprache 1, 20, 67
MOSFET-Transistor 67 Sketch, eine vernetzte Lampe
IRF520 68 mit Arduino 74, 79
Vorteile der Verwendung mit
Arduino 73
N Programmierung
Neigungsschalter 51 Zyklus 20
NG-Board 18, 86 Prototyping 6
Pseudozufallszahlen-Generator 110
O pulseIn( ), Funktion 107
Objekt, definiert 66 PWM (Pulsweitenmodulation) 54
Ohm 38 LED, angeschlossen an PWM-Pin
Ohmsches Gesetz, Formel 39 57
Opportunistisches Prototyping 6 PWR_SEL 18
Output
digital 71
Funktionen für 105
120 Index
R Auf- und Abblenden einer LED 57
R (Widerstand) = V (Spannung) / I blinkende LED 26–28, 31
(Strom) 39 blinkende LED, Codeerläuterung
RAM 44 35
random( ), Funktion 110 blinkende LED, Erläuterung des
randomSeed( )-Zahl 110 Sketch-Codes 33, 36
Reed-Relays 51 blinkende LED, Codeerläute-
return, Anweisung 103 rung 33
RGB-LED 82 Probleme beim Upload 87
RSS-Feeds 73 Struktur 97
run.bat file, Verwendung zum Start Sniffin Glue 11
von Arduino 88 Somlai-Fischer, Adam 15
RX und TX (LEDs) 30 Sonderzeichen 97
–– (Dekrementieren) Operator
105
S /* */, Kommentarbegrenzer 98
Satz vorgefertigter Steckbrücken ; (Semikolon) 44, 97
40 { } (Geschweifte Klammern) 100
Schalter 51 Spannung 38
Neigung 52 am Pin, überprüfen mit analog
Schaltkreise Read( ) 62
ein Schaltkreis, viele Verhaltens- anliegend an einem Pin, Prüfung
weisen 43 mit der digitalRead( )-Funk-
eine vernetzte Lampe mit tion 40
Arduino 82 Speicher, RAM und Flash 44
modifizieren 11 Spielzeug, Hacken von 15
Motorschaltkreis für Arduino 68 sqrt( ), Funktion 109
Verhältnis von Spannung, Strom Strom 38
und Widerstand 38 Stromversorgung 18
Sensoren 25 SV1-Steckbrücke, Verbindungen 86
Ein/Aus im Vergleich zu analog switch case-Anweisung 101
62 Switches
Funktionsweise 26 MOSFET-Transistoren 67
komplexe 68 Synthesizer
Sensormatte 51 Circuit Bending mit 10
Serial Monitor, Schaltfläche 67 Moog, analoge Synthesizer 8
Serial.begin( ), Funktion 111
Serial.print( ), Funktion 110
Serial.println( ), Funktion 111
T
serielle Anschlüsse 30 tan( ), Funktion 109
Identifikation unter Windows 23 Teiber, Installation 21
serielle Kommunikation 66, 71, 110 Teile und herrsche 85
serielle Objekte 66 Thermostate 51
setup( ), Funktion 31 Transistor, MOSFET 68
setup( ), Funktion 97 Troubleshooting 89, 91
shiftOut( ), Funktion 106 IDE (Integrated Development
sin( ), Funktion 109 Environment, Integrierte Ent-
Sketches wicklungsumgebung) 88
Index 121
Isolieren von Problemen 88 Verringerung der Anzahl zum
Onlinehilfen für Arduino 90 Erzielen unterschiedlicher
Separieren jeder Komponente Blinkmuster 35
für das Testen 85 Vista (Windows)
Testen des Boards 86 Troubleshooting bei der Port-
Vereinfachen und Segmentieren Identifikation 89
des Projekts 85 visuelles Programmieren, Entwick-
Verständnis der Funktions- und lungsumgebungen 8
Interaktionweise von Bautei- vorgefertigte Steckbrücken, Satz
len 85 40
TRUE 43
true und false 98
Tüfteln 5 W
Widerstand 38
Widerstände
U Anzahl der, und Stromfluss 38
Ultraschall-Ranger 68 lichtabhängiger Widerstand
UNICODE 99 (Light Dependent Resistor,
Uno-Board 18 LDR) 26, 61
unsigned int, Datentyp 99 Wiederverwenden von vorhandener
Upload to I/O Board, Schaltfläche Technologie 7
30 Wiki, Playground 16
USB Windows
Arduino-Verbindung 65 COM-Anschlussnummer für
Port-Identifikation unter Wind- Arduino 89
ows 89 Installation der Treiber 21
Programmieren von Arduino Installieren von Arduino 20
mittels 1
Troubleshooting, Arduino-
Anschluss 86 X
XML-Datei von einem RSS-Feed 73
XP (Windows)
V Installation der Treiber 21
Variablen 98
Vereinfachung und Segmentierung,
Prozesse 85 Z
Verzögerungen Zeichensätze 99
Anpassung zur Verhinderung Zeit, Funktionen für 107
von Prellen beim Drucktaster Zufallszahlenfunktionen 110
48
122 Index