Шановні клієнти! У зв'язку з перебоями у енергопостачанні, в роботі нашого магазину можливі тривалі перебії й неможливість оплати замовлень карткою.
Все буде Україна!
(098) 067-12-26 Киевстар (098) 067-12-26   Киевстар
(066) 142-24-48 Vodafone (066) 142-24-48   Vodafone
(098) 067-12-26 Lifecell (063) 642-36-59   Lifecell
 info@arduino.ua
График работы магазина:
Пн-Пт: 9.00 - 19.00
Сб: 10.00 - 19.00
Вс: выходной
г. Киев, ул. Васильковская, 30
ст.м. "Васильковская"
Каталог

Моховий нічник

Це шматочок лісу вдома, який радує погляд та допомагає розслабитися. Цей неймовірний живий куточок дуже легко зробити самому.

Українізація бібліотеки Adafruit_GFX_Library для матриць MAX7219 та LCD

Для виводу текстової інформації на саморобний блок світлодіодних матриць з загальним анодом в середовищі Arduino рідною мовою я стикнувся з проблемою, що та бібліотека LedContorl, якою я зазвичай користуюсь, неспроможна здійснити обертання на заданий кут

Реєстратор параметрів вологості та температури

Добрий день. Виникла необхідність в вимірюванні вологості та температури в приміщенні протягом дня з одночасним їх записом для подальшої

Плазмофон

Мы настолько привыкли к высоким технологиям, что забываем о простых физических явлениях и механизмах. А ведь на всём простом строится что-то

Автоматичний кран для води на Arduino своїми руками

Доброго дня, хочу розповісти Вам про виготовлення корисного пристрою – автоматичного крану для води на Arduino.
Напиши статью и получи скидку! Наши партнеры https://hacklab.kiev.ua/

Українізація бібліотеки Adafruit_GFX_Library для матриць MAX7219 та LCD

2022-09-30

Все статьи →

Для виводу текстової інформації на саморобний блок світлодіодних матриць з загальним анодом в середовищі Arduino рідною мовою я стикнувся з проблемою, що та бібліотека LedContorl, якою я зазвичай користуюсь, неспроможна здійснити обертання на заданий кут (мені потрібно було на 90 градусів) зображення при виводі на матриці, причому обертання необхідно здійснити для кожної матриці окремо, а не для всього блоку.

В результаті пошуку альтернативи я обрав бібліотеку Max72xxPanel, яка, використовуючи ресурси Adafruit_GFX_Library в якості джерела шрифту, спроможна на потрібну мені дію. Оскільки Adafruit_GFX_Library може бути використана також для роботи з величезним спектром найрізноманітніших дисплеїв (список за адресою) було вирішено ЇЇ "українізувати", оскільки русифікація давно та успішно виконана.

В цілому це: встановлення бібліотеки в середовище Arduino, заміна файлу шрифту glcdfont.c на скоригований, а також "перекодування", а точніше "переадресування" символів з кодування UTF-8 (специфічного до Arduino) в Windows-1251 в скетчі, який включає в себе всі символи кириличної абетки. Загалом це все. Далі я приведу тестовий скетч, що дозволяє виводити на блок світлодіодних матриць привітання, а також три абетки - українську, російську та англійську. Скетч добре коментований, на його основі я зробив "текстовий" годинник з двома будильниками та індикацією температури та вологості, з текстовою індикацією режимів налаштувань, та рухомими рядками дати та часу налаштування будильників. Він поєднує статичне та динамічне відображення інформації ресурсами бібліотек Adafruit_GFX_Library та Max72xxPanel. Файл для заміни можна брати з вказаного посилання, або з прикладеного, вони ідентичні. Для "українізації" я користувався інструментами з посилання а також  з посилання .

Далі я приведу заголовок скетчу українською, оскільки в самому скетчі він російською. Скетч писав я сам, можу відповісти на всі питання, якщо в них маю хоч якусь компетенцію. З повагою Коваленко С. м. Кременчук.

Тестовий скетч виведення української та російської абетки на світлодіодну матрицю з драйвером MAX7219. Для коректної роботи необхідно замінити в папці бібліотеки Adafruit_GFX_Library оригінальний файл glcdfont.c наданим, він має модифіковані кодування символів. У скетчі виключений delay, дуже вже я його не люблю... У прикладі використані матриці із загальним анодом та схемою підключення на відміну від оригінальної конструкції, де покупні матриці із загальним катодом. Для їхньої коректної роботи потрібне інше підключення, ніж для матриць із загальним катодом:

MAX7219MAX72192088AS2088BS
(номер)(ім'я)(ОК)(ОА)
3DIG 416
5DIG 6215
14SEG A32
16SEG B47
8DIG 7516
23SEG D612
10DIG 5711
6DIG 284
2DIG 0913
20SEG C101
21SEG E118
7DIG 31210
22SEG DP135
11DIG 1143
15SEG F1514
17SEG G169




19VCC
4, 9GND
1DIN
12CS (LOAD)
13CLK
24DOUT

Попри те, що геометрично матриці з ЗА в блоці розташовані аналогічно з матрицями з ЗК, для їх нормального функціонування необхідний програмний поворот 90 градусів. Бібліотека LedControl, що зазвичай застосовується для керування драйверами MAX7219, цього робити не вміє. Скетч - з використанням зв'язки бібліотек Adafruit_GFX та Max72xxPanel. Трохи про адресацію позиції точки на дисплеї. Нульовим відліком (X=0 та Y=0) прийнятий верхній лівий кут злитого масиву матриць при X - координата по горизонталі (у прикладі від 0 до 47), Y - координата по вертикалі (від 0 до 7). Виходячи з цього розраховувати місце розташування кожного елемента відображення, чи то точки, чи символу. Необхідно врахувати, що символи мають ширину 5+1 (для пропуску). Все вищевикладене - для реалізації інформера: годинник, термометр, будильник тощо. Для покупних блоків матриць закоментувати рядки 106-111 і цілком можливо - змінити 115-120.


Посилання:

Ваша оценка статьи:

Отлично
Хорошо
Удовлетворительно
Плохо
Очень плохо

Общая оценка:

Оценка "Українізація бібліотеки Adafruit_GFX_Library для матриць MAX7219 та LCD"
5 из 5
сделана на основе 2 оценок 2 клиентских отзывов.

Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Viktor Majskiy
27.11.2022 14:51:05
Дуже добре та актуально! щиро дякую!
Andrii
01.10.2022 11:15:23
Похвала автору
оплата картами Visa и MasterCard