Cuprins:

Placă de adaptare HD44780 LCD la I2C pentru pirata autobuzului: 9 pași
Placă de adaptare HD44780 LCD la I2C pentru pirata autobuzului: 9 pași

Video: Placă de adaptare HD44780 LCD la I2C pentru pirata autobuzului: 9 pași

Video: Placă de adaptare HD44780 LCD la I2C pentru pirata autobuzului: 9 pași
Video: MODULO I2C PARA PANTALLAS LCD (display 16x2) + CODIGO ARDUINO + CONEXIONES|| BIEN EXPLICADO 2024, Noiembrie
Anonim
Placă de adaptare HD44780 LCD la I2C pentru pirata autobuzului
Placă de adaptare HD44780 LCD la I2C pentru pirata autobuzului
Placă de adaptare HD44780 LCD la I2C pentru Bus Pirate
Placă de adaptare HD44780 LCD la I2C pentru Bus Pirate

LCD-urile cu caractere ieftine bazate pe chipset-ul HD44780 sunt disponibile într-o varietate de dimensiuni: 2x16, 4x20 etc. Aceste afișaje au două moduri standard de interfață, paralelă de 4 biți și 8 biți. 8 biți necesită un total de 11 linii de date, 4 biți necesită 7 (6 numai pentru scriere). Unele LCD acceptă un mod suplimentar de date seriale, cum ar fi VFD-ul acoperit la Hack a Day. Bus Pirate are doar cinci pini I / O toleranți la 5 volți, așa că am creat o placă de adaptor mică, cu suficienți pini pentru a controla LCD-ul. Bus Pirate controlează placa adaptorului prin biblioteca sa de interfețe LCD. Continuați să citiți despre placa adaptorului LCD de caractere Bus Pirate HD44780 și biblioteca de interfețe. Pot avea PCB-uri, kituri sau kituri asamblate produse de Seeed Studio pentru aproximativ 15 USD, inclusiv livrarea în întreaga lume, mai multe aici. Nu aș putea include câteva elemente de formatare și tabele HTML într-un Instructable, puteți vedea postarea originală la Protocoalele periculoase. blog.

Pasul 1: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Prezentare generală În acest articol prezentăm o placă adaptor I2C pentru LCD-uri HD44780. O demonstrăm cu o interfață serială universală Bus Pirate. Codul sursă Bus Pirate pentru biblioteca de interfețe HD44780 bazată pe I2C este domeniu public, deci este gratuit să se adapteze la propriile proiecte. Circuitul și PCB au fost proiectate cu versiunea gratuită a Cadsoft Eagle. Fișierele de proiectare pot fi descărcate din Bus Pirate SVN. Înainte de a utiliza placa adaptorului, asigurați-vă că verificați foaia de date pentru ecranul LCD împotriva pinout-ului adaptorului. Nu toate LCD-urile sunt la fel. PCF8574 I / O expansor IC Acesta este un cip simplu de expansiune 8 I / O care este controlat prin interfața I2C cu două fire. Interfața I2C este accesibilă din antetul JP1. PCF8574 funcționează de la 2,5 la 5 volți. Pinii I / O funcționează la tensiunea de alimentare, așa că, dacă îl alimentăm cu 5 volți, interfață LCD-ul la 5 volți. C1 (0.1uF) decuplează circuitul electric de fluctuațiile sursei de alimentare. Un pin al PCF8574 controlează un LED de 3 mm (LED1) prin rezistorul de limitare a curentului R2 (1000 ohmi). LED-urile se aprind pentru a indica o comunicare reușită între Bus Pirate și adaptor. PCF8574 nu poate alimenta suficient curent pentru a alimenta LED-ul, așa că alimentăm LED-ul de la sursa de 5 volți și comutăm solul. LCD Placa adaptor comunică cu un LCD cu caracter HD44780 în modul de interfață paralelă pe 4 biți. Pinii de interfață de 4 biți - RS, RW, EN și D4-D7 - sunt conectați la șapte dintre pinii I / O PCF8574. Ne place să folosim antet pin masculin de 0,1 "pentru a conecta adaptorul la un LCD, de obicei puteți sprijini LCD-ul de ace pentru a crea contact suficient pentru un test rapid. antetul LCD. Nu am conectat pinii de iluminare din spate, deoarece există atât de multe stiluri diferite de iluminare din spate. Furnizarea de energie pentru o iluminare de fundal cu LED-uri ar putea deteriora un ecran care necesită o tensiune negativă. antetul JP2. Am furnizat un al doilea pin de alimentare pentru a conecta rezistențele pull-up ale Bus Pirate. Circuitul și PCB-ul au fost proiectate cu versiunea gratuită a Cadsoft Eagle. Fișierele de proiectare pot fi descărcate de pe Bus Pirate SVN. PCB-ul este un design cu o singură față, cu orificii orizontale, cu un singur fir jumper (prezentat în roșu). Putem avea PCB-uri, kituri sau kituri asamblate produse de Seeed Studio pentru aproximativ 15 USD, inclusiv transportul internațional, mai multe aici. tot al gaură aspră) C10.1uF / 10volți + R110000 (10K) ohm tundere / potențiometru cu o singură rotație, rezistor 6mmR21000 (1K) ohm, LED 1/4 watt LED 13mm (T1), roșu JP1 + JP20.1 "antet masculin, 5 pini IC1PCF8574N, 8 biți I2C I / O expander Socket DIP16ICS116 pin DIP pentru IC1I nu a putut include unele elemente de formatare și tabele HTML într-un Instructable, puteți vedea postarea originală pe blogul Dangerous Prototypes.

Pasul 2: Conexiuni

Conexiuni
Conexiuni

Dispozitiv: LCD cu caracter HD44780. Autobuz: paralel pe 4 biți, cu placa adaptor PCF8574 I2C. Cerințe de alimentare: 5 volți. Referințe: fișă tehnică de exemplu [PDF], referință de comandă HD44780, uber-site LCD HD44780. a proiectat adaptorul pentru biblioteca LCD a interfeței seriale universale Bus Pirate, dar va funcționa cu orice poate vorbi protocolul I2C. Aruncați o privire la codul sursă Bus Pirate pentru un exemplu de implementare I2C-> HD44780. Conectați Bus Pirate la placa adaptor așa cum se arată în tabel. Tabelul arată, de asemenea, conexiunile brute la IC-ul PCF8574 dacă urmăriți fără o placă adaptor. Conectați adaptorul la o sursă de alimentare suficientă pentru ecranul LCD, în general 5 volți. Conexiunea I2C între adaptor și Bus Pirate necesită rezistențe de tracțiune între 2 și 10K. Iată mai multe informații despre interfața de tensiune mixtă cu pull-up-uri și rezistențele de pull-up integrate Bus Pirate. Nu aș putea include câteva elemente de formatare și tabele HTML într-un Instructable, puteți vedea postarea originală pe blogul Dangerous Prototypes.

Pasul 3: Pasul 1. Configurare bibliotecă

Pasul 1. Configurați biblioteca
Pasul 1. Configurați biblioteca

Interfață Am acoperit designul adaptorului și cum să-l conectăm la Bus Pirate, acum este în sfârșit timpul să scriem ceva pe ecranul LCD. Hi> m <<11 <<1 <<W <

p <<2 <<v <<< obține raport de tensiune MONITOR TENSIUNE: 5V: 4.9 | 3,3V: 3,3 | VPULLUP: 5.0 <<Apăsați „m” în terminalul Bus Pirate și alegeți biblioteca LCD. În prezent, acceptă doar LCD-uri cu caracter HD44780 folosind adaptorul PFC8574 descris în prima jumătate a acestui articol (opțiunea 1). Activați sursele de alimentare („W” mare) și rezistențele de tracțiune (meniul „p”). Verificați monitorul de tensiune (meniul 'v') și asigurați-vă că tensiunea de tracțiune (Vpullup) citește în jur de 5 volți.

Pasul 4: Pasul 2. Resetare și inițializare

Pasul 2. Resetare și inițializare
Pasul 2. Resetare și inițializare
Pasul 2. Resetare și inițializare
Pasul 2. Resetare și inițializare

Acest tabel prezintă comenzile cu un singur octet care controlează un LCD HD44780, iată o referință detaliată. Aceste comenzi pot fi introduse din linia de comandă Bus Pirate, dar am creat macrocomenzi pentru majoritatea dintre ele pentru a economisi timp. LCD> (0) <<< afișează meniul macro0. <resetează ecranul LCD2. Initează LCD <<< resetează și inițializează ecranul LCD 3. Șterge ecranul LCD <<< șterge ecranul, readuce cursorul la 04. Poziția cursorului ex: (4: 0) <<< setează poziția cursorului 5. Scrie textul de testare <<Macro 0 afișează meniul macro pentru orice mod Bus Pirate. LCD> (2) <<< inițializează macro LCD Linii de afișare: 1. 1 <<< afișare cu o singură linie2. Mai multe <<2 'RESET <<< macro 2 include o secvență de resetare INIT <<Macro-ul LCD de inițializare (2) configurează ecranul pentru modul de interfață pe 4 biți, permite afișarea cursorului și setează alte câteva opțiuni utile. Configurați numărul de linii de afișare, alegeți 1 pentru un afișaj cu o singură linie sau 2 pentru toate celelalte afișaje. După inițializare, ecranul ar trebui să fie clar, cu un cursor vizibil în colț. Dacă nu a funcționat, verificați conexiunea I2C, rezistențele de tracțiune și sursa de alimentare, apoi încercați din nou. Macro 1 creează această secvență. Macro 2 include secvența de resetare, deci nu este nevoie să utilizați macro 1 înainte de macro 2.

Pasul 5: Pasul 3. Scrieți caractere de test

Pasul 3. Scrieți caractere de test
Pasul 3. Scrieți caractere de test
Pasul 3. Scrieți caractere de test
Pasul 3. Scrieți caractere de test

LCD> (6:80) <<Macrocomanda numerelor de scriere umple ecranul LCD cu numere de test cuprinse între 0 și 9. Numărul de după două puncte îi spune autobuzului Pirate câte numere de testare trebuie să scrie, folosim un 4x20LCD, deci scriem 80 de numere pentru a-l umple. Observați că cursorul se termină în poziția 0, sub primul „0”. LCD> (7:80) <<Macro-ul de caractere de scriere umple ecranul LCD cu caractere ASCII, introduceți cantitatea după două puncte. Observați că linia de pumn continuă pe a treia, a treia la a doua și a doua la ultima. Caracterele nu sunt continue deoarece LCD-urile cu caractere nu se înfășoară de la o linie la alta. Vom vorbi puțin mai mult despre asta mai târziu.

Pasul 6: Pasul 4. Ștergeți ecranul LCD

Pasul 4. Clear LCD
Pasul 4. Clear LCD

LCD> (3) <<Macro-ul LCD clar trimite comanda HD44780 care șterge ecranul și readuce cursorul în prima poziție. Puteți face oricare dintre aceste operații fără macrocomenzi, consultați tabelul de comenzi de la începutul acestei secțiuni. Introduceți „[0b1” în Bus Pirate pentru a seta interfața în modul de comandă ([) și trimiteți comanda HD44780 clear screen (0b00000001) fără macro.]

Pasul 7: Pasul 5. Tastați Text

Pasul 5. Tastați Text
Pasul 5. Tastați Text
Pasul 5. Tastați Text
Pasul 5. Tastați Text

LCD> (8) <<< inserare text utilizator Introduceți text pentru a insera în poziția cursorului. Demo LCD HD44780 <<După ștergerea ecranului LCD la pasul 4, cursorul este poziționat la primul bloc. L-am putea seta și cu macro-ul (4: 0), care mută cursorul pe primul caracter. Inserați textul la macro-ul cursorului solicită introducerea textului, apoi îl copiază pe ecranul LCD când apăsați Enter. LCD> (4: 0x40) <& lt

LCD> (8) <<< introduceți text Introduceți text pentru a insera în poziția cursorului. Autobuz Pirate v2go <<Scrierea pe a doua linie este puțin mai complicată, de fapt începe de la caracterul 64 pe un LCD 4x20. Dacă continuați să scrieți de la sfârșitul liniei 1 (caracterul 20), atunci veți ajunge la începutul rândului trei! Această pagină are o colecție plăcută de hărți de memorie pentru majoritatea dimensiunilor LCD de caractere. În primul rând, poziționăm cursorul pe a doua linie (4: 0x40). Apoi, macrocomanda „inserare text” apucă intrarea noastră și o copieză pe ecranul LCD. Firmware v2.0 + <<< am tastat acest text Introduceți text pentru a insera în poziția cursorului. Prototipuri periculoase <<Piratul autobuz acceptă mai multe macrocomenzi pe aceeași linie, astfel încât întregul ecran poate fi scris simultan. Am scris la ultimele două rânduri cu o singură linie de sintaxă. Am putea folosi „(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) 'pentru a șterge ecranul LCD și a scrie toate cele patru linii cu o singură intrare de sintaxă.

Pasul 8: Pasul 6. Citirea de pe ecranul LCD

Pasul 6. Citirea de pe ecranul LCD
Pasul 6. Citirea de pe ecranul LCD

Placa adaptor Bus Pirate și LCD poate citi de pe ecranul LCD. Vom citi textul pe care l-am scris pe ecran (DDRAM), dar puteți citi, de asemenea, setările și caracterul RAM personalizat (CGRAM) setând adresa corectă. LCD> [0b10000000 '' '<<< setați indicatorul citit' ' '] HD44780 RS LOW, COMMAND MODE <<< registru selectare pin scăzut CMD WRITE: 0x80 <<În primul rând, îi spunem Bus Pirate să trimită date la registrul de comandă LCD ([). Apoi, folosim comanda setare adresă DDRAM (0b1xxxxxxx) pentru a seta indicatorul de citire la începutul DDRAM (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< citire memorie HD44780 RS HIGH, DATA MODE <<< select select pin înalt CITIRE: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> În cele din urmă, spuneți Bus Pirate să citească din memoria de date (]), apoi citiți câțiva octeți (rrrrrrr). Am primit „HD44780”, textul pe care l-am scris pe ecran la pasul 5. Ar trebui să puteți utiliza și comanda rapidă r: 7 pentru a citi șapte octeți, dar nu funcționează în firmware-ul curent - vom remedia acest lucru înainte de următoarea versiune.

Pasul 9: Faceți mai mult

Făcând mai mult
Făcând mai mult

Oferiți o descriere generală a pasului Adaptorul LCD cu caracter HD44780 este un accesoriu util pentru Bus Pirate. Poate fi folosit pentru un test rapid sau pentru o dezvoltare logică mai avansată. sau kituri asamblate produse de Seeed Studio pentru aproximativ 15 USD, inclusiv livrarea în întreaga lume, mai multe aici. Nu aș putea include câteva elemente de formatare și tabele HTML într-un Instructable, puteți vedea postarea originală pe blogul Dangerous Prototypes.

Recomandat: