[175] | 1 |
|
---|
| 2 | /*Programma di esempio per la gestione di un display LCD a duer righe con controller Hitachi HD44780
|
---|
| 3 |
|
---|
| 4 | Verrà visualizzata sullaprima riga la Scritta Ciao con il cursore ON
|
---|
| 5 | Mentre nella seconda riga verrà visualizzata la scritta Mondo !! con cursore OFF
|
---|
| 6 | Dopo 3 secondi si vedranno lampeggiare i simboli *
|
---|
| 7 |
|
---|
| 8 | Buon Lavoro !! Mario Mottula
|
---|
| 9 |
|
---|
| 10 | Per info: mmottula@hotmail.com
|
---|
| 11 |
|
---|
| 12 | Di seguito la Configurazione dei pin Standard:
|
---|
| 13 |
|
---|
| 14 | * LCD RS pin to digital pin 12
|
---|
| 15 | * LCD Enable pin to digital pin 11
|
---|
| 16 | * LCD D4 pin to digital pin 5
|
---|
| 17 | * LCD D5 pin to digital pin 4
|
---|
| 18 | * LCD D6 pin to digital pin 3
|
---|
| 19 | * LCD D7 pin to digital pin 2
|
---|
| 20 | * LCD R/W pin to ground */
|
---|
| 21 |
|
---|
| 22 | //Inserisco la libreria LCD_m0 nel programma
|
---|
| 23 | #include <LCD_m0.h>
|
---|
| 24 |
|
---|
| 25 | //Rinomino per comodità la libreria LCD_m0 in LCD
|
---|
| 26 | LCD_m0 LCD;
|
---|
| 27 | void setup() {
|
---|
| 28 | //Attendo 50ms per la stabilizzazione della tensione di alimentazione
|
---|
| 29 | delay(50);
|
---|
| 30 | //Richiamo la Routine di Inizializzazione passando come parametri i pin di Reset , Enable e di Dati
|
---|
| 31 | LCD.Inizializza_LCD(12,11,5,4,3,2); //D4,D5,D6,D7
|
---|
| 32 |
|
---|
| 33 | }
|
---|
| 34 |
|
---|
| 35 | void loop() {
|
---|
| 36 | //Ad ogni ciclo posso eseguire la pulizia del display
|
---|
| 37 | LCD.Pulisci();
|
---|
| 38 | delay(1000);
|
---|
| 39 | //Accendo il cursore
|
---|
| 40 | LCD.Cursore_ON();
|
---|
| 41 | delay(1000);
|
---|
| 42 | //Scrivo il Testo desiderato
|
---|
| 43 | LCD.Scrivi_Testo(" Ciao ",1);
|
---|
| 44 | //Spengo il cursore
|
---|
| 45 | LCD.Cursore_OFF();
|
---|
| 46 | LCD.Scrivi_Testo(" Mondo !! ",2);
|
---|
| 47 | delay(3000);
|
---|
| 48 | //Scrive il carattere * nella posizione desiderata
|
---|
| 49 | LCD.Scrivi_Car_PS('*',1,4);
|
---|
| 50 | LCD.Scrivi_Car_PS('*',1,11);
|
---|
| 51 | delay(500);
|
---|
| 52 | LCD.Scrivi_Car_PS(' ',1,4);
|
---|
| 53 | LCD.Scrivi_Car_PS(' ',1,11);
|
---|
| 54 | delay(500);
|
---|
| 55 | LCD.Scrivi_Car_PS('*',1,4);
|
---|
| 56 | LCD.Scrivi_Car_PS('*',1,11);
|
---|
| 57 | delay(2000);
|
---|
| 58 | Blink(); //Lampeggio che indica la fine della routine
|
---|
| 59 | }
|
---|
| 60 |
|
---|
| 61 | void Blink()
|
---|
| 62 |
|
---|
| 63 | {
|
---|
| 64 | digitalWrite(13,HIGH);
|
---|
| 65 | delay(250);
|
---|
| 66 | digitalWrite(13,LOW);
|
---|
| 67 | delay(250);
|
---|
| 68 | }
|
---|
| 69 |
|
---|