Die Programmiersprache des Arduino ist genau genommen ein C++ „Dialekt“, der mit Befehlen ausgestattet wurde, damit z.b. Eingänge des Mikrocontollers ausgelesen und Ausgänge angesteuert werden können. Bei C++ handelt es sich um eine Hochsprache. Das bedeutet, dass die Befehle für Menschen verständlich und lesbar ist. Damit sie der Arduino verstehen kann, muss das Programm jedoch zuerst von einem Compiler in maschinenlesbaren Code übersetzt werden. Ist das Programm jedoch in den Speicher des Arduino übertragen worden, kann es nicht mehr in den Ursprungscode zurück übersetzt werden.
Sie haben das Quiz schon einmal absolviert. Daher können sie es nicht erneut starten.
Quiz wird geladen...
Sie müssen sich einloggen oder registrieren um das Quiz zu starten.
Sie müssen erst folgende Quiz beenden um dieses Quiz starten zu können:
Ergebnis
0 von 3 Frage korrekt beantwortet
Ihre Zeit:
Zeit ist abgelaufen
Sie haben 0 von 0 Punkten erreicht (0)
Kategorien
Nicht kategorisiert0%
Lektion10%
1
2
3
Beantwortet
Vorgemerkt
Frage 1 von 3
1. Frage
An welche Programmiersprache ist die des Arduinos angelehnt?
Korrekt
Inkorrekt
Frage 2 von 3
2. Frage
Welche der Aussage über die Programmiersprache des Arduino sind richtig?
Korrekt
Inkorrekt
Frage 3 von 3
3. Frage
Kann ein kompiliertes Programm aus dem Speicher des Arduino wieder in den „Ursprungscode“ zurückübersetzt werden?
Befehle werden in der Arduino-Programmiersprache durch das Semikolon getrennt. Es ist durchaus möglich mehrere Befehle in eine Zeile zu schreiben:
Code-Beispiel
1
2
3
// Hinter einander geschriebener Code ist möglich.// Die Überischtlichkeit leidet jedoch darunter int erster_wert =1;int zweiter_wert =2;float dritter_wert =3.14;
// Hinter einander geschriebener Code ist möglich.
// Die Überischtlichkeit leidet jedoch darunter
int erster_wert = 1; int zweiter_wert = 2; float dritter_wert = 3.14;
Ein gutes Vorgehen ist dies jedoch nicht. Besser ist es Befehle zeilenweise einzugeben. Das fördert die Lesbarkeit des Programms nicht nur für dich, sondern auch für andere, die deinen Code eventuell einmal lesen werden:
Code-Beispiel
1
2
3
4
// ... besser ist es Befehle zeilenweise zu schreiben int erster_wert =1;int zweiter_wert =2;
flaoat dritter_wert =3.14;
// ... besser ist es Befehle zeilenweise zu schreiben
int erster_wert = 1;
int zweiter_wert = 2;
flaoat dritter_wert = 3.14;
Befehle können durch geschweifte Klammern zusammengefasst werden. Mit der öffnenden Klammern wird der Beginn eines Blocks eingeleitet. Die schließende Klammer schließt ihn ab. Diese sogenannten Codeblocks werden dir im Verlauf dieses Tutorials noch an vielen Stellen begegnen und im Verlauf des Kurses werden wir ausführlicher darauf eingehen.
Code-Beispiel
1
2
3
4
5
6
7
8
int x =1;do{// Start Codeblock//mach das, was zwischen den geschweiften Klammern steht.
x++;// Die schließende gewschweifte Klammer leitet das Ende des Codeblocks ein}while(x <0);
serial.println(x);
int x = 1;
do{ // Start Codeblock
//mach das, was zwischen den geschweiften Klammern steht.
x++;
// Die schließende gewschweifte Klammer leitet das Ende des Codeblocks ein
} while (x < 0 );
serial.println(x);
Sie haben das Quiz schon einmal absolviert. Daher können sie es nicht erneut starten.
Quiz wird geladen...
Sie müssen sich einloggen oder registrieren um das Quiz zu starten.
Sie müssen erst folgende Quiz beenden um dieses Quiz starten zu können:
Ergebnis
0 von 2 Frage korrekt beantwortet
Ihre Zeit:
Zeit ist abgelaufen
Sie haben 0 von 0 Punkten erreicht (0)
Kategorien
Nicht kategorisiert0%
1
2
Beantwortet
Vorgemerkt
Frage 1 von 2
1. Frage
Mit welchen Satzzeichen werden in der Arduino-Programmiersprache Befehle voneinander getrennt?
In seiner Grundform besteht ein Sketch aus mindestens drei Abschnitten:
Der erste Abschnitt ist der Deklarations- und Initialisierungsteil Hier können Variablen deklariert oder initialisiert werden. Alles über die Begriffe Deklarieren und Initialisieren erfahren Sie im Modul Variablen. Der zweite Bestandteil ist die Setup() Funktion. Dieser Part wird nur einmal an Anfang des Programms durchlaufen. An dieser Stelle können Sie z.B angeben, welche Funktion ein Pin übernehmen soll, ob er als Ein- oder Ausgang definiert sein soll.
Der dritte Abschnitt des Sketches beginnt in der Zeile in der void loop() steht. Loop könnten man mit Schleife übersetzen. Alle Befehle die innerhalb der geschweiften Klammern stehen werden der Reihe nach abgearbeitet. Wird die schließende Klammer erreicht, beginnt die Abarbeitung der Befehle wieder von vorne an der sich öffnenden Klammer. Der Sketch durchläuft die loop()-Funktion also ständig.
Sie haben das Quiz schon einmal absolviert. Daher können sie es nicht erneut starten.
Quiz wird geladen...
Sie müssen sich einloggen oder registrieren um das Quiz zu starten.
Sie müssen erst folgende Quiz beenden um dieses Quiz starten zu können:
Ergebnis
0 von 2 Frage korrekt beantwortet
Zeit ist abgelaufen
Sie haben 0 von 0 Punkten erreicht (0)
Kategorien
Nicht kategorisiert0%
1
2
Beantwortet
Vorgemerkt
Frage 1 von 2
1. Frage
Aus welchen 3 Bestandteilen besteht ein Arduino-Sketch?
Korrekt
Inkorrekt
Frage 2 von 2
2. Frage
Bringen Sie die Schnipsel des Sketches in die richtige Reihenfolge.
Werte werden in vielen Programmiersprachen, so auch in der Arduino-Programmiersprache nach folgendem Schema zugewiesen:
x = 9
Links befindet beispielsweise eine Variable x, die als Platzhalter für eine Zahl steht. Auf der rechten Seite steht der Wert der zugewiesen werden soll 9. Anstatt der 9 könnte dort auch eine weitere Variable stehen.
Betrachten wir das Ganze genauer:
Das Gleichzeichen ist ein sogenannter Operator ist, um genau zu sein, ein Zuweisungsoperator. Links und rechts davon stehen die sogenannten Operanden.
linker OperandZuweisungsoperatorrechter Operand
Dem linken Operand x wird durch den Zuweisungsoperator = der Wert 9, also der Wert des rechten Operanden zugewiesen.
Tipp
Auf der linken Seite einer Wertzuweisung steht immer der Teil, dem der Wert zugewiesen werden soll. Rechts dem Gleichzeichen befindet sich der Teil, vom der zugewiesene Wert kommt.
Operand links erhält den Wert von Operand rechts
Sie haben das Quiz schon einmal absolviert. Daher können sie es nicht erneut starten.
Quiz wird geladen...
Sie müssen sich einloggen oder registrieren um das Quiz zu starten.
Sie müssen erst folgende Quiz beenden um dieses Quiz starten zu können:
Ergebnis
0 von 4 Frage korrekt beantwortet
Ihre Zeit:
Zeit ist abgelaufen
Sie haben 0 von 0 Punkten erreicht (0)
Kategorien
Nicht kategorisiert0%
1
2
3
4
Beantwortet
Vorgemerkt
Frage 1 von 4
1. Frage
1 Punkte
Welche Aussage ist richtig?
Korrekt
Inkorrekt
Frage 2 von 4
2. Frage
1 Punkte
Welche Aussagen sind richtig?
Korrekt
Inkorrekt
Frage 3 von 4
3. Frage
1 Punkte
Der Variablen y soll der Wert der Variablen x zugewiesen werden.
Ergänzen Sie die fehlenden Stellen.
(y) = (x)
Korrekt
Inkorrekt
Frage 4 von 4
4. Frage
1 Punkte
Der Variablen x soll der Wert 42 zugewiesen werden.
Ergänzen Sie die fehlenden Stellen der Zueisung.
Das Programm das standardmäßig zur Programmentwicklung für die Arduinofamilie verwendet wird, ist die Arduino-IDE. Die drei Buchstaben „IDE“ stehen für „Integrated Developement Eniviroment“ (integrierte Entwicklungsumgebung). Der Vorteil einer Entwicklungsumgebung ist das dort nicht nur Programme in einem Editor geschrieben, geladen und gespeichert werden können, sondern auch alles sonst noch Notwendige zur Programmentwicklung bereitgestellt wird. In der Arduino-IDE besteht beispielsweise die Möglichkeit das Programm, dass beim Arduino übrigens als Sketch bezeichnet auf Syntaxfehler prüfen zu lassen. Außerdem kann in dieser Umgebung das Programm kompiliert und in den Speicher des Arduinos übertragen werden.
Sie haben das Quiz schon einmal absolviert. Daher können sie es nicht erneut starten.
Quiz wird geladen...
Sie müssen sich einloggen oder registrieren um das Quiz zu starten.
Sie müssen erst folgende Quiz beenden um dieses Quiz starten zu können:
Ergebnis
0 von 5 Frage korrekt beantwortet
Ihre Zeit:
Zeit ist abgelaufen
Sie haben 0 von 0 Punkten erreicht (0)
Kategorien
Nicht kategorisiert0%
1
2
3
4
5
Beantwortet
Vorgemerkt
Frage 1 von 5
1. Frage
Wie heißt die Applikation mit der standardmäßig Programme für den Arduino erstellt werden
Korrekt
Inkorrekt
Frage 2 von 5
2. Frage
Wofür stehen die drei Buchstaben IDE?
Korrekt
Inkorrekt
Frage 3 von 5
3. Frage
Ergänze den fehlenden Begriff!
Der Begriff Integrated Development Enviroment könnte mit (integrierte)(Entwicklungsumgebung) übersetzt werden.
Korrekt
Inkorrekt
Frage 4 von 5
4. Frage
Welche Standardwerkzeuge stellt die Arduino IDE zur Verfügung?
Korrekt
Inkorrekt
Frage 5 von 5
5. Frage
Ergänze den fehlenden Begriff
Ein Arduino Programm wird auch als (Sketch) bezeichnet.
Die Bedieneroberfläche der Arduino IDE wurde von den Entwicklern bewusst übersichtlich gestaltet und hilft Ihnen dadurch schnell Erfolge zu erzielen.
Tipp
Sehen Sie sich die Erklärungen zur Arduino IDE an, in dem Sie mit dem Mauszeiger über die nummerierten Bereiche fahren
Damit ein Programm in den Speicher des Arduinos geladen werden kann, müssen 3 Parameter, die Sie unter dem Menüpunkt Werkzeuge finden korrekt eingestellt sein. 1 Das zu flashende Board, in unserem Fall der Arduino Uno. 2 Die richtige Schnittstellengeschwindigkeit, also die Geschwindigkeit mit der das Programm übertragen wird. 57600 Baud ist ein guter Wert. 3 Die Programmierschnittstelle, bei Verwendung des USB Port unter Windows ist die „“ ausgewählt.
<!--nextpage-->
Sie haben das Quiz schon einmal absolviert. Daher können sie es nicht erneut starten.
Quiz wird geladen...
Sie müssen sich einloggen oder registrieren um das Quiz zu starten.
Sie müssen erst folgende Quiz beenden um dieses Quiz starten zu können:
Ergebnis
0 von 1 Frage korrekt beantwortet
Ihre Zeit:
Zeit ist abgelaufen
Sie haben 0 von 0 Punkten erreicht (0)
Kategorien
Nicht kategorisiert0%
1
Beantwortet
Vorgemerkt
Frage 1 von 1
1. Frage
Fügen Sie den Feldern die richtigen Beschriftungen hinzu.
Kommentare bieten Ihnen die Möglichkeit, Texte in den Quellcode zu schreiben, die vom Compiler ignoriert werden, also von ihm so behandelt wird, als wären sie nicht vorhanden. Sie belegen keinerlei Speicher, da sie nicht mit kompiliert werden.
Sie können sie beispielsweise zu Beginn des Programms verwenden, um allgemeine Erklärungen oder Hinweise zur Verwendung des Quelltextes zu geben. Kommentare können auch zur Gliederung von Quelllcode eingesetzt werden. Bei komplexem Quellcode können ergänzende Kommentare die Lesbarkeit ihres Programms erhöhen. Sehr häufig wird die Kommentarfunktion genutzt um einen Befehl oder mehrere Befehle nicht auszuführen, im dem man sie in einen Kommentar umwandelt. Dieses Vorgehen wird auch als auskommentieren von Befehlen bezeichnet.
Tipp
Nutzen Sie ausgiebig die Möglichkeit, Kommentare in ihren Sketch einzufügen. Sie erleichtern langfristig das Progammiererleben.
Kommentare existieren in zwei Ausprägungen, einzeiligen und mehrzeiligen
Einzeiliger Kommentar
Ein // (Doppelslash) leitet einen einzeiligen Kommentar ein. Diese Form des Kommentars wird auch als Inline-Kommentar bezeichnet. Alles was hinter dem Doppelslash steht, wird in dieser Zeile als Kommentar behandelt. Diese Art Kommentar kann auch hinter einem Befehl stehen. Steht // vor einem Befehl, gilt der Befehl als auskommentiert. Er wird dann vom Compiler so behandelt, als wäre er nicht vorhanden.
// Ich bin ein einzeiliger Kommentar
Mehrzeiliger Kommentar
Mit mehrzeiligen Kommentaren können Sie Texte eingeben, die sich über mehrere Zeilen erstrecken. Sie müssen diese lediglich zwischen die den Kommentar ein- und ausleitenden Zeichen einfügen.
Der mehrzeilige Kommentar wird durch /* eingeleitet und mit */ abgeschlossen. Dazwischen befindet sich der Kommentartext.
Bild ein- und zweizeiliger Kommentar
/*
Ich bin ein mehrzeiliger Kommentar
Hier könnten allgemeine Erklärungen oder Hinweise zur Verwendung des Quelltextes stehen
oder Hinweistexte zu komplexen Prgrammabschnitten hinzugefügt werden
*/
Sie haben das Quiz schon einmal absolviert. Daher können sie es nicht erneut starten.
Quiz wird geladen...
Sie müssen sich einloggen oder registrieren um das Quiz zu starten.
Sie müssen erst folgende Quiz beenden um dieses Quiz starten zu können:
Ergebnis
0 von 5 Frage korrekt beantwortet
Ihre Zeit:
Zeit ist abgelaufen
Sie haben 0 von 0 Punkten erreicht (0)
Kategorien
Nicht kategorisiert0%
1
2
3
4
5
Beantwortet
Vorgemerkt
Frage 1 von 5
1. Frage
Welche Aussage ist richtig?
Korrekt
Inkorrekt
Frage 2 von 5
2. Frage
Welche Arten von Kommentaren gibt es?
Korrekt
Inkorrekt
Frage 3 von 5
3. Frage
Wie werden einzeilige Kommentare noch genannt?
Korrekt
Inkorrekt
Frage 4 von 5
4. Frage
Mit welchen Zeichen wird einzeiliger Kommentar eingeleitet?
Ergänzen Sie die fehlende Stellen.
(//) Hallo ich bin ein einzeiliger Kommentar
Korrekt
Inkorrekt
Frage 5 von 5
5. Frage
Sie haben einen Kommentar, der sich über mehrere Zeilen erstreckt, erstellt.
Setzen die fehlenden Zeichen ein um die Passage auszukommentieren.
(/*)
Ich bin ein mehrzeiliger Kommentar
Hier könnten allgemeine Erklärungen oder Hinweise zur Verwendung des Quelltextes stehen
oder Hinweistexte zu komplexen Prgrammabschnitten hinzugefügt werden (*/)
Neben der Serial.println()-Anweisung gibt es noch eine weitere Anweisung um Texte oder Ausdrücke über die serielle Schnittstelle des Arduinos zu senden, um sie beispielsweise auf dem seriellen Montior anzuzeigen. Sollen Ausgaben in der aktuellen Zeile des seriellen Monitors einfach angefügt werden, verwendest du die Serial.print()-Anweisung.
Sketch: Unterschied zwischen Serial.print() und Serial.println()
Code-Beispiel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void setup(){
Serial.begin(9600);
Serial.println("Serial.println()gibt zeilenweise aus");// Serial.print fügt einfach die Ausgaben der aktuellen Zeile an
Serial.print('S');
Serial.print('e');
Serial.print('r');
Serial.print('i');
Serial.print('a');
Serial.print('l');
Serial.print('.');
Serial.print("print() nicht");}void loop(){}
Serial.println()gibt zeilenweise aus
Serial.print nicht()
Ausgabeformatierung von Zahlensystemen mit Serial.print() und Serial.println()
Die Anweisungen können Serial.print() und Serial.println() können noch viel mehr.
Sie können Ausdrücke und Werte in anderen Zahlenformaten darstellen. Damit ist es möglich zum Beispiel den Wert 12 als Binärzahl darstellen. Dazu wird den Anweisung mitgeteilt, in welchem Zahlenformat die Darstellung erfolgen soll. Die Anweisung sieht dann wie folgt aus:
Serial.println(12, BIN);
Übersicht Ausgabeformate von Zahlensystemen mit Serial.print() und Serial.println()
Ausgabe- format
Ausgabe- anweisung
Beispiel
Ausgabe
Binär
BIN
Serial.println(66, BIN),
1000010
Oktal
OCT
Serial.print(66, OCT);
101
Dezimal
DEZ
Serial.print(66, DEC);
65
Hexdezimal
HEX
Serial.print(78, HEX);
4E
Sketch: Ausgabeformatierung von Zahlensystemen mit Serial.print()
In dieser Lektion erfährst du was sich hinter der loop()-Funktion verbirgt.
Die loop()-Funktion ist der Hauptbestandteil unseres Sketches. Alle Anweisungen, die sich zwischen der öffnenden und schließenden Klammer befinden werden der Reihe nach ausgeführt. Bei der letzten Anweisung angekommen (schließende Klammer), springt der Sketch zum Anfang der loop()-Funktion (öffnende Klammer) zurück.
Die Inhalt der Schleife wird also ständig wiederholt. So kann der Mikrocontroller sofort auf Änderungen von Schaltzuständen oder durch Sensoren erfasste Messwerte reagieren und nach deren Auswertung z.B. Motoren oder LEDs ein- oder ausschalten.
Die LED des Arduinos
Auf der Platine des Arduino Uno befindet sich zu eine LED, die zu Testzwecken verwendet werden kann. Im später folgenden Code-Beispiel soll genau diese LED blinken. Dazu müssen wir einige Vorbereitungen treffen. Wir beginnen damit den Pin (Kontakt) zu definieren, der später zum Schalten der LED verwendet werden soll. Dazu benötigt der Mikrocontroller zwei Informationen: Welchen Pin soll er verwenden und welche Funktion soll diesem Pin zugewiesen werden? Fast alle Pins des Arduinos sind in ihrer Funktion in Grenzen frei wählbar. Sie können als Ein- oder Ausgang definiert werden.
Standardmäßig ist Pin 13 der auf Platine verbauten LED zugeordnet.
Die pinMode()-Anweisung
Es soll eine Spannung an diesem Pin ausgegeben werden, damit die LED leuchten kann. Dazu muss Pin 13 als Ausgang (engl. OUTPUT) definiert sein.
Beide Informationen werden dem Mikrocontroller mit der pinMode()-Funktion mitgeteilt:
pinMode(13,OUTPUT);
Delay()
Damit die LED blinkt, muss sie für eine gewisse Zeit ein- und wieder ausgeschaltet werden. Dazu verwendet man die delay()-Funktion, die die Programmausführung für eine gewisse Zeit stoppt. Die Zeitangabe erfolgt in Millisekunden. 1000 Millisekunden sind eine Sekunde. Dieser Wert soll verwendet werden. Die Anweisung dazu sieht dann wie folgt aus:
delay(1000);
Einen digitalen Ausgang mit digitalWrite() schalten
Eine einzige Anweisung fehlt damit der Sketch komplett ist. Der Mikrocontroller muss nun wissen, wann der Ausgang ein- oder ausgeschaltet werden soll. Das erreicht man mit digitalWrite(). Auch hier sind wieder zwei Informationen nötig:
Welcher Pin soll geschaltet werden? Für das verwendete Beispiel ist das Pin 13
Als zweite Information muss mitgegeben werden, ob der PIN ein- oder ausgeschaltet werden soll. Zum Einschalten kommen zwei Arduino Konstanten zum Einsatz: HIGH verwendest du zum ein- und LOW zum ausschalten. Soll Pin 13 eingeschaltet werden, sieht die vollständige Anweisung wie folgt aus:
digitalWrite(13, HIGH);
Der zweite Arduino Sketch mit void loop()
Hier ist nun der vollständige Sktech:
Code-Beispiel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void setup(){
Serial.begin(9600);
pinMode(13, OUTPUT);}void loop(){// Alles was zwischen der öffnenden und schließende Klammer steht,// durchläuft ständing diesen loop
digitalWrite(13, HIGH);
Serial.println("LED eingeschaltet");
delay(1000);
digitalWrite(13, LOW);
Serial.println("LED eingeschaltet");
delay(1000);}
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
// Alles was zwischen der öffnenden und schließende Klammer steht,
// durchläuft ständing diesen loop
digitalWrite(13, HIGH);
Serial.println("LED eingeschaltet");
delay(1000);
digitalWrite(13, LOW);
Serial.println("LED eingeschaltet");
delay(1000);
}
Was passiert?
Zeile 1-5: Hier befindet der Abschnitt in dem die Anweisungen nur einmal abgearbeitet werden Zeile 2: Mit Serial.begin(9600) stellen wir die Übertragungsgeschwindigkeit der seriellen Kommunikation des Mikrocontrollers aus 9600 Baud ein. Zeile 3: Mit Serial.println() wird Pin 13 als Ausgang definiert. Zeile 6: Hier beginnt die loop()-Funktion. Alle Anweisungen im Anweisungsblock werden ständig durchlaufen. Zeile 9: Pin 13 wird eingeschaltet – die LED leuchtet. Zeile 10: Als Statusmeldung wird LED eingeschaltet an den seriellen Monitor übermittelt. Zeile 11: Das Programm wird eine Sekunde angehalten – Die LED bleibt solange eingeschaltet Zeile 12: Pin 13 wird ausgeschaltet – die LED leuchtet nicht. Zeile 13: Eine weitere Statusmeldung LED ausgeschaltet wird an den seriellen Monitor übermittelt. Zeile 14: Das Programm wird für eine weitere Sekunde angehalten – die LED ist solange ausgeschaltet. Zeile 15: Die schließende Klammer beendet den Anweisungsblock der loop()-Funktion und beginnt in Zeile 6 erneut mit der Abarbeitung der Anweisungen. Dies wiederholt sich fortwährend.
Ausgabe am seriellen Monitor
LED eingeschaltet
LED ausgeschaltet
LED eingeschaltet
LED ausgeschaltet
LED eingeschaltet
LED ausgeschaltet
Sie haben das Quiz schon einmal absolviert. Daher können sie es nicht erneut starten.
Quiz wird geladen...
Sie müssen sich einloggen oder registrieren um das Quiz zu starten.
Sie müssen erst folgende Quiz beenden um dieses Quiz starten zu können:
Ergebnis
0 von 4 Frage korrekt beantwortet
Zeit ist abgelaufen
Sie haben 0 von 0 Punkten erreicht (0)
Kategorien
Nicht kategorisiert0%
1
2
3
4
Beantwortet
Vorgemerkt
Frage 1 von 4
1. Frage
Ergänze die pinMode()-Funktion und definieren Pin 12 als Ausgang
pinMode((12),(OUTPUT));
Korrekt
Inkorrekt
Frage 2 von 4
2. Frage
Wie lautet die Funktion mit der die Ausführung eines Sketch für eine definierte Zeit angehalten werden kann.
Korrekt
Inkorrekt
Frage 3 von 4
3. Frage
Die delay()-Funktion soll die Ausführung des Sketches für 2 Sekunden anhalten.
Ergänze die Anweisung.
delaly((2000));
Korrekt
Inkorrekt
Frage 4 von 4
4. Frage
Die LED auf der Platine des Arduinos soll ausgeschaltet werden. Standardmäßig ist sie dem Pin (Kontakt) 13 zugewiesen.
Ergänze die Anweisung
Der erste Sketch soll einen Text ausgeben. Dies geschieht über eine serielle Verbindung, die zum Senden und empfangen von Daten verwendet werden kann. Zur Anzeige von Daten, Meldungen etc. gibt es in der Arduino-IDE eine sehr komfortable Komponente, den seriellen Monitor.
Der serielle Monitor
Der Arduino kann über seine serielle Schnittstelle einerseits elektronische Bauteile steuern, aber andererseits besteht ebenso die Möglichkeit seine Meldungen über den seriellen Monitor auszugeben.
Er kann deshalb auch hervorragend zur Fehlersuche in Sketchen eingesetzt werden und ist da ein grandioses Werkzeug.
Serial.begin()
Um Ausgaben an den seriellen Monitor zu senden, ist zu beachten, dass die Geschwindigkeitseinstellung des Arduino und die des seriellen Monitors gleich sind. Die Übertragungsgeschwindigkeit wird in Baud angegeben. 9600 Baud ist ein guter Wert für unsere Verbindung. Auf der Seite des Arduinos wird die Gechwindigkeit durch die folgenden Anweisung eingestellt:
Serial.begin(9600);
Hinweis
Sind die Geschwindigkeitseinstellungen des Arduinos und des seriellen Monitors nicht gleich, werden am seriellen Monitor nur kryptische Zeichen ausgegeben.
Ausgabe mit Serial.println()
Damit der Arduino Ausgaben am seriellen Monitor machen kann, gibt eine weitere Anweisung, die wir uns etwas näher anschauen wollen:
Serial.println();
Damit können Texte oder Ausdrücke, die zwischen den Klammern stehen ausgegeben werden. Die Ausgabe erfolgt bei Serial.println() zeilenweise. Die Texte werden untereinander ausgegeben und werden nicht dahinter angefügt. Das ln, das vor print steht, drückt genau das aus, denn es steht für das englische line (zu deutsch Zeile). Um Texte auszugeben werden diese in Hochkommas gesetzt:
Serial.println("Hallo Welt");
Anweisungen die sich innerhalb der setup()-Funktion befinden werden nur einmalig ausgeführt. Um das zu demonstrieren befindet sich die Serial.println()-Anweisung in genau diesem Teil des Sketches. Der Text sollte also am seriellen Monitor nur einmal angezeigt werden.
Der erste Arduino Sketch mit void setup()
Nach dieser kurzen Einleitung, hier der gesamte Sktech:
Code-Beispiel
1
2
3
4
5
6
7
8
9
10
void setup(){
Serial.begin(9600);
Serial.println("Hallo Welt!");
Serial.println("Dieser Teil wird nur einmal ausgeführt");}void loop(){// Alles was zwischen der öffnenden und schließende Klammer steht,// durchläuft ständing diesen loop }
void setup() {
Serial.begin(9600);
Serial.println("Hallo Welt!");
Serial.println("Dieser Teil wird nur einmal ausgeführt");
}
void loop() {
// Alles was zwischen der öffnenden und schließende Klammer steht,
// durchläuft ständing diesen loop
}
Was passiert?
Zeile 1: Mit dem Schlüsselwort void wird eine Funktion initialisiert. Diese Funktion heisst setup(). Später in diesem Kurs werden wir uns noch intensiver mit Funktionen beschäftigen und klären was es mit void auf sich hat. Zeile 2: Mit Serial.begin(9600) stellen wir die Übertragungsgeschwindigkeit der seriellen Kommunikation des Mikrocontrollers aus 9600 Baud ein. Die Anweisung befindet sich innerhalb setup()-Funktion. Sie ist da genau an der richtigen Stelle im Sketch, denn die Übertragungsgeschwindigkeit wird nur einmal eingestellt. Zeile 3+4:Serial.println() übermittelt den auszugebenden Text an die serielle Schnittstelle. Der serielle Monitor empfängt den Text und gibt ihn aus. Zeile 5: Die schließende Klammer beendet den Anweisungsblock der setup()-Funktion. Zeile 7-9: Hier befindet sich standardmäßig die loop()-Funktion, also den Teil, der wie schon im Kommentar nachzulesen ist ständig durchlaufen wird.
Ausgabe am seriellen Monitor
Hallo Welt!
Dieser Teil wird nur einmal ausgeführt
Sie haben das Quiz schon einmal absolviert. Daher können sie es nicht erneut starten.
Quiz wird geladen...
Sie müssen sich einloggen oder registrieren um das Quiz zu starten.
Sie müssen erst folgende Quiz beenden um dieses Quiz starten zu können:
Ergebnis
0 von 3 Frage korrekt beantwortet
Zeit ist abgelaufen
Sie haben 0 von 0 Punkten erreicht (0)
Kategorien
Nicht kategorisiert0%
1
2
3
Beantwortet
Vorgemerkt
Frage 1 von 3
1. Frage
Die serielle Schnittstelle des Arduino soll zur Ausgabe von Meldungen am seriellen Monitor auf 9600 Baud eingestellt werden. Ergänze die Anweisung.
Serial.(begin)((9600));
Korrekt
Inkorrekt
Frage 2 von 3
2. Frage
Das Wort „Hallo“ soll am seriellen Monitor ausgegeben werden.
Ergänze die Anweisung.
(Serial).(println)(("Hallo"));
Korrekt
Inkorrekt
Frage 3 von 3
3. Frage
An welcher Stelle im Sketch befindet sich üblicherweise die Serial.begin()-Anweisung?
Korrekt
Inkorrekt
Diese Website benutzt Cookies. Wenn du die Website weiter nutzt, gehen wir von deinem Einverständnis aus.OKNein