Block
Mit dem softSerial print
Block lassen sich Nachrichten, Texte oder Variablenwerte über eine UART Schnittstelle versenden.
UART steht für "universal asynchronous receiver-transmitter".
Das heißt mit einer UART Schnittstelle können sowohl Daten empfangen, als auch Daten gesendet werden.
Diese können an andere Microcontroller, Sensoren oder Aktoren gesendet werden, die ebenfalls eine UART Schnittstelle haben und entsprechend konfiguriert sind.
Mit dem softSerial print
Block können alle digitalen Pins als RX (Empfänger) oder TX (Sender) genutzt werden.
Dazu wird eine spezielle Bibliothek genutzt, denn normalerweise sind nur die Pins 0 und 1 als RX und TX verwendbar.
Die Baudrate ist ein wichtiger Parameter bei der Konfigurierung von UART Verbindungen. Sie gibt die Geschwindigkeit vor, mit der Daten zwischen den Teilnehmern übertragen werden.
Sie muss daher bei beiden Teilnehmern bekannt und gleich sein, damit keine Informationen verloren gehen.
Die Baudrate ist beim softSerial print
Block, sofern davor nicht anders festgelegt, auf einen Wert von 4800 eingestellt.
Mit dem softSerial print
können allerdings nur Nachrichten in Form eines Strings (einer Zeichenkette) übertragen werden.
Um auch aktiv auf einem Kanal nach Informationen zu lauschen und diese zu verarbeiten wird der Pro-Modus mit dem softSerial read
Block benötigt.
String
Hier wird die Zeichenkette bzw. der String eingefügt, der über die UART Schnittstelle versendet werden soll. Jeder mögliche Text kann hier eingefügt werden. Wenn Werte von Variablen versendet werden sollen, dann benötigt man den entsprechenden Verbindungsblock von Zeichenkette und analoger oder digitaler Größe.
Neue Zeile
Dieser Parameter ist selbsterklärend.
Hier kann entweder ein true
oder false
dem Block übergeben werden.
Wenn ein true
übergeben wird, dann wird nachdem die oben eingefügte Zeichenkette im seriellen Monitor
ausgegeben wurde dort eine neue Zeile begonnen, in der dann die nächste Ausgabe erfolgt.
Beispiel
Beispiel: Es soll einfach nur die Nachricht "Hallo Welt" an ein anderes Bauteil übertragen werden.
Als RX Pin soll der Pin 2 und als TX der Pin 3 verwendet werden.
Ob danach eine neue Zeile begonnen wird oder nicht spielt erstmal keine Rolle.
Der RX Pin der einen Komponente geht auf den TX Pin der anderen Komponente und umgekehrt.
In ArduBlock:
Code
Im Code wird der Block durch den Befehl softSerial.print()
realisiert, wobei zwischen die Klammern hier
die Nachricht geschrieben wird, die ausgegeben werden soll.
Wenn eine Zeichenkette ausgegeben werden soll, dann muss diese zwischen Anführungszeichen geschrieben werden.
Noch außerhalb der loop
und setup
Blocks wird ein neues Objekt der Klasse SoftwareSerial
angelegt.
Dabei werden die RX und TX Pins als Parameter übergeben.
Für das Beispiel oben wurde das dann so aussehen:
SoftwareSerial softSerial(2, 3);
Der Name des hier erstellten Objektes lautet softSerial
.
Es kann aber auch andere Bezeichnungen bekommen.
Wie bei der Kommunikation mit dem seriellen Monitor muss auch hier die Kommunikation mit serial.begin(4800)
im setup
Teil
des Programms begonnen werden.