» » 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 Lektion erklärt werden. Durch Textausgabe können wir uns beispielsweise Werte der Sensoren ausgeben lassen. Wir werden diesen Befehl in der Testphase des Roboters benutzen. Später wenn der X1 fertig Programmiert ist brauchen wir das nicht mehr, da wir wissen 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, aktivieren. Da wir dies nur für die Testphase benötigen ist es aber nicht so schlimm, also nicht wundern.

Viceo-Beispiel:

 

Code-Beispiel:

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

void loop() {
Serial.println("Hallo Welt, ich bin X1");//Schreibt in SerialMonitor
Serial.println("Pinbelegung:"); //schreiben mit Zeilenbruch
Serial.print("RGBLED: ");
Serial.println(frontRLedPin, frontGLedPin, frontBLedPin);
Serial.print("Servos: ");
Serial.println(servoLPin, servoMPin, servoRPin);
}

 

 

 

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

 

 

 

 
 
 

Step 1

Um die Ausgabe zu verwenden müssen wir 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 wir diesen Befehl nutzen wird die RGB-LED ein wenig "durchdrehen".

 

 

 

 Serial.print();

 Serial.println();

 

 

 

 
 
 

Step 2

Um nun eine Ausgabe zu erhalten müssen wir den Befehl Serial.print oder Serial.println benutzen. Wobei Serial.println noch einen Zeilenumbruch am Ende macht. Das ist interessant da wir so mehre Informationen, die evtl. an verschieden stellen des Programms Ausgegeben werden, entweder in einer Zeile oder übersichtlich untereinander, ausgeben können.

 

 

 

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

 Serial.println("Pinbelegung:");
 Serial.print("RGBLED: ");
 Serial.println(frontRLedPin, frontGLedPin, frontBLedPin);
 Serial.print("Servos: ");
 Serial.println(servoLPin, servoMPin, servoRPin);

 

 

 

 
 
 

Step 3

In die Klammer des Serial.print() Befehls kommt entweder ein Text der in Anführungszeichen gesetzt wird oder direkt die Variable die wir gerne Ausgeben möchten. 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

Wir können die Serielle Kommunikation beenden in dem wir den Serial.end(9600) Befehl nutzen. Dies ist für unseren X1 besonders Praktisch da die RGB-LED jetzt nur noch während einer Seriellen Ausgabe flackert. Beispielsweise können wir am Anfang unsere Programms, im void setup(), einmal beim Start eine Information mit der Pinbelegung, Sensorwerten und Sonstigem ausgeben. Danach deaktivieren wir die Serielle Kommunikation und die RGB-LED funktioniert normal in unserem restlichen Programm.

 

Fazit

Die Serial. Befehle werden wir immer wieder in diesem Lernkurs finden. Wir werden uns 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. Wir können hiermit auch Informationen an Displays weitergeben, MIDI Daten schicken oder mit einem anderen Arduino kommunizieren. Da wir dies nicht in unserem X1 brauchen gehen wir darauf nicht speziell in diesem Lernkurs ein.
 
 
 

 

Bitte hinterlasse eine Antwort