- Необхідні матеріали:
- Модуль графічного дисплея Nokia 5110:
- Кругова діаграма:
- Програма та робота Arduino:
Сама знакова назва “ Nokia 5110 ” повинна була придбати спогади про міцний мобільний телефон Nokia, який був дуже популярний у 90-х. Модель 5110 оснащена графічним дисплеєм, якого було достатньо для того, щоб діяти як екран дисплея для мобільних пристроїв. Цей екран міг відображати все, починаючи з буквено-цифрових символів і закінчуючи невеликою графікою, що є всім необхідним для мобільного телефону. Коли Земля оберталася новими технологіями з блискучими сенсорними екранами, і цей дисплей більше не використовується. Але, сподіваємось, їх можна використовувати в електронній програмі, де повинна відображатися невелика графіка, щоб не витрачати гроші на великі РК-екрани. Отже, у цьому підручнику ми дізнаємося, як підключити графічний РК-дисплей Nokia 5110 до Arduino та налагодити його роботу.
Ці РК-екрани мають чорно-білі пікселі розміром 84 × 48. Вони можуть виглядати одноманітно, але все одно можуть бути використані для відображення гідної графіки для ваших проектів, а також можуть бути легко використані з мікроконтролерами, такими як Arduino. Тож давайте почнемо….!
Необхідні матеріали:
- Arduino Board (будь-яка версія)
- Дисплей Nokia 5110
- Підключення проводів
Модуль графічного дисплея Nokia 5110:
На ринку є два типи цих графічних РК-дисплеїв. Один з припойними майданчиками як над, так і під дисплеєм, а інший з припойними майданчиками лише внизу дисплея. Той, який ми використовуємо, належить до типу 2, де накладки є лише під дисплеєм. Обидва модулі працюють однаково, а отже, зв’язки однакові для обох. Тож, незалежно від того, який це модуль, ви можете слідувати підручнику.
Як вже говорилося раніше, графічний РК-дисплей Nokia 5110 має 84 пікселі по горизонталі та 48 пікселів по вертикалі. Загальний розмір дисплея - 1,72 x 1,72 дюйма. Модуль має 6 вхідних штифтів, за допомогою яких ми можемо підключити його до будь-якого мікроконтролера за допомогою зв'язку SPI. Спільною мікросхемою, яка взаємодіє між дисплеєм та Arduino, є мікросхема контролера дисплея Philips PCD8544, чий опис можна знайти тут. Однак якщо ви використовуєте Arduino для спілкування з цим ІС, то нам не потрібно турбуватися про таблицю даних, оскільки є бібліотеки, які готові до завантаження та використання. Модуль, який ми використовуємо тут, показаний нижче.
Кругова діаграма:
Повна електрична схема підключення графічного РК-дисплея Nokia5110 до Arduino наведена нижче.
Модуль дисплея має 8 контактів, які використовуються для встановлення SPI-зв'язку з Arduino. Модуль живиться від штиря 3,3 В плати Arduino. Зверніть увагу, що ці модулі працюють за логікою 3,3 В, отже, вони не подають 5 В на штифт Vcc дисплея. Я безпосередньо підключив штифт дисплея до Arduino, хоча РК-екран працює на логіці 3,3 В, а Arduino - на логіці 5 В, оскільки лише тоді я виявив, що РК-дисплей працює належним чином. Ви можете використовувати дільник напруги, щоб перетворити 5 В на 3,3 В, якщо це потрібно, але для мене це працює лише без логічного перетворення. Зв'язки досить прості і прямі вперед. Після того, як ви закінчите з підключеннями, ваша настройка буде виглядати приблизно так, як показано нижче.
Програма та робота Arduino:
Дотримуйтесь наведених нижче кроків, щоб запрограмувати Arduino для дисплея Nokia 5110. Кроки передбачають, що ви вже встановили IDE Arduino і знайомі з ним.
Крок 1: Відкрийте Arduino IDE на своєму комп’ютері та виберіть відповідну дошку в меню інструментів після підключення Arduino до комп’ютера.
Крок 2: Клацніть тут, щоб завантажити Nokia 5110 Display Library від бібліотеки Adafruit зі сховища GitHub.
Крок 3: Після завантаження файлу Zip виберіть Ескіз -> Включити бібліотеку -> Додати бібліотеку.ZIP та перейдіть до місця, де було завантажено ZIP.
Примітка: Вам також доведеться завантажити ядро Adafruit GFX Graphics, яке виконує всі кола, текст, прямокутники тощо. Ви можете отримати його з https://github.com/adafruit/Adafruit-GFX-Library та встановити таким же чином.
Крок 4: Тепер відкрийте приклад програми, вибравши Файл -> Приклади -> Adafruit PCD Nokia 5110 РК-бібліотека -> pcdtest і натисніть кнопку завантаження
Крок 5: Після завантаження програми натисніть кнопку скидання на Arduino, і ви побачите приклад програми, що відображає всі анімації, як показано у відео, поданому в кінці цього посібника.
Ви можете прочитати приклад програми, щоб зрозуміти різні вбудовані функції, які можна використовувати для виконання різного графічного дизайну на РК-дисплеї. Але давайте підемо на крок далі і спробуємо відобразити логотип CircuitDigest на РК-екрані.
Тепер відкрийте потрібне зображення в програмі Paint і змініть розмір зображення. Максимальний розмір зображення, який ми можемо використовувати для відображення, становить 84 × 48.
Змінивши розмір зображення, збережіть зображення як растрове зображення (чорно-біле), скориставшись опцією збереження як у програмі Paint. Для відображення зображення у вигляді растрового зображення на нашому РК-екрані нам знадобиться програмне забезпечення, яке може перетворити растрове зображення в код. Ви можете завантажити програмне забезпечення, натиснувши тут. Після завантаження розпакуйте файл і натисніть «BitmapEncoder», щоб запустити програму. Відкрийте растрове зображення, яке ми щойно зберегли за допомогою цього програмного забезпечення, щоб отримати масив закодованих значень. Ви можете безпосередньо скопіювати ці значення та вставити їх у свій масив Arduino. Значення програмного забезпечення нашого логотипу показано нижче
Як бачите, масив починається зі значення 48, 48 - це розмір нашого зображення. Ми не повинні додавати це в наш масив. Отже, видаліть перші два значення, а решту використовуйте як значення масиву в програмі. Масив буде виглядати, як показано нижче. Повна програма наводиться в кінці цієї сторінки для довідки.
static const unsigned char Логотип PROGMEM = {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111000, B00000000, B00000000, B00000000, B00000000, B00001111, B11111111, B00000000, B00000000, B00000000, B0000 B11111111, B11000000, B00000000, B00000000, B00001110, B00111110, B00111111, B11110000, B00000000, B00000000, B00111110, B00111110, B10000000, B01111100, B00000000, B00000000, B01111100, B01111100, B11000000, B11110000, B11110000 B00001111, B00000000, B00000001, B11111000, B11111111, B00111111, B10000111, B10000000, B00000011, B11111000, B11111111, B11111111, B11000011, B11000000, B00000111, B11110001, B11111111, B11 B11 B11 B11, B11, B11, B11, B11, B11, B11, B11 B01100000, B00000000, B00000011, B11100000, B00001001, B11111100, B00000000, B00000000, B00000111,B11100000, B00011001, B11111110, B00000000, B00000000, B00000111, B11000000, B00000001, B11111111, B10000000, B00011111, B11111111, B11000111, B11100011, B11111111, B11111000, B00111111, B111111, B111111, B111111, B111111, B111111, B111111 B11111111, B11111111, B11111100, B00111111, B11111111, B00011111, B11111111, B11111111, B11111100, B00111111, B11111110, B00111111, B00111111, B11111111, B11111110, B01111111, B11111110, B00111110, B00000000, B01111111, B11111100, B01111111, B11111100, B01111100, B11000000, B00000000, B00000000, B01111111, B11111100, B01111110, B10000000, B00000000, B00000000, B00000000, B00000000, B11111110, B00111111, B11111111, B11111110, B00000000, B00000001, B11111111, B11111111, B111111, B111111, B111111, B111111 B11111110, B01111111, B11111111, B11111111, B11111111, B11111111, B11111110, B01111111, B11111111,B11000111, B11111111, B11111111, B11111110, B00111111, B11111111, B10000011, B11111110, B00000000, B00000000, B00111111, B11111111, B10110011, B11111000, B00000000, B00000000, B00111111, B000110000, B11110000, B11110000 B10000001, B11111111, B11111100, B00000000, B00011111, B11111000, B00000111, B11111111, B11111000, B00000000, B00000111, B11111110, B00011111, B11111111, B11111000, B00000000, B00000001, B11 B11 B11 B111111, B11 B11, B11, B11, B11, B11, B11 B11111111, B11110000, B00000111, B11111000, B00001111, B11111111, B11000000, B00000000, B00000011, B11111100, B00100111, B11111111, B00000000, B00000000, B00000011, B11111111, B00110111, B11111100, B11111100, B11111100 B10000000, B00000000, B11111111, B11001111, B10000000, B11111111, B00000000, B00000000, B01111111,B11111111, B10110001, B11111110, B00000000, B00000000, B00011111, B11111111, B10110111, B11111100, B00000000, B00000000, B00001111, B11111111, B10000111, B11110000, B00000000, B00000000, B00000011, B0000 B1111110000, B0000 B11111111, B00000000, B00000000, B00000000, B00000000, B00001111, B11110000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000};
Тепер для відображення цього растрового зображення ми повинні використати наступні рядки коду. Там, де попередні дані на екрані стираються і записується нове растрове зображення.
display.clearDisplay (); display.drawBitmap (20, 0, логотип, 48, 48, 1); display.display ();
Рядок display.drawBitmap (20, 0, Логотип, 48, 48, 1); відображати положення, розмір і колір растрового зображення. Синтаксис можна вказати як.
display.drawBitmap (X_Position, Y_Position, Назва масиву, довжина зображення, ширина зображення);
Довжину і ширину зображення можна отримати з перших двох елементів масиву, відповідно, як було сказано раніше. Після запуску цього коду ми отримаємо растрове зображення, яке відображається на нашому РК-екрані, як показано нижче.
Ви також можете відобразити простий текст, як показано нижче:
Сподіваюся, ви зрозуміли навчальний посібник і отримали свій РК-дисплей Nokia 5110, пов’язаний з Arduino. За допомогою цього графічного дисплея в рукаві ви можете створювати безліч проектів, які вимагають незначних графічних деталей. Повну роботу можна знайти у відео, поданому нижче. Якщо ви зіткнулися з будь-якою проблемою в тому, щоб це працювало, ви можете використати форум, щоб опублікувати свою проблему або розділи коментарів нижче.