Съдържание:

8x8 матричен дисплей с BT: 5 стъпки (със снимки)
8x8 матричен дисплей с BT: 5 стъпки (със снимки)

Видео: 8x8 матричен дисплей с BT: 5 стъпки (със снимки)

Видео: 8x8 матричен дисплей с BT: 5 стъпки (със снимки)
Видео: Матричный светодиодный дисплей 24×8 от DFRobot 2024, Ноември
Anonim

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

Бях малко разочарован, когато разбрах, че е трудно свързан, отстрани, а не отгоре надолу, за който са написани повечето примери в мрежата! Вижте стъпка 2.

Предполагам, че можех да променя кода (не знам как), но обичайният ми мързел ми каза да потърся нещо вече написано. Попаднах на пример и се придържам към него!

Играх с фиксирани съобщения, но след това реших да опитам да програмирам съобщението чрез Bluetooth.

Тогава исках да запазвам и извличам съобщения!

Имаше много опити и грешки, но след няколко часа кодиране го накарах да работи.

Все още се опитвам да намеря практическо приложение за него !!:-)

Стъпка 1: Дисплеят

Екранът
Екранът
Екранът
Екранът

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

Сигурен съм, че друг код би могъл да бъде променен, за да компенсира това!

Не си спомням откъде съм изтеглил работния код, но търсенето на "cosmicvoid matrix или LedControlMS.h" може да помогне. За този проект е необходим LedControlMS.h lib.

Единствената част от този код, който промених, беше броят на дисплеите, тъй като изглежда, че е настроен на 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 Communication и програмата
BT Communication и програмата

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

След като сдвоите HC-05 с телефон или таблет, се случва следното.

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

Показваната информация е Mem Location (0-9), Length of Message & самото съобщение на всяко място.

Подредих кода за съхраняване на съобщение до 90 знака на адрес 5 за Msg 0, 105 за Msg 1 …….905 за Msg 9.

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

Показва се последното съхранено / изтеглено съобщение.

Изпращането на каквото и да било към Arduino чрез BT замества текущото съобщение.

За да съхраните показваното съобщение (използвайте "~" тилда), изпратете ~ 0, за да съхранявате на място 0, ~ 5, за да съхранявате на място 5 и т.н.

За извличане и показване на съхранено съобщение използвайте " ^" (карат), напр. ^3 ще зареди и покаже съобщението на Mem location 3.

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

Стъпка 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 Decimal).

Този прототип е създаден с помощта на Arduino Uno, но ще използвам pro mini за готовия проект.

Възнамерявам да използвам 3 x 1.5v батерии, така че за да пестя енергия, ще изключа HC-05, след като избера съобщение. Само изключването/повторното включване на захранването не е достатъчно добро, тъй като ще изпрати объркана информация на дисплея.

Изглежда, че е необходимо да се изолират щифтовете TR & RX преди свързване / изключване на захранването!

Стъпка 5: Актуализиране на 2020 г. - 2 X 4 (8x8) матрични дисплея

След по -добро разбиране на MAX7219, успях да свържа 2 дисплея заедно!

имаше само няколко реда код, които се нуждаеха от промяна - вижте приложеното ino.

Препоръчано: