kk logo

Mit dem Serial Monitor kann viel mehr machen als nur Texte und Zahlen aus dem Programm anzeigen lassen. Über den Serial Monitor kann man auch Texte und Zahlen an den Arduino Senden und wieder abfragen.

 Bevor es aber an das senden und empfangen von Texten und Zahlen geht, zuerst etwas zu der Kommunikation in Ardublock. Wird ein Text oder eine Zahl in das Senden Feld eingeben dann erscheint das nicht so wie es eingeben wurde, auch wenn es das gleiche bedeutet. Den Arduino ohne eine andere Hardware an den PC anschließen und den Code unten hochlanden. Dann den Serial Monitor öffnen, oben den Text "hallo welt" eingeben und auf senden drücken.

0 ardublock tutorial serielles lesen schreiben

Über den Block (solange --> test) wird abgefragt ob Daten verfügbar sind. Natürlich könnte man diesen Teil auch weg lassen aber wenn keine Daten verfügbar sind, würde im Serial Monitor ständig eine "0" angezeigt werden. So erscheint nur etwas, wenn es auch etwas anzuzeigen gibt. Doch anstatt im Serial Monitor der Text "hallo welt" steht kommen nur zehn Zahlen.
Das hat mit dem ASCII zu tun. Kurz gesagt für jedes Zeichen und jede Zahl gibt es eine Zahl, in einer Tabelle sieht das so aus.

1

Wenn wir jetzt unsere Zahlen aus dem S.M. nehmen und mit dieser Tabelle abgleichen dann:

  • 104    h
  • 97      a
  • 108    l
  • 108    l
  • 111    o
  • 32      leerzeichen 
  • 119     w
  • 101     e
  • 108     l
  • 116     t 

Ergibt das "hallo welt". Das gleiche gilt übrigens auch für zahlen. Sende ich die zahlen "12345" erscheint nicht "12345" sondern es kommen fünf Zahlen untereinander. 

  • 1    49
  • 2    50
  • 3    51
  • 4    52
  • 5    53

Es gilt also zwei Dinge zu beachten wenn Zahlen und Texte "gesendet" werden. 1: Für jede Eingabe, auch wenn sie zusammen gesendet wird, wie "hallo welt" gibt es eine separate Zeile. 2: Jede Zahl und jeder Buchstabe wird als eine Zahl ausgeben die in einer ASCII Tabelle nachgelesen werden kann.

 Die einzelnen lesen Blöcke in Ardublock

Möchte man die ASCII Tabelle umgehen und die Zahlen und Texte direkt auslesen dann kann man folgende Blöcke verwenden.

Im "parseInt" Block ist die ASCII Tabelle schon hinterlegt. Mit diesem Block und einer "integer" Variable können Zahlen bis 32000 direkt ausgelesen werden. Mit diesem Block und einer "unsigned_long" Variabel können dann Zahlen bis 2 Milliarden abgefragt werden. Mit diesem Block können Zahlen also direkt gelsen werden, ohne die ASCII Tabelle zu beachten. Lädt man die Blöcke unten hoch und trägt die Zahl 200 oder 179 ein, so wird diese Zahl als 200 oder 179 direkt angezeigt.

2 Ardublock Tutorial serial send parseInt

 Mit einer "char" variablen und dem "serielles lesen" Block, können Zahlen und Texte direkt, also ohne die "ASCII" Tabelle ausgelesen werden. Allerdings gibt es für jede Zahl und jeden Buchstaben eine neue Zeile. Gibt man den Text "hallo welt" oder 32000 ein, dann erscheint im S.M. 

h
a
l
l
o

w
e
l
t

3
2
0
0
0
0

 3 char variable ardublock tutorial serial monitor

 LEDS mit einer Eingabe im Serial Monitor schalten Version 1

Um das ganze in der Praxis zu testen und zu zeigen wozu so ein "senden" Feld gut sein kann, habe ich mir dieses einfache Beispiel ausgedacht. Über einen "Text Befehl" der in den Serial Monitor geschrieben wird, schalten wir 3 LEDs an und aus. Zudem gibt es einen Text, der bei einer falschen Eingabe darauf hin weißt. 

 Das Programm ist relativ simpel. Damit nicht permanent der Text mit der Eingabe auf dem Serial Monitor erscheint, setze ich eine Variable "Text". Nachher im Unterprogramm besser zu sehen. Danach frage ich über den Block "serial data availadble" ab, ob Daten eingeben wurden. Wenn ja speichere ich diese Daten in einer Variablen "eingabe". Danach muss ich nur noch über eine Bedingung abfragen was für eine Zahl in der Variablen steht und die passende LED an schalten. Damit nach jeder Eingabe wieder der Text mit der bitte um Eingabe kommt, setzte ich die Variabel "text" auf null zurück.

 

4 arduino led schalten ueber serial monitor tutorial

 

 Um die Übersicht zu behalten habe ich den Starttext in einem Unterprogramm. Zuerst zwei Punkte dann den Text und dann nochmal zwei Punkte. Der Text wird nur einmal angezeigt.  

5 char variable ardublock tutorial serial monitor

 Im Serial Monitor kann man dann schön sehen was passiert und welche Eingabe gemacht wurde.

6 led schalten ueber serial monitor tutorial

King of my heart

Let the King of my heart
Be the mountain where I run
The fountain I drink from
Oh, He is my song

Ronnie

schwäbischer tüftler und bastler, kraftsportler, ADHS power, 43 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

ronnie berzins at mee