84x48 piksel maye kristal ekranı Nokia 5110-dan Arduino-ya necə bağlayacağımızı düşünək.
Zəruri
- - Arduino;
- - Nokia 5110/3310 üçün LCD ekran;
- - birləşdirici tellər.
Təlimat
Addım 1
LCD ekranını aşağıdakı diaqrama uyğun olaraq Nokia 5110-dan Arduino-ya bağlayaq.
Addım 2
Bu LCD ekranla işləmək üçün bir çox kitabxana yazılmışdır. Bunun birini istifadə etməyi təklif edirəm: https://www.rinkydinkelectronics.com/library.php?id=44 (LCD5110_Basic.zip faylını yükləyin).
Qurmaq üçün Arduino IDE / libraries / qovluğuna sənədin açın.
Kitabxana aşağıdakı xüsusiyyətləri dəstəkləyir.
LCD5110 (SCK, MOSI, DC, RST, CS); - Arduinonun sancaqlarına uyğunluğu göstərən LCD ekranın elanı;
InitLCD ([kontrast]); - İsteğe bağlı bir kontrast göstəricisi ilə 5110 displeyinin başlanğıcı (0-127), standart 70;
setContrast (kontrast); - kontrastı təyin edir (0-127);
enableSleep (); - ekranı yuxu rejiminə keçirir;
disableSleep (); - ekranı yuxu rejimindən çıxarır;
clrScr (); - ekranı təmizləyir;
clrRow (sıra, [başlanğıc], [son]); - seçilmiş sıra nömrəsi sətirini mövqedən başdan sona qədər təmizləmək;
ters (doğru); və tərs (yalan); - LCD ekranın məzmununun ters çevrilməsi və söndürülməsi;
çap (string, x, y); - göstərilən koordinatları olan bir simvol simli göstərir; x-koordinat əvəzinə SOL, MƏRKƏZ və SAĞ istifadə edə bilərsiniz; standart şriftin hündürlüyü 8 baldır, buna görə sətirlər 8 nöqtədə aralanmalıdır;
printNumI (num, x, y, [uzunluq], [doldurucu]); - verilmiş bir vəziyyətdə ekranda bir tam rəqəm göstərmək (x, y); uzunluq - nömrənin istənilən uzunluğu; doldurucu - sayı istənilən uzunluqdan az olduqda "boşluqları" doldurmaq üçün bir xarakter; standart boş yerdir ";
printNumF (num, dec, x, y, [bölücü], [uzunluq], [doldurucu]); - üzən nöqtə nömrəsini göstərin; dec - ondalık yerlərin sayı; bölücü - onluq nöqtə, nöqtə olaraq "." nöqtəsi;
setFont (ad); - bir şrift seçin; quraşdırılmış şriftlər SmallFont və TinyFont adlanır; şriftlərinizi eskizdə təyin edə bilərsiniz;
invertText (doğru); və invertText (yalan); - mətn inversiyası açma / söndürmə;
drawBitmap (x, y, data, sx, sy); - x və y koordinatlarında ekranda şəkli göstərmək; məlumat - şəkil olan bir sıra; sx və sy şəklin eni və hündürlüyüdür.
Addım 3
Gəlin belə bir eskiz yazaq. Əvvəlcə kitabxananı daxil edirik, sonra pin tapşırıqları ilə LCD5110 sinifinin bir nümunəsini elan edirik.
Quraşdırma () prosedurunda LCD ekranı işə salırıq.
Döngə () prosedurunda ekranı təmizləyirik və təsadüfi bir mətn yazırıq kiçik bir şrift altında, orta şriftlə, saniyələrin sayğacını göstəririk.
Addım 4
Gəlin bir şəkil göstərək. Bunu etmək üçün Nokia 5110-da göstərmək istədiyimiz monoxrom bir şəkil hazırlayaq. Ekranın çözünürlüğünün 48 x 84 piksel olduğunu və şəkil daha böyük olmamalı olduğunu unutmayın. Http://www.rinkydinkelectronics.com/t_imageconverter_mono.php səhifəsində görüntüyü bir az massivə çevirin. Nəticədə çıxarılan faylı "*.c" uzantısı ilə yükləyin və menyudan proyektə əlavə edin: Sketch -> File Add … və ya sadəcə eskiz qovluğuna yerləşdirin və Arduino IDE-ni yenidən yükləyin.
Addım 5
İndi proqram kodunda görüntü məlumatları olan bir sıra elan etməlisiniz (kodumda bu extern uint8_t mysymb;) xətti və sonra şəkili ekranda istədiyiniz yerdə göstərmək üçün drawBitmap () funksiyasından istifadə etməlisiniz.
Addım 6
Eskizi Arduinoya yükləyin. İndi mətn bir şəkil ilə əvəz olunur və sayğac hər dəfə dəyərini artırır.