Kazalo:

Vmesniška plošča HD44780 LCD na I2C za avtobusnega pirata: 9 korakov
Vmesniška plošča HD44780 LCD na I2C za avtobusnega pirata: 9 korakov

Video: Vmesniška plošča HD44780 LCD na I2C za avtobusnega pirata: 9 korakov

Video: Vmesniška plošča HD44780 LCD na I2C za avtobusnega pirata: 9 korakov
Video: ⚡️ NE BOM ODUPAL! Amazon 2.0 | Spletna trgovina iz nič – 3. del 2024, November
Anonim
HD44780 vmesniška plošča LCD na I2C za avtobusnega pirata
HD44780 vmesniška plošča LCD na I2C za avtobusnega pirata
HD44780 vmesniška plošča LCD na I2C za avtobusnega pirata
HD44780 vmesniška plošča LCD na I2C za avtobusnega pirata

Poceni LCD zasloni, ki temeljijo na naboru čipov HD44780, so različnih velikosti: 2x16, 4x20 itd. Ti zasloni imajo dva standardna načina vmesnika, 4 -bitni in 8 -bitni vzporedni. 8bit zahteva skupaj 11 podatkovnih vrstic, 4bit zahteva 7 (6 samo za pisanje). Nekateri LCD -zasloni podpirajo dodaten način serijskih podatkov, na primer VFD, ki sem ga obravnaval pri Hack a Day. HD44780 LCD -ji so običajno 5 -voltni deli z ločenim napajanjem za osvetlitev ozadja. Bus Pirate ima samo pet vhodno -izhodnih zatičev, tolerantnih na 5 voltov, zato smo naredili majhno adapterno ploščo z dovolj zatiči za nadzor LCD. Bus Pirate upravlja vmesniško ploščo s svojo knjižnico vmesnikov LCD. Lahko imam PCB -je, komplete ali sestavljene komplete, ki jih proizvaja Seeed Studio, za približno 15 USD, vključno s poštnino po vsem svetu, več tukaj. Nekaterih elementov oblikovanja in tabel HTML nisem mogel vključiti v Instructable, prvotno objavo si lahko ogledate na strani Dangerous Prototypes blog.

1. korak: Strojna oprema

Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema

Pregled V tem članku opisujemo vmesniško ploščo I2C za LCD-prikazovalnike na osnovi HD44780. To dokazujemo z univerzalnim serijskim vmesnikom Bus Pirate. Izvorna koda Bus Pirate za knjižnico vmesnikov HD44780 na osnovi I2C je v javni lasti, zato se lahko prosto prilagaja vašim projektom. Vezje in tiskana vezja sta bila zasnovana z brezplačno različico Cadsoft Eagle. Datoteke za oblikovanje lahko prenesete iz Bus Pirate SVN. Pred uporabo vmesniške plošče ne pozabite preveriti podatkovnega lista vašega LCD -ja glede na izhod adapterja. Vsi LCD -ji niso enaki. PCF8574 V/I razširitveni IC To je preprost 8 V/I razširitveni čip, ki se upravlja prek dvožičnega vmesnika I2C. Vmesnik I2C je dostopen iz glave JP1. PCF8574 deluje od 2,5 do 5 voltov. Vhodno/izhodni zatiči delujejo pri napajalni napetosti, zato, če ga napajamo s 5 volti, poveže LCD z napetostjo 5 voltov. C1 (0,1 uF) loči IC od nihanj v napajanju. En pin PCF8574 krmili 3 mm LED (LED1) skozi tokovni omejevalni upor R2 (1000 ohmov). LED lučke označujejo uspešno komunikacijo med Bus Pirate in adapterjem. PCF8574 ne more zagotoviti dovolj toka za napajanje LED, zato napajamo LED iz 5 -voltnega napajanja in preklapljamo ozemljitev. LCD Vmesniška plošča komunicira z znakovnim LCD-zaslonom na osnovi HD44780 v načinu 4-bitnega vzporednega vmesnika. 4 -bitni vmesniški zatiči - RS, RW, EN in D4 -D7 - so povezani s sedmimi vhodno -izhodnimi zatiči PCF8574. Za priključitev adapterja na LCD -zaslon radi uporabljamo 0,1 -palčni moški zatič, običajno ga lahko naslonite na zatiče, da ustvarite zadosten stik za hiter preizkus. Zatiči za osvetlitev ozadja niso bili povezani, ker je toliko različnih stilov osvetlitve ozadja. Zagotavljanje napajanja za osvetlitev ozadja LED lahko poškoduje zaslon, ki potrebuje napajalno napetost. Napajanje Večina zaslonov LCD potrebuje 5 voltov, za zunanje napajanje pa uporabite naslov JP2. Za priključitev vlečnih uporov Bus Pirate smo zagotovili drugi napajalni zatič. PCB Vezje in tiskano vezje sta bila zasnovana z brezplačno različico Cadsoft Eagle. Datoteke za oblikovanje je mogoče prenesti iz vodila Bus Pirate SVN. enostranski dizajn z vsemi luknjami z eno samo mostično žico (prikazano rdeče). Lahko imamo PCB-je, komplete ali sestavljene komplete, ki jih proizvaja Seeed Studio za približno 15 USD, vključno s poštnino po vsem svetu, več tukaj. Delna vrednost del (vse th groba luknja) C10.1uF/10 voltov+R110000 (10K) ohmski enosmerni trimer/potenciometer, 6mmR21000 (1K) ohmski upor, 1/4 vata LED13mm (T1) LED, rdeča JP1+JP20.1 moški priključek, 5 zatičev IC1PCF8574N, 8bit I2C V/I razširitveni priključek DIP16ICS116 pin DIP za IC1I ni mogel vključiti nekaterih elementov oblikovanja in tabel HTML v Instructable, prvotno objavo si lahko ogledate na spletnem dnevniku Dangerous Prototypes.

2. korak: Povezave

Povezave
Povezave

Naprava: HD44780 znakovni LCD. Avtobus: 4-bitni vzporedni, z vmesniško ploščo PCF8574 I2C. Zahteve po moči: 5 voltov. Referenca: primer podatkovnega lista [PDF], sklic na ukaze HD44780, uber-mesto HD44780 LCD. Popoln dnevnik sej piratskih sej za to predstavitev. je oblikoval adapter za knjižnico LCD univerzalnega serijskega vmesnika Bus Pirate, vendar bo deloval z vsem, kar lahko govori po protokolu I2C. Za primer izvedbe I2C-> HD44780 si oglejte izvorno kodo Bus Pirate. Povežite Bus Pirate z vmesniško ploščo, kot je prikazano v tabeli. Tabela prikazuje tudi surove povezave z PCF8574 IC, če sledite brez adapterne plošče. Priključite adapter na napajanje, ki zadostuje za LCD, običajno 5 voltov. Povezava I2C med adapterjem in Bus Pirateom zahteva vlečne upore med 2 in 10K. Tukaj je več informacij o mešani napetostni povezavi z vlečnimi okenci in vlečnimi upori Bus Pirate. Ne morem vključiti nekaterih elementov oblikovanja in tabel HTML v Instructable, prvotno objavo si lahko ogledate na spletnem dnevniku Dangerous Prototypes.

3. korak: 1. korak. Nastavitvena knjižnica

Korak 1. Namestitev knjižnice
Korak 1. Namestitev knjižnice

Vmesniki Opisali smo zasnovo adapterja in kako ga povezati z Bus Pirate, zdaj je končno čas, da nekaj napišete na LCD. HiZ> m <<11 <<1 <<W <

p <<2 <<v <<< dobite poročilo o napetostiNAPONSKI MONITOR: 5V: 4.9 | 3.3V: 3.3 | VPULLUP: 5.0 <<Pritisnite 'm' na terminalu Bus Pirate in izberite knjižnico LCD. Trenutno podpira samo LCD-je HD44780 z vmesnikom PFC8574, opisanim v prvi polovici tega članka (možnost 1). Omogočite napajalnike (veliki 'W') in izvlečne upore (meni 'p'). Preverite merilnik napetosti (meni 'v') in se prepričajte, da vlečna napetost (Vpullup) odčitava okoli 5 voltov.

Korak 4: Korak 2. Ponastavitev in inicializacija

Korak 2. Ponastavitev in inicializacija
Korak 2. Ponastavitev in inicializacija
Korak 2. Ponastavitev in inicializacija
Korak 2. Ponastavitev in inicializacija

V tej tabeli so opisani enobajtni ukazi, ki upravljajo HD44780 LCD, tukaj je podrobna referenca. Te ukaze je mogoče vnesti iz ukazne vrstice Bus Pirate, vendar smo za večino njih naredili makre, da prihranimo čas. LCD> (0) <<< prikaži makro meni 0. Makro meni <<< ta meni 1. Ponastavitev LCD -ja << <ponastavite LCD2. Init LCD <<< ponastavite in inicializirajte LCD3.3 Počistite LCD <<< čist LCD, vrnite kazalec na 04. Položaj kazalca ex: (4: 0) <<< nastavite položaj kazalca 5. Napišite preskusno besedilo <<Makro 0 prikaže makro meni za kateri koli način Bus Pirate. LCD> (2) <<< inicializira makro LCD Prikaz vrstic: 1. 1 <<< enovrstični prikaz2. Večkrat <<2 'RESET <<< makro 2 vključuje zaporedje ponastavitveINIT <<Inicializacijski makro LCD (2) konfigurira zaslon za 4 -bitni vmesniški način, omogoča prikaz kurzorja in nastavi nekaj drugih koristnih možnosti. Konfigurirajte število zaslonskih vrstic, izberite 1 za prikaz v eni vrstici ali 2 za vse druge zaslone. Po inicializaciji mora biti zaslon čist, s kazalcem, vidnim v kotu. Če ni delovalo, preverite povezavo I2C, izvlečne upore in napajanje, nato poskusite znova. HD44780 LCD-je je treba ponastaviti s posebnim zaporedjem signalov, preden jih lahko inicializirate za 4-bitni ali 8-bitni vmesniški način. Makro 1 ustvari to zaporedje. Makro 2 vključuje zaporedje ponastavitve, zato pred makrom 2 ni treba uporabljati makra 1.

5. korak: 3. korak. Napišite testne znake

Korak 3. Napišite testne znake
Korak 3. Napišite testne znake
Korak 3. Napišite testne znake
Korak 3. Napišite testne znake

LCD> (6:80) <<Makro za zapisovanje številk zapolni LCD s preskusnimi številkami med 0 in 9. Številka za dvopičjem pove Bus Bus -u, koliko preskusnih številk naj napiše, uporabljamo 4x20LCD, zato zapišemo 80 številk. Upoštevajte, da se kazalec konča na položaju 0, pod prvim '0'. LCD> (7:80) <<Makro za pisanje znakov zapolni LCD z znaki ASCII, vnesite količino za dvopičjem. Upoštevajte, da se vrstica pesti nadaljuje na tretjem, tretja na drugem in druga na zadnjem. Znaki niso neprekinjeni, ker se zasloni LCD ne preklapljajo iz ene vrstice v drugo. Kasneje se bomo o tem malo bolj pogovorili.

Korak 6: Korak 4. Počistite LCD

Korak 4. Počistite LCD
Korak 4. Počistite LCD

LCD> (3) <<Makro za brisanje zaslona LCD pošlje ukaz HD44780, ki izbriše zaslon in vrne kazalec na prvo mesto. To dejanje lahko izvedete tudi brez makrov, glejte tabelo ukazov na začetku tega razdelka. Vnesite '[0b1' v Bus Pirate, da nastavite vmesnik na ukazni način ([) in pošljete ukaz za čisti zaslon HD44780 (0b00000001) brez makra.]

Korak 7: Korak 5. Vnesite besedilo

Korak 5. Vnesite besedilo
Korak 5. Vnesite besedilo
Korak 5. Vnesite besedilo
Korak 5. Vnesite besedilo

LCD> (8) <<< vstavi uporabniško besedilo Vnesite besedilo, ki ga želite vstaviti na mestu kazalca. HD44780 LCD demo <<Ko počistite LCD v 4. koraku, se kazalec postavi na prvi blok. Lahko bi ga nastavili tudi z makrom (4: 0), ki premakne kazalec na prvi znak. Vstavi besedilo v makro kurzorja zahteva vnos besedila in ga nato kopira na LCD, ko pritisnete enter. LCD> (4: 0x40) <& lt

LCD> (8) <<< vstavi besedilo Vnesite besedilo, ki ga želite vstaviti na mestu kazalca. Avtobus Pirate v2go <<Pisanje v drugo vrstico je nekoliko bolj zapleteno, pravzaprav se začne pri znaku 64 na LCD -ju 4x20. Če nadaljujete s pisanjem od konca prve vrstice (znak 20), boste končali na začetku tretje vrstice! Na tej strani je lepa zbirka pomnilniških zemljevidov za večino znakov LCD. Najprej postavimo kazalec na drugo vrstico (4: 0x40). Nato makro 'vstavi besedilo' zgrabi naš vnos in ga kopira na LCD. LCD> (4: 0x14) (8) (4: 0x54) (8) <<< več sintakse makra Vnesite besedilo, ki ga želite vstaviti na mesto kazalca. Vdelana programska oprema v2.0+ <<< smo vnesli to Vnesite besedilo, ki ga želite vstaviti na mesto kazalca. NevarniPrototipi <<Bus Pirate sprejema več makrov na isti vrstici, zato je mogoče celoten zaslon zapisati hkrati. Zadnji dve vrstici smo pisali z eno vrstico skladnje. Lahko bi uporabili '(3) (4: 0) (8) (4: 0x40) (8) (4: 0x14) (8) (4: 0x54) (8) ', da počistite LCD in zapišete vse štiri vrstice z enim samim vnosom skladnje.

8. korak: Korak 6. Branje z LCD -zaslona

Korak 6. Branje z LCD -zaslona
Korak 6. Branje z LCD -zaslona

Vmesniška plošča Bus Pirate in LCD lahko bere z LCD -ja. Prebrali bomo besedilo, ki smo ga zapisali na zaslon (DDRAM), lahko pa preberete tudi nastavitve in pomnilnik znakov po meri (CGRAM), tako da nastavite pravilen naslov. LCD> [0b10000000 '' '<<< nastavite kazalec za branje' ' '] HD44780 RS LOW, COMMAND MODE <<< register select pin lowCMD WRITE: 0x80 <<Najprej povemo Bus Pirate, naj pošlje podatke v register ukazov LCD ([). Nato z ukazom za nastavitev naslova DDRAM (0b1xxxxxxx) nastavimo bralni kazalec na začetek DDRAM -a (xxxxxxx = 0000000).] LCD>] rrrrrrr <<< pomnilnik za branje podatkov HD44780 RS VISOKI, NAČIN PODATKOV <<< izberite register pin highREAD: 0x48 <<< 'H'READ: 0x44 <<<' D'READ: 0x34 <<< '4'READ: 0x34 <<<' 4'READ: 0x37 <<< '7'READ: 0x38 < << '8'READ: 0x30 <<<' 0'LCD> Na koncu povejte Bus Pirate -u, naj bere iz podatkovnega pomnilnika (]), nato pa preberite nekaj bajtov (rrrrrrr). Dobili smo "HD44780", besedilo, ki smo ga na zaslonu zapisali v 5. koraku. Za branje sedmih bajtov morate uporabiti tudi bližnjico r: 7, vendar v trenutni vdelani programski opremi ne deluje - to bomo popravili pred naslednjo izdajo.

9. korak: Naredite več

Narediti več
Narediti več

Navedite splošen opis koraka LCD -vmesnik HD44780 je priročen pripomoček za Bus Pirate. Uporablja se lahko za hiter preizkus ali naprednejši razvoj logike. Poleg LCD-jev je lahko osem 2,5-voltnih 5-voltnih vhodno-izhodnih zatičev uporabnih za druge aplikacije Bus Pirate z visokim številom pin. Lahko imamo PCB-je, komplete, ali sestavljenih kompletov, ki jih je Seeed Studio izdelal za približno 15 USD, vključno s pošiljanjem po vsem svetu, več tukaj. Nekaterih elementov oblikovanja in tabel HTML nisem mogel vključiti v Instructable, prvotno objavo si lahko ogledate na blogu Dangerous Prototypes.

Priporočena: