Tipp zum Artikel "Umlaute auf LCD" - AZ-Delivery

Ciao e benvenuto al nostro articolo sul blog oggi.

 

Qualche giorno fa, vi abbiamo presentato un Inserisci mostrato come emettere caratteri auto-creati come umlauts su un display 1602 o 2004 LC.

Tuttavia, la tabella dei caratteri pubblicata contiene già i caratteri per "" e "a". Per molte applicazioni, queste sarebbero sufficienti.

Tuttavia, poiché la tabella non è conforme allo standard UTF-8, questi caratteri non possono essere facilmente emessi.

Tuttavia, possiamo istruire il chip direttamente a emettere un carattere specifico tramite una cosiddetta sequenza di escape.

Una sequenza di escape è una combinazione di caratteri nell'informatica tecnica che non rappresenta il testo, ma viene intercettata dal dispositivo ed esegue una funzione speciale.

In genere, inizia con una barra rovesciata, seguita da un numero.

Ciò consente ai caratteri menzionati inizialmente di essere emessi come segue:

  

  Lcd.Stampare("XE1"); emette un   Lcd.Stampare("XEF"); dà un .   Lcd.Stampare("XF5"); dà un   Lcd.Stampare("XE2"); dà un'   Lcd.Stampare("XDF"); emette un   Lcd.Stampare("XE4"); emette un   Lcd.Stampare("XF4"); emette un

Per terminare una sequenza di escape, è possibile inserire una barra rovesciata più ampia alla fine. Ad esempio, per utilizzare l'output "Cibo: 23 gradi centigradi" sul display, è possibile utilizzare la seguente ortografia:

 

 

  Lcd.Stampare("K xF5"che: 23 xDF-C");

Speriamo che i nostri suggerimenti per la corretta visualizzazione di caratteri speciali e umlaut sui display LC si riveleranno utili nei vostri progetti e attendiamo con ansia il vostro feedback.

Vi auguro ogni successo nei vostri progetti e vi dico addio al prossimo contributo.

 

Il tuo Markus Neumann

  

 

 

DisplaysSpecials

4 commenti

Wilhelm Weniger

Wilhelm Weniger

Ich wollte nur statt “Hello word” den Text “Grüezi” am LCD ausgeben.
Das konnte ich dann wie folgt lösen:
#include
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
char Replace1 = 0xE1; //ä
char Replace2 = 0xEF; //ö
char Replace3 = 0xF5; //ü
String Hello = “Grüezi”;

void setup() {
lcd.begin(16, 2);
Hello.replace(“ä”,String(Replace1));
Hello.replace(“ö”,String(Replace2));
Hello.replace(“ü”,String(Replace3));
lcd.print(Meldung);
}
void loop() {
lcd.setCursor(0, 1);
lcd.print(millis() / 1000);
}

dieter gutmann

dieter gutmann

Ich verwende einen 1,3" OLED I²C Display
Arduino 2.0.1
und ESP32 Dev Module
In Windows10 gibt es unter Windows-Zubehör eine Zeichentabelle.
Wenn man mit der Maus auf ein Zeichen zeigt bekommt man den zughörigen HEX-Wert angezeigt.

Werner

Werner

Falls es jemanden interessiert: Ich habe mich daran gesetzt und die LCD Library so geändert, dass man nun im Fließtext wie gewohnt Umlaute verwenden kann. Also ein einfaches lcd.print(“Grüße aus Österreich”); ist möglich. Der Library findest du hier zum Download: https://werner.rothschopf.net/202003_arduino_liquid_crystal_umlaute.htm

Malke

Malke

Guten Abend,
der Hinweis hat mich weitergebracht. Deshalb ein herzliches Dankeschön !!!
Nun fehlt mir nur noch der Code für das große !Ü!

Gruss

Dietmar Malke

Lascia un commento

Tutti i commenti vengono moderati prima della pubblicazione