» » X1 – 05.0 Serial Print

X1 – 05.0 Serial Print

eingetragen in: X1 | 0

 

SerialPrint

In dieser Lektion geht es um die Textausgabe. Das ist besonders interessant für die Sensoren, die in den nächsten Lektionen erklärt werden. Durch die Textausgabe kannst du dir Werte der Sensoren ausgeben lassen. Du wirst diesen Befehl in der Testphase des Roboters benutzen. Später wenn der X1 fertig programmiert ist, brauchst du das nicht mehr, da du weißt das alles funktioniert.

WICHTIG: Die Ausgabe läuft über die Serielle Schnittstelle. Diese Aktiviert auch TX/RX auf dem Arduino, die sich an Pin 0 und 1 befinden, daher wird die RGB - LED diese 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 }

 

 

 

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

 

 

 

 
 
 

Step 1

Um die Ausgabe zu verwenden, musst du im void setup() den Befehl Serial.begin(9600) eingeben. Dieser startet die Serielle Kommunikation mit einer Baudrate von 9600. Dies ist die Geschwindigkeit mit der der Arduino arbeitet, also 9600 Schritte pro Sekunde. Sobald du diesen Befehl nutzt wird die RGB-LED ein wenig "durchdrehen“.

 

 

 

 Serial.print();

 Serial.println();

 

 

 

 
 
 

Step 2

Um nun eine Ausgabe zu erhalten, musst du den Befehl Serial.print oder Serial.println nutzen. Wobei Serial.println noch einen Zeilenumbruch am Ende macht. Das ist interessant, da du so mehrere Informationen, die evtl. an verschiedenen Stellen des Programms ausgegeben werden, entweder in einer Reihe oder übersichtlich untereinander, ausgeben kannst.

 

 

 

 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);

 

 

 

 
 
 

Step 3

In die Klammer des Serial.print() Befehls kommt, entweder ein Text der in Anführungszeichen gesetzt wird, oder direkt die Variable die du gerne ausgeben möchtest. Es gibt hier schon viele Möglichkeiten zum kombinieren. Schau dir an wie die Pinbelegung in unserem Beispiel ausgegeben wird.

 

 

 

void loop() {

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

  Serial.end(9600);
}

 

 

 

 
 
 

Step 4

Du kannst die Serielle Kommunikation beenden in dem du den Serial.end(9600) Befehl nutzt. Dies ist für deinen X1 besonders praktisch da die RGB-LED jetzt nur noch während einer Seriellen Ausgabe flackert. Beispielsweise kannst du am Anfang deines Programms, im void setup(), einmal eine Information mit der Pinbelegung, Sensorwerten und Sonstigem ausgeben. Danach deaktivierst du die Serielle Kommunikation und die RGB LED funktioniert normal in deinem restlichen Programm.

 

Fazit

Die Serial. Befehle wirst du immer wieder in diesem Lernkurs finden. Du wirst dir die Sensorwerte ausgeben lassen und, in den nächsten Lektionen, ausgeben ob ein Taster gedrückt ist oder nicht. 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. Da du dies nicht in deinem X1 brauchst, gehen wir in diesem Lernkurs nicht explizit darauf ein.

 
 
 

Bitte hinterlasse eine Antwort