Serial Monitor

Hallo zusammen

Ich habe einmal eine Frage zu dem Serial Monitor von dem Arduino , Hat man die Möglichkeit die ausgaben auf dem Monitor zu Formatieren,? Als was ich meine, wenn ich Uhrzeit und Datum ausgebe laufen die Zeilen nach unten, ich möchte meinen Netbook für mein Arduino Mega am Aquarium benutzen um alle Daten die ausgelesen werden auf den Monitor anzeigen. Aber so als wäre es ein Menü, So das die Uhrzeit , Datum, Temeratur u.s.w. immer an gleicher Stelle ausgegeben wird , so das ich mir das Ausgabe Feld mit Umrandungen wie Doppelkreuz oder Sternchen einrahmen kann und dort auch immer die Daten angezeigt werden ohne zu scrollen.Eventuell gibt es ja Steuerzeichen die man einbinden muß um das zu realisieren.
Da ich mich nicht mit den Serial Monitor auskenne lediglich die Daten anzeigen lassen kann aber scrollend, wäre es schön wenn mir da einer weiter helfen könnte.

Es gibt Steuerzeichen.

Aber das hängt dann vom Terminalprogramm ab und nicht von Arduino.

Grüße Uwe

Ja das dachte ich mir schon, ich meine ja bei der Software wo ich den Arduino mit Programiere, da kann ich ja den Serial Monitor aufrufen und mir die Daten auslesen lassen und Anzeigen. Jetzt möchte ich aber das die Daten nicht scrollen sondern immer an der gleichen Stelle angezeigt werden so das ich ein feststehendes Menü habe wo ich die Daten ablesen kann, ist das möglich oder bräuchte ich dazu ein Externes Monitor Programm

Das Terminal des Arduino kann sowas nicht.
Grüße Uwe

alles Klar, Danke UWE

Terminal Programme allgemein machen sowas nicht ohne etwas Aufwand. Die schreiben die Daten direkt so raus wie so kommen und du kannst immer nur entscheiden ob man z.B. ein Linefeed mitsendet oder nicht um eine neue Zeile anzufangen. Das hängt auch damit zusammen dass dieses Protokoll ursprünglich für Teletype Drucker und ähnliche Geräte konzipiert würde und nicht für Bildschirme. Deshalb gibts da Steuerzeichen wie "carriage return" (Wagenrücklauf). Das kommt von Schreibmaschinen.

Sowas kannst du dir aber z.B. in C# mit der SerialPort Klasse sehr leicht selbst schreiben. Es ist wirklich nicht so kompliziert wie du vielleicht denkst. Java ist auch eine Option aber nicht so schön.

Hier ist Beispiel-Code:

(wenn man nicht mit Strings arbeiten will (was sich bei dir aber anbietet), gibt es die Read-Methode die die Daten in ein Byte-Array einliest. Das kann man dann mit BitConverter in andere Datentypen umwandeln).

malerlein:
Da ich mich nicht mit den Serial Monitor auskenne lediglich die Daten anzeigen lassen kann aber scrollend, wäre es schön wenn mir da einer weiter helfen könnte.

Mit dem "Serial Monitor" von Arduino geht es nicht.

Du kannst Dir aber ein "Terminalprogramm" installieren, wenn es bei Deinem Betriebssystem nicht schon von Haus aus dazugehört, das ANSI-ESCAPE-Sequenzen versteht, z.B. VT100-Codes:

Welches Betriebssystem verwendest Du?

Unter Windows könntest Du beispielsweise das kostenlose "Putty" als serielles Terminal verwenden.

Anstelle des seriellen Terminals der Arduino-Software startest Du einfach Dein Terminalprogramm/Putty.

Dann könntest Du von Deinem Arduino aus über die serielle Schnittstelle nicht nur Deine Daten senden, sondern auch spezielle Steuercodes, die ANSI-ESC-Sequenzen.

Es gibt Steuercodes zum Positionieren der Schreibmarke (Zeile, Spalte), es gibt Steuercodes zur Einstellung von Hintergrundfarbe und Schriftfarbe. Es gibt Steuercodes zum Löschen des Bildschirms und so weiter. Das kannst Du ganz einfach über die serielle Schnittstelle raussenden und auf jedem Standard-Terminalprogramm kannst Du es darstellen.

In diesem Beitrag habe ich schon mal Code gepostet, wie man solche Codes über Serial raussenden kann, für Bildschirme bunt und in Farbe und mit Ausgabe an der Stelle auf dem Bildschirm, wo man es möchte:
http://forum.arduino.cc/index.php?topic=147715.msg1110406#msg1110406

Und zwei Beiträge danach habe ich einen Screenshot als Bild im Anhang gepostet, wie dann das serielle Terminal in Putty als Terminalprogramm aussieht, achte auf das gepostete Bild:
http://forum.arduino.cc/index.php?topic=147715.msg1111624#msg1111624

Vor 35 Jahren waren solche "VT100 Terminals" Hardware-Kästen mit serieller Schnittstelle, und 35 Jahre später gibt es das als Software für jedes Betriebssystem und nennt sich "Terminal-Software mit VT100 Emulation". Es gibt immer noch Leute, die so etwas brauchen. Und sei es nur, um Ausgaben bunt und in Farbe und passend nach Zeile und Spalte formatiert über die serielle Schnittstelle eines Arduino hin zu bekommen.

Hallo , ich verwende auf meinen Netbook Window 7 und Danke für die Ausfühlichen Angaben zum Serial Monitor.

Du könnest ja was mit processing machen. (Arduino IDE entspringt da)

Hier gibt es auch schöne Beispiele Ausgaben das Arduinos mit Processing zu machen. Ich habe mal eine einfaches Thermometer mit Processing und arduino 2k9 mit LM35CZ gemacht, war eigentlich schnell erledigt.
Gruß
Der Dani

@malerlein: Beschreibe mal genau was du an der Seriellen ausgibst und wie du die Anzeigen haben willst.
Es findet sich dann bestimmst jemand der dir ein kleines Windows Programm bastelt.

Wenn gerade keiner Zeit hat, könnte ich dir mit Delphi sowas machen.

Es ist ja garnicht viel was ich an dem Seriellen Monitor ausgeben will. Mein Arduino regelt lediglich die Strömungspumpen, aber das habe ich schon durch LED gelöst da geht immer eine Gläserne Statue an oder aus je nach dem welche Pumpe gerade läuft. Dann habe ich eine EchtzeitUhr die RTC 1307 am Arduino die regelt den Sonnenauf und Untergang, und einen Temeraturfühler für die Beleuchtung so das wenn 40 Grad überschritten werden die Lüfter starten. Ich habe mir gedacht es sollte folgender massen aussehen.

Überschrift: Aqua-Control

Uhr und Datum: 12:00:00 28.06.2013

Temperatur: + 30 GRAD

Die Ausgaben auf dem Monitor stehen ja schon, nur was mich stört ist das sie immer gescrollt werden also das wenn der Monitor von meinem Netbook voll ist. Im Grunde stand das Netbook nur so rum und wurde nie gebraucht, aber da ich des öfteren an dem Programm des Arduino etwas erweiter oder ändere, habe ich den Arduino für mein Aquarium über das Netbook angeschlossen so habe ich kein Kabelsalat und kann sofort auf das Programm zu greifen. Daher hatte ich mir gedacht wenn das Netbook schon da steht könnte ich es auch als Seriellen Monitor benutzen. Wenn Ich eine Anfang habe und mich in so ein Programm einlesen kann habe ich keine Probleme weiter zu Programmieren, mir fällt es nur immer schwer solch ein Programm zu entwerfen und den Anfang zu finden :cold_sweat:

Ach ja das Netbook läuft unter Window 7, die Clock wird ausgelesen mit datum(0) = Sekunden
datum(1)= Minuten
datum(2)= Stunden
datum(3)= Jahr
datum(4)= Tag
datum(5)= Monat

Die Temperatur läuft über

// Analog input pin
#define analogInPin A0

// Referenzspannung A/D-Wandler
#define Vcc 5.0

int sensorValue = 0; // Sensorwert
float temp; // Temperaturwert

void setup()
{
// serielle Schnittstelle einschalten und auf 9600 bps setzen
Serial.begin(9600);
}

void loop()
{
// Analogwert lesen
sensorValue = analogRead(analogInPin);
// in Celsiusgrade umrechnen
temp = (Vcc * sensorValue / 10.24) - 273.15;

// Ausgabe auf dem seriellen Monitor
Serial.print("Sensor = " );
Serial.print(sensorValue);
Serial.print("\t Temperatur = ");
Serial.println(temp);

// 1/2 Sekunde warten
delay(500);
}

Der SerialMonitor ist nunmal leider kein vollwertiges Terminal Programm und unterstützt daher nicht alle ASCII Steuerzeichen. Linefeed geht und das wars dann wahrscheinlich.

Du kannst wie gesagt ein richtiges Terminal nehmen, dann schickst du ein Form Feed (Schreibmaschine: neues Blatt einziehen) und schon solltest du eine neue Seite haben:
Serial.write(0x0C);

SerialMonitor macht daraus aber ein Leerzeichen

Eine grobe Alternative ist, dass du immer so viele Zeilen schickt (die können leer sein), dass die Information beim Scrollen oben steht. Das funktioniert aber nur bei konstanter Größe des SerialMonitors.

Warum nicht ein Ethernetshield dran und dann sowas machen: http://dhmaster.dnsalias.net/
Dann kannst du hausintern über IP und extern über webadresse dein Aquarium beobachten. Mache ich mit der Temperatu auf der Fensterbank zuhause und wie du siehst schon seit fast zwei Jahen schon.

Ja das ist schon schön , nur ich sitze mit dem Rücken zu meinem Aquarium und mir gehtes einfach nur darum das mein Netbook nicht einfach so da rum steht sondern wenn es schon da steht auch einen Zweck hat und darum das mit dem Monitor. Vorher habe ich immer das USB Kabel rüber legen müssen zum Arduino um Verbindung zu haben aber da wir auch nicht mehr die Jüngsten sind war mir das zu gefährlich wegen dem Stolpern :slight_smile: und so erfüllt das Netbook noch einen Sinn , so das ich schnell an das Programm komme und wenn es da steht ist es ein schöner Monitor.

Ich über gerade mit dem Putty062 den kann ich ja so einstellen das er mir genau so eine Größe an Fenster liefert wie ich brauche. Es ist nur immer so langwierig alles raus zu bekommen wenn man kein Englisch kann. Aber ich werde es schon irgendwie schaffen. :roll_eyes:

Wenn dir das so reicht.

Im Prinzip schickt der Arduino nur den Temperaturwert.
Die Zeit der RTC brauchst du am PC nicht, könnte man alternativ die Rechneruhr anzeigen
Wäre in Delphi kein Problem, wenn eine tserial Komponente vorhanden.

Geht natürlich auch mit dem C++ Builder, kannst ja mal ansehen
Ich würde dann aber den Tempwert als Integer schicken und auf der PC Seite umrechnen.

Wie volvodani schon sagte, ein Ethernetshield wäre eine bessere Alternative.
Die "richtig harten Brocken" übernimmt die Lib, der Rest ist relativ easy. (must dich ein wenig mit HTML befassen)

Ja da hast Du schon Recht das ich die System Uhr des PC nutzen kann, jedoch habe ich dann keine Controlle darüber ob die RTC in Aktion ist oder nicht. Mit Html sollte kein Problem sein da ich schon so manche HP gebaut habe.Mit dem Putty das geht schon ganz gut auf dem Netbook, jedoch weis ich nicht wie er die Daten ausliest. Da mir bei dem Putty Monitor die Zeit , Datum und Tempratur angezeigt wird in dem Fenster wie ich die Größe einstelle, jedoch nicht so wie ich das möchte, so das die z.B Uhrzeit ruhig steht und die Sekunden hochgezahlt werden, wie es eben bei einer Digitalen UHR sein sollte sondern immer die komplette Uhrzeit weg ist und neu angezeigt wird. Gut ich habe mir das schon gedacht das ich eventuell die ausgelesenen Daten vom Pc neu verarbeiten lassen muss um die fest stehende Zeit an zu geben. Jedoch solch ein Programm kann ich nicht schreiben, da habe ich überhaupt kein Plan. Aber ich Danke euch für eure rege Anteil Nahme und vielleicht klappt es ja doch noch. Gut mit dem Ehtenetshild ist vielleicht die bessere Lösung nur ich machen nichts mit einem Smartphon oder sonstiges und ich brauche ja auch nicht von meinem PC auf den Arduino zu zu greifen, mir geht es lediglich darum das Netbook zu nutzen und Ihn als Monitor zu nutzen. Um auf das Netbook zu zu greifen gibt es einfachere lösungen z.B. Taemwiever.

jurs

Mal eine Frage an Dich. Ich habe mir das Programm Putty runtergeladen und mir auch das von Dir gepostete Beispielangesehen, das gefällt mir Gut. Nur ich möchte gerne wenn das machbar ist mir einen Monitor basteln, wo die Uhrzeit, Datum temperatur ausgegeben wird ohne das jedesmal die Anzeige gelöscht wird und neu geschrieben wird, wenn Du weist was ich meine. So wie bei einer Digitalen UHR wo die Sekunden hoch gezählt werden in der Anzeig. ist das möglich oder müsste ich die Daten erst auslesen aus dem Arduino und auf dem PC mit einem anderen Programm so zur Anzeige brnigen wie ich mir das vorstelle????? Dein Beispiel in dem Link den Du gepostet hast gefällt mir echt Gut nur das ist ja nur die Grafik und da bewegt sich nichts. Aber so stelle ich mir mein Netbook als Monitor schon vor. Schön wäre natürlich wenn es noch eine Funktion gäbe wo, wenn die Uhrzeit sich mal ändert vor der nach läuft ich über den Monitor die Uhr neu stellen könnte.

malerlein:
Nur ich möchte gerne wenn das machbar ist mir einen Monitor basteln, wo die Uhrzeit, Datum temperatur ausgegeben wird ohne das jedesmal die Anzeige gelöscht wird und neu geschrieben wird, wenn Du weist was ich meine. So wie bei einer Digitalen UHR wo die Sekunden hoch gezählt werden in der Anzeig. ist das möglich oder müsste ich die Daten erst auslesen aus dem Arduino und auf dem PC mit einem anderen Programm so zur Anzeige brnigen wie ich mir das vorstelle?????

Natürlich kannst Du die Daten so an das Terminal senden, dass das Terminal die Daten darstellt, die Du möchtest.
Und zwar auch ohne jedesmal den Bildschirm zu löschen.

Im Prinzip hast Du die Vorgabe ja durch die Funktionen setup und loop:
Setup läuft nach einem Reset einmalig, loop läuft dauernd und wieder und wieder.

Da der Controller jedesmal ein Reset ausführt, wenn Du im PC das Terminal startest, ist es einfach:

  1. In der setup-Funktion sendest Du einmalig eine feste "Bildschirmmaske"
  2. In der loop-Funktion sendest Du die sich ständig ändernden Daten, immer in die Datenfelder und immer "mit gleicher Datenbreite"

Ich habe da mal ein Beispiel vorbereitet:

// Demonstration code for ANSI/VT100 terminal codes on Arduino
// Created by "jurs" for German Arduino forum
// Do NOT use the Arduino serial monitor with this sketch!
// You must use a terminal emulation software to show the serial output correctly.
// When using Windows you can use "PUTTY" configured to your Arduino COM Port.

// defines taken from list at http://www.fourwalledcubicle.com/files/LUFA/Doc/090605/html/dd/d6d/a00111.html
#define	ANSI_ESCAPE_SEQUENCE(c) "\33[" c
#define	ESC_RESET ANSI_ESCAPE_SEQUENCE("0m")
#define	ESC_BOLD_ON ANSI_ESCAPE_SEQUENCE("1m")
#define	ESC_ITALICS_ON ANSI_ESCAPE_SEQUENCE("3m")
#define	ESC_UNDERLINE_ON ANSI_ESCAPE_SEQUENCE("4m")
#define	ESC_INVERSE_ON ANSI_ESCAPE_SEQUENCE("7m")
#define	ESC_STRIKETHROUGH_ON ANSI_ESCAPE_SEQUENCE("9m")
#define	ESC_BOLD_OFF ANSI_ESCAPE_SEQUENCE("22m")
#define	ESC_ITALICS_OFF ANSI_ESCAPE_SEQUENCE("23m")
#define	ESC_UNDERLINE_OFF ANSI_ESCAPE_SEQUENCE("24m")
#define	ESC_INVERSE_OFF ANSI_ESCAPE_SEQUENCE("27m")
#define	ESC_STRIKETHROUGH_OFF ANSI_ESCAPE_SEQUENCE("29m")
#define	ESC_FG_BLACK ANSI_ESCAPE_SEQUENCE("30m")
#define	ESC_FG_RED ANSI_ESCAPE_SEQUENCE("31m")
#define	ESC_FG_GREEN ANSI_ESCAPE_SEQUENCE("32m")
#define	ESC_FG_YELLOW ANSI_ESCAPE_SEQUENCE("33m")
#define	ESC_FG_BLUE ANSI_ESCAPE_SEQUENCE("34m")
#define	ESC_FG_MAGENTA ANSI_ESCAPE_SEQUENCE("35m")
#define	ESC_FG_CYAN ANSI_ESCAPE_SEQUENCE("36m")
#define	ESC_FG_WHITE ANSI_ESCAPE_SEQUENCE("37m")
#define	ESC_FG_DEFAULT ANSI_ESCAPE_SEQUENCE("39m")
#define	ESC_BG_BLACK ANSI_ESCAPE_SEQUENCE("40m")
#define	ESC_BG_RED ANSI_ESCAPE_SEQUENCE("41m")
#define	ESC_BG_GREEN ANSI_ESCAPE_SEQUENCE("42m")
#define	ESC_BG_YELLOW ANSI_ESCAPE_SEQUENCE("43m")
#define	ESC_BG_BLUE ANSI_ESCAPE_SEQUENCE("44m")
#define	ESC_BG_MAGENTA ANSI_ESCAPE_SEQUENCE("45m")
#define	ESC_BG_CYAN ANSI_ESCAPE_SEQUENCE("46m")
#define	ESC_BG_WHITE ANSI_ESCAPE_SEQUENCE("47m")
#define	ESC_BG_DEFAULT ANSI_ESCAPE_SEQUENCE("49m")
#define	ESC_CURSOR_POS(L,C) ANSI_ESCAPE_SEQUENCE(#L ";" #C "H")
#define	ESC_CURSOR_UP(L) ANSI_ESCAPE_SEQUENCE(#L "A")
#define	ESC_CURSOR_DOWN(L) ANSI_ESCAPE_SEQUENCE(#L "B")
#define	ESC_CURSOR_FORWARD(C) ANSI_ESCAPE_SEQUENCE(#C "C")
#define	ESC_CURSOR_BACKWARD(C) ANSI_ESCAPE_SEQUENCE(#C "D")
#define	ESC_CURSOR_POS_SAVE ANSI_ESCAPE_SEQUENCE("s")
#define	ESC_CURSOR_POS_RESTORE ANSI_ESCAPE_SEQUENCE("u")
#define	ESC_ERASE_DISPLAY ANSI_ESCAPE_SEQUENCE("2J")
#define	ESC_ERASE_LINE ANSI_ESCAPE_SEQUENCE("K")

#define ESC_CURSOR_OFF ANSI_ESCAPE_SEQUENCE("?25l")
#define ESC_CURSOR_ON ANSI_ESCAPE_SEQUENCE("?25h")

void s(char* str) 
{ // put string to Serial - short form
  Serial.print(str);
}

void sendcursor(int r, int c)
{ // set ANSI terminal cursor to specified row and column
  char str[12];
  sprintf(str,"\33[%d;%dH",r,c);
  s(str);
}

void settext(char* fg, char* bg, char* cup, char* str)
// send text to terminal with foreground color, background color, cursor position
{
  s(cup); 
  s(fg);
  s(bg);
  s(str);
}

void clearsquare(char* fg, char* bg, int r1, int c1, int r2, int c2)
{ // clears a square on the terminal window with colors set
  s(fg);
  s(bg);
  for (int i=0;i<r2-r1;i++) 
  {
    sendcursor(r1+i, c1);
    for (int i=0;i<c2-c1;i++) s(" ");
  }  
}

char time[]=__TIME__;
int stunden,minuten,sekunden;

void ShowScreen()
// Die Bildschirmmaske ausgeben (was gleich bleibt)
{
  char* color;
  s(ESC_BG_BLUE);
  s(ESC_FG_GREEN);
  s(ESC_ERASE_DISPLAY);
  s(ESC_CURSOR_OFF);
  for (int i=0;i<6;i++)
  {
    switch (i)
    {
      case 0: color=ESC_BG_RED;break;
      case 1: color=ESC_BG_YELLOW;break;
      case 2: color=ESC_BG_GREEN;break;
      case 3: color=ESC_BG_MAGENTA;break;
      case 4: color=ESC_BG_CYAN;break;
      case 5: color=ESC_BG_BLACK;break;
     } 
     clearsquare(ESC_FG_BLACK,color, 2+i,2+2*i, 15-i,32-2*i);
  }  
}

void showTime()
// Die veränderlichen Teile des Bildschirms ausgeben (Zeitanzeige)
{
  char textbuffer[10];
  sprintf(textbuffer,"%02d:%02d:%02d",stunden,minuten,sekunden);
  settext(ESC_FG_WHITE, ESC_BG_BLACK, ESC_CURSOR_POS(8, 13), textbuffer);
}


void tickOneSecond()
{
  sekunden++;
  if (sekunden>=60) {sekunden=0;minuten++;}
  if (minuten>=60) {minuten=0;stunden++;}
  if (stunden>=24) {stunden=0;}
}


void setup()
{
  Serial.begin(9600);
  ShowScreen();
  stunden=atoi(time);
  minuten=atoi(&time[3]);
  sekunden=atoi(&time[6]);
}

unsigned long alteSekunde;
void loop()
{
  if (alteSekunde==millis()/1000) return; // selbe Sekunde, loop verlassen
  alteSekunde=millis()/1000;
  tickOneSecond(); // Uhrzeit weiterticken lassen
  showTime();  // Uhrzeit anzeigen
}

Die setup-Funktion sendet einmalig den bunten Multi-Rahmen.
Die loop-Funktion sendet jede Sekunde einmal die neue Zeit (und nur die Zeit, ohne den Rahmen)

Das mit der Zeit ist in dem Fall natürlich ein kleiner Fake, weil der Sketch keine Echtzeituhr ausliest, sondern die Zeit aus der Zeitangabe ermittelt, zu der Du das Programm kompiliert hast. Diese Zeitangabe hole ich aus dem fertigen Programm. Nach jedem Reset fängt die Zeit daher mit demselben Startwert an zu laufen, nämlich mit der Uhrzeit, zu der Du das Programm kompiliert und hochgeladen hast. Also jedesmal beim Starten von Putty startet wieder dieselbe Zeit auf dieser "Uhr".
:wink:

malerlein:
Dein Beispiel in dem Link den Du gepostet hast gefällt mir echt Gut nur das ist ja nur die Grafik und da bewegt sich nichts. Aber so stelle ich mir mein Netbook als Monitor schon vor.

Dann teste mal den Sketch mit der sich bewegenden Uhrzeit.
Geschwindigkeit ist keine Hexerei.

Damit es am Bildschirm nicht flimmert, mußt Du Änderungen im Prinzip in weniger als 1/25s ausführen, dann liegt die Änderungszeit unterhalb der Trägheit des Auges.

Flimmerfrei hältst Du den Bildschirm also dadurch, dass Du

  • nur die wenigen geänderten Daten auf den Bildschirm schickst
  • und im Zweifelsfall die Baudrate erhöhst (bei Arduino im Serial.begin und auch bei Putty)

malerlein:
Schön wäre natürlich wenn es noch eine Funktion gäbe wo, wenn die Uhrzeit sich mal ändert vor der nach läuft ich über den Monitor die Uhr neu stellen könnte.

So eine Konfigurationsmöglichkeit ist natürlich nicht ganz so einfach, je nachdem wie nett es optisch aussehen soll.

Wenn es optisch gar nicht aussehen soll, könntest Du eine "Kommando-Blindeingabe" vorsehen. Dann müßtest Du etwa zum Setzen der Zeit eine solche Zeile eingeben können, ohne dass die Zeichen am Bildschirm sichtbar werden:
time 21:37
und mit der Enter-Taste abschließen, um die Zeit z.B. auf 21:37 Uhr zu setzen.

Die nächsthöhere Schwierigkeitsklasse wäre, dass Du oben oder unten am Bildschirm zusätzlich zu den dargestellten Daten einen Zeileneditor programmierst, in dem die eingegebenen Zeichen erscheinen. So wie im seriellen Monitor der Arduino-Software die Sendezeile oben oberhalb des Datenfensters.

Die höchste Schwierigkeitsklasse wäre es schließlich, wenn Du eigene Dateneingabebildschirme programmierst, so dass Du komplett verschiedene Bildschirme für Dateneingabe und Datendarstellung hast. Das ist alles möglich, aber da ein Arduino nur ein Mikrocontroller ist und kein Betriebssystem hat, bekommst Du natürlich auch keine Betriebssystemunterstützung, z.B. bei der Darstellung eines Eingabefelds. Da mußt Du Cursorverschiebung nach rechts und links, Eingabe, Löschen und alles komplett selbst programmieren.