|
ultimo aggiornamento 30 marzo 2012 |
|
Pin |
Funzione |
Analog 0 | Pulsanti (select, up, right, down and left) |
Digital 4 | DB4 |
Digital 5 | DB5 |
Digital 6 | DB6 |
Digital 7 | DB7 |
Digital 8 | RS (Data or Signal Display Selection) |
Digital 9 | Enable |
Digital 10 | Controllo retroilluminazione |
+5V | Alimentazione +5V |
GND | Alimentazione GND |
R1: 2,2 kΏ 1/4W | Varie |
R2: 330 Ώ 1/4W | CS codice HMT-LCDS01 |
R3: 680 Ώ 1/4W | 6 Pulsanti da CS |
R4: 1 kΏ 1/4W | Strip maschio 2 poli 90° (1 pezzo) + 1 ponticello |
R5: 3,3 kΏ 1/4W | Strip maschio 8 poli (2 pezzi) |
R6: 10 Ώ 1/4W | Strip maschio 6 poli (3 pezzi) |
CONTRASTO: 10 kΏ trimmer | Strip maschio 5 poli (1 pezzo) |
TR: Transistor NPN tipo 2N3904 | Strip maschio 16 poli (1 pezzo) |
LCD1: LCD 1x16 tipo RC162051 APEX | Strip femmina 16 poli (1 pezzo) |
RC162051YFHLYB - Display LCD 16 caratteri x 2 linee con retroilluminazione | ||
|
||
Piedinatura | Datasheet display RC162051YFHLYB | Foto |
MONTAGGIO DELLA SCHEDA
Per la realizzazione dell'unità
occorre fare riferimento al piano di montaggio Per la saldatura si utilizzerà un
piccolo saldatore a punta fine, della potenza di circa 25 – 30 W. S’inizierà
dalle resistenze proseguendo con i pulsanti, il trimmer, il transistor, e
finendo con i pin-strip.
Occorrerà anche saldare al display LCD un connettore pin strip femmina 1x16. Se
si vuole avere l’illuminazione sempre attiva occorre montare il ponticello sul
Jumper JP1.
/* Test_LCD-keypad_homotix.pde Il programma permette di verificare il funzionamento del display LCD e del Keypad. Sul display viene mostrato il nome del tasto premuto Vengono utilizzati i seguenti pin Pin +5V -> Alimentazione Pin GND -> Alimentazione Pin Digital 13 -> Bus D4 dati LCD Pin Digital 12 -> Bus D5 dati LCD Pin Digital 11 -> Bus D6 dati LCD Pin Digital 10 -> Bus D7 dati LCD Pin Digital 7 -> terminale RS display LCD Pin Digital 8 -> terminale EN display LCD Pin Digital 9 -> attivazione retroilluminazione Pin Analogico 0 -> lettura keypad Creato il 18/3/2012 da Adriano Gandolfo <https://www.adrirobot.it> per <http://www.homotix.it> This example code is in the public domain. */ #include <LiquidCrystal.h> //richiama la libreria per utilizzo LCD // Selezione dei pin utilizzati dal display LCD // Sintassi LiquidCrystal(rs, enable, d4, d5, d6, d7) LiquidCrystal lcd(7, 8, 13, 12, 11, 10); // defininizione dei valori utilizzati da pulsanti int lcd_key = 0; int adc_key_in = 0; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 int read_LCD_buttons() // lettura del pulsante { adc_key_in = analogRead(0); // lettura del valore if (adc_key_in > 1000) return btnNONE; if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 890) return btnUP; if (adc_key_in < 920) return btnDOWN; if (adc_key_in < 945) return btnLEFT; if (adc_key_in < 985) return btnSELECT; return btnNONE; } void setup() { pinMode(10, OUTPUT); //ricordarsi di attivarlo come uscita analogWrite(10, 90); lcd.begin(16, 2); // inizializzazione libreria lcd.setCursor(0, 0); lcd.print("Valore AN : "); // Scrittura messaggio } void loop() { lcd.setCursor(0,0); // Cancellazione riga lcd.print(" "); //reset the cursor to first char, second line lcd.setCursor(0, 0); lcd.print("Valore AN : "); // Scrittura messaggio lcd.print(adc_key_in); // mostra il valore letto in analogico lcd.setCursor(0,1); // spostamento cursore lcd.print("Tasto: "); // Scrittura messaggio lcd_key = read_LCD_buttons(); // Lettura del tasto premuto switch (lcd_key) // in base al valore letto mostra un diverso messaggio { case btnRIGHT: { lcd.print("DESTRA "); break; } case btnLEFT: { lcd.print("SINISTRA "); break; } case btnUP: { lcd.print("SU "); break; } case btnDOWN: { lcd.print("GIU' "); break; } case btnSELECT: { lcd.print("SELEZIONE"); break; } case btnNONE: { lcd.print("NESSUNO "); break; } } } |
Elenco revisioni | |
30/03/2011 |
Emissione preliminare |