/* -------------------------------------------------------- stxuartlcd_demo1.ino Demosketch:Ansteuerung eines HD44780 kompatiblen Displays, welches über "stxlcdrecv_uart" angesteuert wird. Zeigt Verwendung der originalen Arduino-Methoden print / println in Verbindung mit Einlesen analoger Spannungswerte 30.05.2026 R. Seelig -------------------------------------------------------- */ #include "stxlcdsoftuart.h" constexpr int uref = 464; // Spannung (Vcc) in 10 mV, die beim ADC 1023 entsprechen constexpr int txdPin = A4; // Anschluss, auf dem Daten an den StxLcd-Adapter gesendet werden constexpr int spg1Pin = A0; // Anschluss zur Spannungsmessung 1 constexpr int spg2Pin = A1; // Anschluss zur Spannungsmessung 2 // -------------------------------------------------------- // Objekt erzeugen // -------------------------------------------------------- StxlcdUart stxlcd(A4); /* -------------------------------------------------------- setup -------------------------------------------------------- */ void setup() { stxlcd.begin(4800); stxlcd.clrscr(); delay(20); stxlcd.printf(" Spannungs-\n\r messung"); delay(2000); stxlcd.clrscr(); } /* -------------------------------------------------------- loop -------------------------------------------------------- */ void loop() { uint16_t spg1, spg2; spg1= analogRead(spg1Pin); delay(20); spg2= analogRead(spg2Pin); delay(20); spg1= map(spg1, 0, 1023, 0, uref); spg2= map(spg2, 0, 1023, 0, uref); /* Ausgabe der Spannungswerte komplett über das Objektprintf Platzhalter: %s : Ausgabe Textstring %d : dezimale Ausgabe %x : hexadezimale Ausgabe ist Wert > 0xff erfolgt 4-stellige Ausgabe is Wert <= 0xff erfolgt 2-stellige Ausgabe %k : Integerausgabe als Pseudokommazahl 12345 wird als 123.45 ausgegeben %c : Ausgabe als Asciizeichen %p : setze X-Position %P : setze Y-Position %l : loesche aktuelle Zeile und gehe zu x-Position 1 */ stxlcd.printfkomma= 2; stxlcd.printf("%p%PSpg1: %k V ",1,1,spg1); // %p%P == 1,1 : gotoxy(1,1); %k: Kommazahl ausgeben stxlcd.printf("%p%PSpg2: %k V ",1,2,spg2); // %p%P == 1,2 : gotoxy(1,2); %k: Kommazahl ausgeben delay(250); }