Оглавление:

Матричный дисплей 8x8 с BT: 5 шагов (с изображениями)
Матричный дисплей 8x8 с BT: 5 шагов (с изображениями)

Видео: Матричный дисплей 8x8 с BT: 5 шагов (с изображениями)

Видео: Матричный дисплей 8x8 с BT: 5 шагов (с изображениями)
Видео: Матричный светодиодный дисплей 24×8 от DFRobot 2024, Ноябрь
Anonim

Несколько месяцев назад я купил 4-х панельную матрицу 8x8 на Ebay (Китай).

Я был немного разочарован, когда понял, что это жестко соединено бок о бок, а не сверху вниз, для чего написано большинство примеров в сети! См. Шаг 2.

Думаю, я мог бы изменить код (не знаю, как), но моя обычная лень подсказывала мне искать что-то уже написанное. Я наткнулся на пример и застрял на нем!

Я играл с фиксированными сообщениями, но потом решил попробовать запрограммировать сообщение через Bluetooth.

Затем я захотел сохранять и извлекать сообщения!

Было много проб и ошибок, но после нескольких часов кодирования у меня все заработало.

Я все еще пытаюсь найти ему практическое применение !!:-)

Шаг 1: Дисплей

Дисплей
Дисплей
Дисплей
Дисплей

Как упоминалось ранее, дисплей подключается слева направо, а не сверху вниз.

Я уверен, что можно было изменить другой код, чтобы это компенсировать!

Не помню, откуда скачал рабочий код, но поиск по запросу «космическая матрица или LedControlMS.h» может помочь. Для этого проекта требуется библиотека LedControlMS.h.

Единственная часть этого кода, которую я изменил, - это количество дисплеев, поскольку похоже, что оно было установлено на 5, я просто изменил его на 4.

Я заказал еще один дисплей x4, чтобы увидеть, как он работает с 8 матрицами, а не с 4!

Шаг 2: бит Bluetooth

Бит Bluetooth
Бит Bluetooth

Каждый раз, когда я играю с устройством Bluetooth, я всегда обращаюсь к этому замечательному руководству!

www.instructables.com/id/Modify-The-HC-05-B…

Это руководство расскажет вам все, что вам нужно знать о том, как настроить и подключить HC-05 к мобильному телефону или планшету.

Я без проблем соединил Samsung Galaxy 6 Edge и Tab A.

Я изменил скорость связи на 57600.

Шаг 3: Связь BT и программа

BT Связь и Программа
BT Связь и Программа

Для связи с HC-05 я загрузил бесплатное приложение из Play Store, там есть несколько доступных, - одно, которое я выбрал, называется Bluetooth Terminal HC-05 - это отличное приложение!

После сопряжения HC-05 с телефоном или планшетом происходит следующее.

Когда Arduino перезагружается, программа считывает все сообщения, хранящиеся в EEPROM, и отображает их на телефоне / планшете - см. Рисунок.

Отображаемая информация - это местоположение памяти (0-9), длина сообщения и само сообщение в каждом месте.

Я настроил код для сохранения сообщения длиной до 90 символов по адресу 5 для Msg 0, 105 для Msg 1 …….905 для Msg 9.

Адрес 0, 100…. 900 содержат длину сообщения.

Отображается последнее сохраненное / восстановленное сообщение.

Отправка чего-либо в Arduino через BT заменяет текущее сообщение.

Чтобы сохранить отображаемое сообщение (используйте тильду "~"), отправьте ~ 0 для сохранения в ячейке 0, ~ 5 для сохранения в ячейке 5 и т. Д.

Чтобы извлечь и отобразить сохраненное сообщение, используйте «^» (карат), например, ^ 3 загрузит и отобразит сообщение в ячейке памяти 3.

Когда сообщение сохраняется или извлекается, текущая ячейка памяти сохраняется по адресу 1023 EEPROM - это используется при включении питания для отображения последнего отображаемого сообщения.

Шаг 4: Код и сила

Как обычно, мой код аккуратный, как спальня подростка, но у меня там много комментариев!

Там может быть какой-то лишний код, так как был немного проб и ошибок.

Подпрограмма отображения отобразит все, что находится в массиве msg . Шрифт не готов, поэтому отображение некоторых символов приведет к непредсказуемым результатам!

Если бы кто-нибудь мог сказать мне, как изменить знак $ вместо знака £ или, что еще лучше, добавить его, я был бы чрезвычайно благодарен

Может потребоваться жестко запрограммировать сообщение в ячейку 0, чтобы указать отправную точку, это может быть перезаписано, когда программа запущена и работает!

например

EEPROM.write (0, '5'); // длина сообщения, хранящегося в ячейке 0

EEPROM.write (5, 'L'); // сообщение хранится по адресу 05EEPROM.write (6, 'o');

EEPROM.write (7, 'c');

EEPROM.write (8, '');

EEPROM.write (9, '0');

При отсутствии сохраненных сообщений при включении дисплей будет непредсказуемым, и телефон / планшет будет отображать нечетную, но непротиворечивую информацию, потому что, как и в большинстве EEPROM, данные по умолчанию в каждом месте - FF Hex (225 десятичных).

Этот прототип был построен с использованием Arduino Uno, но для готового проекта я буду использовать pro mini.

Я собираюсь использовать 3 батарейки по 1,5 В, поэтому для экономии энергии я выключу HC-05 после выбора сообщения. Недостаточно просто отключить / снова подключить питание, так как на дисплей будет отправлена искаженная информация.

Казалось бы, необходимо изолировать контакты TR и RX перед подключением / отключением питания!

Шаг 5. Обновление 2020 - матричные дисплеи 2 x 4 (8x8)

После лучшего понимания MAX7219 мне удалось связать 2 дисплея вместе!

нужно было изменить всего пару строк кода - см. прилагаемый файл ino.

Рекомендуемые: