- Matica displeja LED P10
- Komponenty požadované pre výsledkovú tabuľu Arduino
- Schéma zapojenia pre výsledkovú tabuľu Arduino
- Vysvetlenie kódu hodnotiacej tabuľky Arduino
Elektronická tabuľka s výsledkami je jednou z najdôležitejších pomôcok, ktoré môže každý mať počas ktoréhokoľvek športového turnaja. Starý manuálny ukazovateľ skóre využívajúci konvenčné metódy je veľmi časovo náročný a náchylný na chyby. Preto je v prípade potreby zmeny zobrazovacej jednotky v reálnom čase nevyhnutný počítačový prehľad výsledkov. Z tohto dôvodu v tomto projekte vytvoríme bezdrôtový výsledkový prehľad ovládaný Bluetooth, v ktorom môžeme meniť skóre na nástenke iba pomocou aplikácie pre Android. Mozgom tohto projektu je Arduino Nano a pre časť displeja budeme používať maticu P10 LED na vzdialené zobrazovanie skóre v reálnom čase.
Matica displeja LED P10
P10 LED Matrix Display je najlepší dostupný spôsob, ako LED tabule pre vonkajšie alebo vnútorné použitie. Tento panel má celkom 512 LED s vysokým jasom namontovaných na plastovom kryte určenom pre najlepšie výsledky zobrazenia. Dodáva sa tiež s stupňom krytia IP65 pre vodotesnosť, čo je ideálne pre vonkajšie použitie. Vďaka tomu môžete vytvoriť veľký vývesný štít LED kombináciou ľubovoľného počtu takýchto panelov v ľubovoľnej štruktúre riadkov a stĺpcov.
Náš modul má veľkosť 32 * 16, čo znamená, že v každom rade je 32 LED a v každom stĺpci 16 LED. Takže na každej LED vývesnej tabuli je celkovo 512 LED diód. Okrem toho má hodnotenie IP65 pre vodotesnosť, môže byť napájaný z jedného zdroja energie 5V, má veľmi široký pozorovací uhol a jas môže dosiahnuť až 4500 nitov. Takže budete schopní jasne to vidieť za prineseného denného svetla. Predtým sme tento displej P10 s Arduinom používali aj na zostavenie jednoduchej dosky LED.
Pin Popis of P10 LED Matrix:
Táto LED zobrazovacia doska používa na vstupné a výstupné pripojenie 10-pólovú hlavičku pošty, v tejto časti sme popísali všetky potrebné piny tohto modulu. Tiež môžete vidieť, že v strede modulu je externý 5V konektor, ktorý slúži na pripojenie externého napájania k doske.
- Povoliť: Tento pin sa používa na riadenie jasu LED panela pomocou impulzu PWM.
- A, B: Nazývajú sa multiplexné výberové piny. Berú digitálny vstup na výber ľubovoľných riadkov multiplexu.
- Hodiny Shift (CLK), Store clock (SCLK) a Data: Toto sú bežné ovládacie piny posuvného registra. Tu sa používa posuvný register 74HC595.
Prepojenie modulu displeja P10 LED na Arduino:
Pripojenie maticového zobrazovacieho modulu P10 k Arduinu je veľmi jednoduchý proces, v našom obvode sme nakonfigurovali pin 9 Arduina ako Enable pin, Pin 6 ako Pin A, Pin 7 ako pin B, Pin 13 je CLK, Pin 8 je SCLK, pin 11 je DATA a nakoniec pin GND je pin GND pre modul a Arduino, kompletná tabuľka nižšie objasňuje konfiguráciu pinov jasne.
LED modul P10 |
Arduino UNO |
POVOLIŤ |
9 |
A |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
ÚDAJE |
11 |
GND |
GND |
Poznámka: Pripojte napájací terminál modulu P10 k externému zdroju napájania 5 V, pretože 512 LED diód bude spotrebovávať veľa energie. Odporúča sa pripojiť napájací zdroj 5 V, 3 A DC k jednej jednotke LED modulu P10. Ak plánujete pripojiť viac číselný modul, zvýšte zodpovedajúcim spôsobom svoju kapacitu SMPS.
Komponenty požadované pre výsledkovú tabuľu Arduino
Pretože ide o veľmi jednoduchý projekt, požiadavky na komponenty sú veľmi všeobecné. Zoznam požadovaných komponentov je uvedený nižšie. Mali by ste byť schopní nájsť všetok uvedený materiál v miestnom obchode s hobby potrebami.
- Arduino Nano
- Maticový displej P10 LED
- Nepál
- 5 V, 3 AMP SMPS
- Modul Bluetooth HC-05
- Pripojenie drôtov
Schéma zapojenia pre výsledkovú tabuľu Arduino
Schéma hodnotiacej tabuľky Arduino LED je uvedená nižšie, pretože tento projekt je veľmi jednoduchý, na jeho vývoj som použil populárne softvérové fritovanie.
Fungovanie obvodu je veľmi jednoduché, máme aplikáciu pre Android a modul Bluetooth, pre úspešnú komunikáciu s modulom Bluetooth musíte spárovať modul HC-05 s aplikáciou pre Android. Akonáhle sme pripojení, môžeme poslať reťazec, ktorý chceme zobraziť, akonáhle je reťazec odoslaný, Arduino tento reťazec spracuje a prevedie ho na signál, ktorému interný posunovací rezistor 74HC595 dokáže porozumieť, po odoslaní údajov do posunu rezistor, je pripravený na zobrazenie.
Vysvetlenie kódu hodnotiacej tabuľky Arduino
Po úspešnom dokončení nastavenia hardvéru je teraz čas na programovanie Arduino Nano. Postupný popis kódu je uvedený nižšie. Môžete tiež získať kompletný kód výsledkovej tabuľky Arduino v spodnej časti tohto tutoriálu.
Najskôr musíme zahrnúť všetky knižnice. Na ovládanie P10 LED displeja sme použili knižnicu DMD.h. Môžete si ho stiahnuť a zahrnúť z daného odkazu GitHub. Potom musíte do nášho kódu zahrnúť knižnicu TimerOne.h, ktorá sa použije na programovanie prerušenia.
V tejto knižnici je k dispozícii veľa frontov, pre tento projekt sme použili „ Arial_black_16 “.
#include
V ďalšom kroku je pre našu maticovú dosku LED definovaný počet riadkov a stĺpcov. V tomto projekte sme použili iba jeden modul, takže hodnotu ROW aj COLUMN je možné definovať ako 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Potom sú definované všetky premenné použité v kóde. Znaková premenná sa používa na príjem sériových údajov z aplikácie pre Android, dve celočíselné hodnoty sa používajú na ukladanie skóre a je definované pole, ktoré ukladá konečné údaje, ktoré sa majú zobraziť v Matrixe.
znakový vstup; int a = 0, b = 0; príznak int = 0; char cstr1;
Je definovaná funkcia scan_module (), ktorá nepretržite kontroluje všetky prichádzajúce dáta z Arduino Nano cez SPI. Ak áno, potom to spustí prerušenie vykonávania určitých udalostí, ako ich definuje používateľ v programe.
void scan_module () { led_module.scanDisplayBySPI (); }
Vo vnútri setup () je časovač inicializovaný a prerušenie je pripojené k funkcii scan_module, o ktorej sme už hovorili. Obrazovka bola pôvodne vymazaná pomocou funkcie vymazania obrazovky (true), čo znamená, že všetky pixely sú definované ako VYPNUTÉ.
V nastavení bola sériová komunikácia povolená aj pomocou funkcie Serial.begin (9600), kde 9600 je prenosová rýchlosť pre komunikáciu Bluetooth.
void setup () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (true); }
Tu sa kontroluje dostupnosť sériových dát, či už z Arduina pochádzajú platné dáta alebo nie. Prijaté údaje z aplikácie sú uložené v premennej.
if (Serial.available ()> 0) { flag = 0; vstup = Serial.read ();
Potom bola prijatá hodnota porovnaná s preddefinovanou premennou. V aplikácii pre Android sa pomocou dvoch tlačidiel vyberajú skóre pre oba tímy. Po stlačení tlačidla 1 sa znak „a“ prenesie do Arduina a po stlačení tlačidla 2 sa znak „b“ prenesie do Arduina. Preto sa v tejto časti tieto údaje zhodujú, a ak sa zhodujú, príslušné hodnoty skóre sa zvýšia, ako je uvedené v kóde.
if (input == 'a' && flag == 0) { flag = 1; a ++; } else if (input == 'b' && flag == 0) { flag = 1; b ++; } else;
Potom sa prijaté dáta prevedú na znakové pole, pretože maticová funkcia P10 je schopná zobraziť iba dátový typ znaku. To je dôvod, prečo sú všetky premenné konvertované a zreťazené do poľa znakov.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Potom, aby sa zobrazili informácie v module, sa písmo vyberie pomocou funkcie selection (). Potom sa pomocou funkcie drawMarquee () zobrazia požadované informácie na doske P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * riadok), 0);
Nakoniec, keďže potrebujeme rolovanie displeja správ, napísal som kód, ktorý pomocou istej doby posunie celú našu správu z pravého do ľavého smeru.
long start = millis (); dlhé načasovanie = štart; boolean flag = false; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); timming = millis (); } }
Týmto sa končí náš proces kódovania. A teraz je pripravený na odovzdanie.
Hodnotiaca tabuľka riadená smartfónom - testovanie
Po nahraní kódu do Arduina je čas projekt otestovať. Predtým je potrebné do nášho smartfónu nainštalovať aplikáciu pre Android. Aplikáciu P10 Scoreboard si môžete stiahnuť z daného odkazu. Po nainštalovaní otvorte aplikáciu a domovská obrazovka by mala vyzerať ako na obrázku nižšie.
Kliknutím na tlačidlo SKENOVAŤ pridáte modul Bluetooth s aplikáciou. Zobrazí sa zoznam spárovaných zariadení Bluetooth telefónu. Ak ste predtým nespárovali modul Bluetooth HC-05, spárujte modul pomocou nastavenia Bluetooth v telefóne a potom urobte tento krok. Obrazovka bude vyzerať takto:
Potom v zozname kliknite na „HC-05“, pretože to je názov tu použitého modulu Bluetooth. Po kliknutí na ňu sa na obrazovke zobrazí pripojenie. Potom môžeme pokračovať v hodnotení výsledkov.
Kliknite na ľubovoľné tlačidlo medzi položkami „Domov“ a „Preč“, ako je to zobrazené v aplikácii. Ak je vybrané tlačidlo Domov, skóre Domov sa zvýši na displeji P10. Podobne, ak je vybraté tlačidlo Preč, skóre Vonku sa zvýši. Nasledujúci obrázok zobrazuje, ako vyzerá výsledná obrazovka.
Dúfam, že sa vám projekt páčil a dozvedeli ste sa niečo nové. Ak máte ďalšie otázky týkajúce sa projektu, neváhajte komentovať nižšie alebo môžete položiť otázku na našom fóre.