Hajde da shvatimo kako povezati ekran sa tečnim kristalima od 84x48 piksela sa Nokia 5110 na Arduino.
Potrebno
- - Arduino;
- - LCD ekran za Nokia 5110/3310;
- - spojne žice.
Instrukcije
Korak 1
Spojimo LCD zaslon od Nokia 5110 na Arduino prema donjem dijagramu.
Korak 2
Mnoge biblioteke su napisane za rad s ovim LCD ekranom. Predlažem da koristite ovaj: https://www.rinkydinkelectronics.com/library.php?id=44 (preuzmite datoteku LCD5110_Basic.zip).
Da biste instalirali, otpakirajte datoteku u Arduino IDE / libraries / direktorij.
Biblioteka podržava sljedeće značajke.
LCD5110 (SCK, MOSI, DC, RST, CS); - najava LCD ekrana koji ukazuje na podudarnost pinova Arduina;
InitLCD ([kontrast]); - inicijalizacija zaslona 5110 sa opcionalnom indikacijom kontrasta (0-127), zadata vrijednost je 70;
setContrast (kontrast); - postavlja kontrast (0-127);
enableSleep (); - prebacuje ekran u stanje mirovanja;
disableSleep (); - dovodi ekran iz stanja mirovanja;
clrScr (); - briše ekran;
clrRow (red, [početak], [kraj]); - brisanje odabranog reda s brojem reda, od početka do kraja položaja;
invert (true); i invert (lažno); - uključivanje i isključivanje inverzije sadržaja LCD ekrana;
ispis (niz, x, y); - prikazuje niz znakova s navedenim koordinatama; umjesto x-koordinate, možete koristiti LIJEVO, SREDIŠTE i DESNO; visina standardnog fonta je 8 točaka, tako da linije moraju biti razmaknute u 8 točaka;
printNumI (broj, x, y, [dužina], [punilo]); - prikazati cijeli broj na ekranu na zadanom položaju (x, y); dužina - željena dužina broja; punilo - znak za popunjavanje "praznina" ako je broj manji od željene dužine; zadani je prazan prostor ";
printNumF (num, dec, x, y, [razdjelnik], [dužina], [punilo]); - prikaz broja s pomičnom zarezom; dec - broj decimalnih mjesta; razdjelnik - decimalna točka, tačka "." prema zadanim postavkama;
setFont (ime); - odaberite font; ugrađeni fontovi se nazivaju SmallFont i TinyFont; fontove možete definirati na skici;
invertText (true); i invertText (netačno); - uključivanje / isključivanje inverzije teksta;
drawBitmap (x, y, podaci, sx, sy); - prikazati sliku na ekranu u koordinatama x i y; podaci - niz koji sadrži sliku; sx i sy su širina i visina slike.
Korak 3
Napišimo takvu skicu. Prvo, uključujemo biblioteku, a zatim deklariramo instancu klase LCD5110 sa zadacima pinova.
U postupku podešavanja () inicijaliziramo LCD zaslon.
U postupku loop () očistimo zaslon i napišemo proizvoljan tekst malim fontom, ispod njega, srednjim fontom, prikazujemo brojač sekundi.
Korak 4
Prikažimo sliku. Da bismo to učinili, pripremimo jednobojnu sliku koju želimo prikazati na Nokia 5110. Imajte na umu da je razlučivost zaslona 48 puta 84 piksela i da slika ne bi trebala biti veća. Na stranici https://www.rinkydinkelectronics.com/t_imageconverter_mono.php pretvorite sliku u bitni niz. Preuzmite rezultirajuću datoteku s nastavkom "*.c" i dodajte je u projekt putem izbornika: Skica -> Dodaj datoteku … ili jednostavno smjestite datoteku u direktorij skica, a zatim ponovo učitajte Arduino IDE.
Korak 5
Sada u programskom kodu morate deklarirati niz s podacima o slici (u mom kodu ovo je linija extern uint8_t mysymb;), a zatim upotrijebiti funkciju drawBitmap () za prikaz slike na željenom mjestu na ekranu.
Korak 6
Prenesite skicu na Arduino. Sada je tekst zamijenjen slikom, a brojač svaki put povećava svoju vrijednost.