Obsah:

Maticový displej 8x8 s BT: 5 krokov (s obrázkami)
Maticový displej 8x8 s BT: 5 krokov (s obrázkami)

Video: Maticový displej 8x8 s BT: 5 krokov (s obrázkami)

Video: Maticový displej 8x8 s BT: 5 krokov (s obrázkami)
Video: FITkit maticový display 8x8 2024, November
Anonim

Pred niekoľkými mesiacmi som si kúpil 4 -panelovú maticu 8x8 od spoločnosti Ebay (Čína).

Bol som trochu sklamaný, keď som si uvedomil, že je to tvrdo zapojené zo strany na stranu, nie zhora nadol, pre ktoré je napísaná väčšina príkladov na internete! Pozrite si krok 2.

Hádam som mohol kód upraviť (nie som si istý, ako), ale moja bežná lenivosť mi hovorila, aby som hľadal niečo už napísané. Narazil som na príklad a držal som sa ho!

Hral som sa s fixnými správami, ale potom som sa rozhodol, že skúsim naprogramovať správu cez Bluetooth.

Potom som chcel uložiť a načítať správy!

Vykonalo sa veľa pokusov a omylov, ale po niekoľkých hodinách kódovania som to nechal fungovať.

Stále sa snažím nájsť pre to praktické využitie !!:-)

Krok 1: Displej

Displej
Displej
Displej
Displej

Ako už bolo spomenuté, displej je zapojený zľava doprava, a nie zhora nadol.

Som si istý, že iný kód mohol byť upravený, aby to kompenzoval!

Nepamätám si, odkiaľ som stiahol pracovný kód, môže však pomôcť hľadanie výrazu „cosmicvoid matrix alebo LedControlMS.h“. Pre tento projekt je potrebný súbor LedControlMS.h lib.

Jedinou časťou tohto kódu, ktorý som upravil, bol počet displejov, pretože to vyzeralo, že bol nastavený na 5, práve som ho zmenil na 4.

Objednal som si ďalší displej x4, aby som mohol vidieť, ako funguje s 8 maticami namiesto so 4!

Krok 2: Bit Bluetooth

Bit Bluetooth
Bit Bluetooth

Zakaždým, keď hrám so zariadením Bluetooth, vždy sa odvolám na tento vynikajúci návod!

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

Tento návod vám povie všetko, čo potrebujete vedieť o nastavení a spárovaní HC-05 s mobilným telefónom alebo tabletom.

Bez problémov som spároval so Samsung Galaxy 6 Edge a Tab A.

Zmenil som komunikačnú rýchlosť na 57 600.

Krok 3: Komunikácia BT a program

BT komunikácia a program
BT komunikácia a program

Na komunikáciu s HC -05 som si z Obchodu Play stiahol bezplatnú aplikáciu. K dispozícii je niekoľko - tá, ktorú som si vybral, sa nazýva Bluetooth Terminal HC -05 - je to vynikajúca aplikácia!

Po spárovaní HC-05 s telefónom alebo tabletom Nasleduje nasledovné.

Keď sa arduino resetuje, program prečíta všetky správy uložené v EEPROM a zobrazí ich na telefóne / tablete - viď obrázok.

Zobrazenými informáciami sú umiestnenie memu (0-9), dĺžka správy a samotná správa na každom mieste.

Kód som usporiadal tak, aby ukladal až 90 znakov správu na adrese 5 pre správu 0, 105 pre správu 1 …….905 pre správu 9.

Adresa 0, 100 … 900 obsahujú dĺžku správy.

Zobrazí sa posledná uložená / načítaná správa.

Odoslanie čohokoľvek do Arduina cez BT nahradí aktuálnu správu.

Na uloženie zobrazenej správy (použite vlnovku „~“) odošlite ~ 0 na uloženie na miesto 0, ~ 5 na uloženie na miesto 5 atď.

Na načítanie a zobrazenie uloženej správy použite „ ^“(karát), napr. ^3 načíta a zobrazí správu na mieste Mem 3.

Keď je správa uložená alebo načítaná, aktuálna pamäť je uložená na adresu EEPROM 1023 - používa sa pri zapnutí na zobrazenie poslednej zobrazenej správy.

Krok 4: Kód a moc

Ako obvykle, môj kód je uprataný ako spálňa teenagerov, ale mám tam veľa komentárov!

Môže existovať nadbytočný kód, pretože došlo k pokusu a omylu.

Rutina zobrazenia zobrazí všetko, čo je v poli msg . Písmo nie je úplné, takže zobrazenie niektorých znakov spôsobí nepredvídateľné výsledky!

Ak by mi niekto tam povedal, ako upraviť znak $ pre znak £ alebo ho ešte lepšie pridať, bol by som veľmi vďačný

Môže byť potrebné naprogramovať správu na miesto 0, aby sa poskytol počiatočný bod. Toto je možné prepísať, keď je program spustený!

napr

EEPROM.write (0, '5'); // dĺžka správy uloženej na mieste 0

EEPROM.write (5, 'L'); // správa uložená na mieste 05EEPROM.write (6, 'o');

EEPROM.write (7, 'c');

EEPROM.write (8, '');

EEPROM.write (9, '0');

Keď nie sú uložené žiadne správy, po zapnutí bude displej nepredvídateľný a telefón / tablet bude zobrazovať nepárne, ale konzistentné informácie, pretože ako u väčšiny EEPROM sú predvolenými údajmi na každom mieste FF Hex (225 desatinných miest).

Tento prototyp bol postavený pomocou Arduino Uno, ale na dokončený projekt použijem profi mini.

Mám v úmysle použiť 3 x 1,5 V batérie, aby som z dôvodu úspory energie vypol HC-05 po výbere správy. Len odpojenie/opätovné pripojenie napájania nie je dosť dobré, pretože bude na displej odosielať skomolené informácie.

Zdá sa, že je potrebné izolovať kolíky TR & RX pred pripojením / odpojením napájania!

Krok 5: Aktualizácia 2020 - 2 maticové displeje X 4 (8 x 8)

Po lepšom pochopení MAX7219 sa mi podarilo prepojiť 2 displeje dohromady!

bolo tam len pár riadkov kódu, ktoré bolo potrebné zmeniť - pozri priložené ino.

Odporúča: