Domanda:
LCD seriale abilitato
mad_z
2009-11-03 05:20:57 UTC
view on stackexchange narkive permalink

Che tipo di LCD dovrei usare per andare con il mio Arduino?

Ho usato l'LCD compatibile con HD44780 in passato, ma ho sentito che gli LCD Serial Enabled rendono la vita molto più facile.

Sei risposte:
Craig Trader
2009-11-03 05:51:52 UTC
view on stackexchange narkive permalink

Dipende davvero da cosa vuoi fare con Arduino, oltre a visualizzare le informazioni sul display LCD. Come te, ho usato un LCD compatibile con HD44780 per il mio primo progetto e, sebbene funzionasse bene, ha consumato metà dei miei pin I / O digitali e ha limitato seriamente ciò che potevo fare con il mio progetto. Se non hai davvero bisogno di molto I / O, può andare bene.

D'altra parte, se vuoi fare di più, un'interfaccia LCD seriale può avere più senso. Costano il doppio, ma come puoi vedere da questo esempio, puoi collegare a margherita con I2C.

  / * Esempio rapido per utilizzare FunGizmos LCD seriale in I2C modalità ** Connessioni tra LCD & Arduino * LCD P2 * Pin1 non connesso * Pin2 non connesso * Pin3 SCL -> Analog in 5 (Arduino ha una resistenza pullup interna) * Pin4 SDA -> Analog in 4 (Arduino ha una resistenza pullup interna) * Pin5 VSS -> gnd * Pin6 VDD -> + 5V ** Per abilitare la modalità I2C degli LCD Pad, i pad di R1 devono essere ponticellati sul retro dell'LCD * (Tra R6 & R14 proprio sotto il glob IC nero) ** / # includere <Wire. h>int lcd_addr = 0x50; // indirizzo esadecimale I2C predefinito dal datasheetint blink; void setup () {delay (1000); // consenti a lcd di svegliarsi. Wire.begin (); // inizializza la libreria Wire // La libreria Wire si aspetta un valore a 7 bit per l'indirizzo e si sposta a sinistra aggiungendo 0 o 1 per lettura / scrittura // Regola il nostro indirizzo in modo che corrisponda a quello che Wire si aspetta (spostalo a destra di un bit) lcd_addr = lcd_addr >> 1; // Invia il comando di cancellazione LCD Wire.beginTransmission (lcd_addr); Wire.send (0xFE); // Cmd char Wire.send (0x51); // Home e cancella Wire.endTransmission (); Wire.beginTransmission (lcd_addr); Wire.send (0xFE); // Cmd char Wire.send (0x70); // Visualizza la versione del firmware LCD Wire.endTransmission (); ritardo (2000); // Invia il comando di cancellazione LCD Wire.beginTransmission (lcd_addr); Wire.send (0xFE); // Cmd char Wire.send (0x51); // Home e cancella Wire.endTransmission ();
Wire.beginTransmission (lcd_addr); Wire.send ("Ciao sto usando I2C"); Wire.endTransmission (); Wire.beginTransmission (lcd_addr); Wire.send (0xFE); // Cmd char Wire.send (0x45); // Imposta la posizione del cursore Wire.send (0x40); // Riga 2 Wire.endTransmission (); Wire.beginTransmission (lcd_addr); Wire.send ("FunGizmos.com"); Wire.endTransmission ();} void loop () {Wire.beginTransmission (lcd_addr); Wire.send (0xFE); // Cmd char Wire.send (0x45); // Imposta la posizione del cursore Wire.send (0x40 + 15); // ultimo carattere riga 2 Wire.endTransmission (); Wire.beginTransmission (lcd_addr); if (lampeggiante) Wire.send ('*'); altro Wire.send (''); Wire.endTransmission (); blink =! blink; ritardo (500);}  
JohnC
2009-11-03 14:29:23 UTC
view on stackexchange narkive permalink

Utilizzo un'unità di visualizzazione LCD parallela che ho convertito in I2C utilizzando il chip BV4208 I2C LCD Controller di ByVac o prendo in considerazione la sua nuova sostituzione, BV4638.

Ecco una libreria da utilizzare con questa unità: http://john.crouchley.com/blog/archives/264.

I2C utilizza solo due fili - Analog 4 e Analog 5, è possibile collegare diversi dispositivi da questi fili ciascuno con il proprio indirizzo I2C. Questo è un modo molto semplice per estendere Arduino.

Amir Gonnen
2011-02-25 13:07:01 UTC
view on stackexchange narkive permalink

Se si dispone di un LCD compatibile con HD44780 e si desidera utilizzarlo senza consumare troppi pin di uscita, è possibile utilizzare un registro a scorrimento (come 74VHC164 o 74HC595).
Ecco un collegamento a un progetto di esempio.
Effettivamente questo è molto simile a un LCD seriale abilitato.

zklapow
2009-11-03 06:42:46 UTC
view on stackexchange narkive permalink

Io uso lcd seriali e sono molto facili da usare e utili, ma se non usi un Arduino Mega avrai solo una porta seriale. Questo può essere risolto usando il software seriale anche se gli annunci lunghi ti servono solo scrivere, non leggere. Una buona libreria seriale di software può essere trovata qui

thisismyrobot
2009-11-03 10:47:13 UTC
view on stackexchange narkive permalink

Ho già utilizzato un LCD seriale, il 20x4 nero su verde di SparkFun. L'interfaccia a 3 fili è molto facile da lavorare ma attenzione, la retroilluminazione assorbe molta energia.

Inoltre, se la colleghi a un PICAXE il seriale 1/0 vs alto / basso è nel modo sbagliato e dovrai mettere un inverter logico in linea.

Craig
2011-02-25 18:02:01 UTC
view on stackexchange narkive permalink

Potresti usare lo zaino LCD adafruit. Supporta I2C o SPI. In modalità SPI si utilizza solo un registro a scorrimento 74HC595.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...