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 |
|
---|