Salve ho necessità di scrivere il simbolo del grado ° con questo display, dai diversi post sembra sia basato sul processore Hitachi e sia uguale al HD44780U.
Ora ho trovato i caratteri speciali e le locazioni di memoria ma non riesco a capire come scrivere l'istruzione.
Ho provato ad inserirla con la seguente istruzione lcd.print(10110000); ma non è il simbolo del grado anche con l'istruzione lcd.print(00001011); niente da fare altri simboli
allora guarda l'esempio "CustomCaracter", in pratica ti insegna come accedere i sigoli pixel di un carattere, in modo da creare le tue lettere...
In quetso caso disegna un cuore stilizzato
[..]dichiarazione:[...]// make some custom characters:
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};
[..]per stamparlo:[...]
// create a new character
lcd.createChar(0, heart);
Non tutti i display HD44780 compatibili adottano la stessa mappa dei caratteri.
Ad esempio, guarda questo datasheet: come puoi vedere, ci sono dei caratteri che non sono identici al tuo.
byte grado[8] = { //configuro il carattere per rappresentare il grado centigrado
0b00000,
0b00100,
0b01010,
0b00100,
0b00000,
0b00000,
0b00000,
0b00000
};
int ciao;
questo lo crea e lo chiama ciao se ho ben capito, per scriverlo poi però non devo usare print ma write, così:
lcd.write(ciao);
così lo vedo
Solo non mi è chiaro come creare con la struttura sopra nuovi caratteri =(
la butto lì non mi linciate, 5 righe verticali e 8 righe orizzontali sono gli zeri gli uno sono i pixel accesi sulle righe.
Per favore, includi il codice usando gli appositi tag
Detto questo, è vero. I caratteri personalizzati si scrivono con write, non me lo ricordavo neanch'io
Per fare un carattere personalizzato, devi pensare che un bit è un pixel e che 0 sta per un pixel spento e 1 per un pixel acceso.
Se ti sviluppo il codice che hai messo usando "." per lo 0 e "X" per l'1, vedrai apparire il circolino dei gradi: