» » X1 – 05.0 Serial Print

X1 – 05.0 Serial Print

eingetragen in: X1-lernkurs | 0

 

SerialPrint

In dieser Lektion geht es um die Textausgabe. Die Textausgabe ist wichtig, denn mit ihr können Werte von Sensoren abgefragt werden. Auf die Sensoren gehen wir in den folgenden Lektion genauer ein. Die Textausgabe ist allerdings fundamental wenn es darum geht Sensoren einzurichten.

Du wirst diesen Befehl hauptsächlich in der Testphase des Roboters benutzen. 

WICHTIG: Die Ausgabe läuft über die Serielle Schnittstelle. Diese Aktiviert auch TX/RX auf dem Arduino, welche sich an Pin 0 und 1 befinden, daher wird die RGB - LED an diesen 2 Pins, also Rot und Grün, aktiviert. Nicht wundern wenn dein X1 Flackert.

Video-Beispiel:

 

Code-Beispiel:

void setup() {
 Serial.begin(9600);             //Startet Serielle Übertragung
}

void loop() {
 Serial.println("Hallo Welt");   //schreibt auf SerialMonitor
 Serial.println("Pinbelegung:"); //schreibe mit Zeilenbruch
 Serial.print("RGBLED: ");
 Serial.print(frontRLedPin);
 Serial.print(", ");
 Serial.print(frontGLedPin);
 Serial.print(", ");
 Serial.println(frontBLedPin);
 Serial.print("Servos: ");
 Serial.print(servoLPin);
 Serial.print(", ");
 Serial.print(servoMPin);
 Serial.print(", ");
 Serial.println(servoRPin);
Serial.println("");
delay(1000); //Zur besseren lesbarkeit }

 
 
 

Schritt 1

Um die Textausgabe zu verwenden muss im void setup() der Befehl Serial.begin(9600) eingeben werden. Der Wert 9600 ist hier nicht willkürlich gewählt sondern muss der Baudrate des Anschlusses entsprechen.

Jeder andere Wert wird dazu führen, dass keine Serielle Kommunikation mit dem Anschluss aufgebaut werden kann. Dieser Wert entspricht der Geschwindigkeit mit welcher der Arduino arbeitet, 9600 Schritte pro Sekunde.

Sobald du diesen Befehl benutzt wird die RGB-LED ein wenig "durchdrehen“.

 

 

 

void setup() {
   Serial.begin(9600);
}

 

 

 

 
 
 

Schritt 2

Um eine Ausgabe von etwas zu erhalten wird der Befehl Serial.print oder Serial.println benutzt. Serial.println setzt nach dem Wert noch einen Zeilenumbruch. Das ist besonders nützlich um mehrere Informationen, die zum Teil an verschiedenen Stellen des Programmes ausgegeben werden, an einer Stelle geordnet abzufragen und anzeigen zu lassen.

 

 

 

 Serial.print();

 Serial.println();

 

 

 

 
 
 

Schritt 3

In die Klammer des Serial.print() Befehls kommt, entweder ein Text der in Anführungszeichen gesetzt werden muss, oder direkt die Variable die ausgeben werden soll.

An dieser Stelle gibt es viele verschiedene Möglichkeiten zum personalisieren der Textausgabe. Schau dir an wie die Pinbelegung in unserem Beispiel ausgegeben wird und entwerfe dann deine eigene Textausgabe.

 

 

 

 Serial.println("Hallo Welt, ich bin X1");

 Serial.println("Pinbelegung:");
 Serial.print("RGBLED: ");
 Serial.print(frontRLedPin);

 Serial.print(", ");

 Serial.print(frontGLedPin);

 Serial.print(", ");

 Serial.println(frontBLedPin);
 ...

delay(1000);

 

 

 

 
 
 

Schritt 4

Wir beenden die Serielle Kommunikation über den Serial.end(9600) Befehl. Das deaktivieren ist an dieser Stelle für deinen X1-Roboter besonders praktisch, da die RGB-LED jetzt nur noch während der Seriellen Ausgabe flackert.

So können wir beispielsweise im void setup(), am Anfang des Programms, einmal die Informationen über Pinbelegung, Sensorwerte und Werte aus Funktionen, anzeigen zu lassen. Sobald die Serielle Kommunikation beendet ist funktioniert die RGB-LED normal für die Verwendung im restlichen Programm.

 

 

 

void loop() {

  Serial.begin(9600);
  Serial.println("Hallo Welt, ich bin X1");

  Serial.end(9600);
}

 

 

 

 

Fazit

Die Serial. Befehle wirst du immer wieder im Laufe des Lernkurses entdecken. Du wirst in Zukunft öfter Sensorwerte ausgeben lassen um festzustellen ob die Sensoren richtig funktionieren. Die Serielle Kommunikation kann nicht nur als Textausgabe verwendet werden. Du kannst damit auch Informationen an Displays weitergeben, Midi Daten schicken oder mit einem anderem Arduino kommunizieren.

Diese Funktionen sind kein Bestandteil des grundlegenden Lernkurses, sie werden also nicht explizit in diesem Lernkurs behandelt.
 
 
 

Bitte hinterlasse eine Antwort