Нека да разберем как да свържете 84x48 пикселен течнокристален дисплей от Nokia 5110 към Arduino.
Необходимо
- - Arduino;
- - LCD дисплей за Nokia 5110/3310;
- - свързващи проводници.
Инструкции
Етап 1
Нека свържем LCD екрана от Nokia 5110 към Arduino съгласно схемата по-долу.
Стъпка 2
Много библиотеки са написани за работа с този LCD екран. Предлагам да използвате този: https://www.rinkydinkelectronics.com/library.php?id=44 (изтеглете файла LCD5110_Basic.zip).
За да инсталирате, разархивирайте файла в директорията Arduino IDE / библиотеки /.
Библиотеката поддържа следните функции.
LCD5110 (SCK, MOSI, DC, RST, CS); - съобщение на LCD екрана, показващо съответствието на щифтовете на Arduino;
InitLCD ([контраст]); - инициализация на дисплея 5110 с незадължителна индикация за контраст (0-127), по подразбиране е 70;
setContrast (контраст); - задава контраста (0-127);
enableSleep (); - поставя екрана в режим на заспиване;
disableSleep (); - извежда екрана от режим на заспиване;
clrScr (); - изчиства екрана;
clrRow (ред, [начало], [край]); - изчистване на избрания ред номер ред, от позиция начало до край;
инвертиране (вярно); и инвертиране (невярно); - включване и изключване на инверсията на съдържанието на LCD екрана;
печат (низ, x, y); - показва низ от символи с посочените координати; вместо x-координата можете да използвате НАЛЯВО, ЦЕНТЪР и НАДЯСНО; височината на стандартния шрифт е 8 точки, така че линиите трябва да бъдат разположени на 8 точки;
printNumI (num, x, y, [дължина], [пълнител]); - покажете цяло число на екрана на дадена позиция (x, y); дължина - желаната дължина на числото; пълнител - знак за запълване на "кухините", ако числото е по-малко от желаната дължина; по подразбиране е празно пространство ";
printNumF (num, dec, x, y, [разделител], [дължина], [пълнител]); - показва число с плаваща запетая; dec - брой на десетичните знаци; разделител - десетична точка, точка "." по подразбиране;
setFont (име); - изберете шрифт; вградените шрифтове се наричат SmallFont и TinyFont; можете да определите шрифтовете си в скицата;
invertText (вярно); и invertText (false); - включване / изключване на инверсия на текст;
drawBitmap (x, y, data, sx, sy); - покажете картината на екрана с координатите x и y; данни - масив, съдържащ картина; sx и sy са ширината и височината на картината.
Стъпка 3
Нека напишем такава скица. Първо включваме библиотеката, след което декларираме екземпляр на класа LCD5110 с присвояване на пинове.
В процедурата за настройка () ние инициализираме LCD екрана.
В процедурата цикъл () изчистваме екрана и пишем произволен текст с малък шрифт, под него, със среден шрифт, показваме брояча на секундите.
Стъпка 4
Нека покажем снимка. За целта нека подготвим монохромно изображение, което искаме да покажем на Nokia 5110. Не забравяйте, че разделителната способност на екрана е 48 на 84 пиксела и картината не трябва да е по-голяма. На страницата https://www.rinkydinkelectronics.com/t_imageconverter_mono.php преобразувайте изображението в битов масив. Изтеглете получения файл с разширение "*.c" и го добавете към проекта чрез менюто: Скица -> Добавяне на файл … или просто поставете файла в директорията за скици и след това презаредете Arduino IDE.
Стъпка 5
Сега трябва да декларирате масив с данни за изображения в програмния код (в моя код това е линията extern uint8_t mysymb;) и след това да използвате функцията drawBitmap (), за да покажете изображението на желаното място на екрана.
Стъпка 6
Качете скицата в Arduino. Сега текстът се заменя със снимка и броячът увеличава стойността си всеки път.