- Matice displeje P10 LED
- Komponenty požadované pro výsledkovou tabuli Arduino
- Schéma zapojení pro výsledkovou tabuli Arduino
- Vysvětlení kódu Arduino Scoreboard
Elektronická srovnávací tabulka je jednou z nejdůležitějších vychytávek, které každý může mít během jakéhokoli sportovního turnaje. Starý manuální srovnávací přehled využívající konvenční metody je velmi časově náročný a náchylný k chybám, proto je nutný počítačový srovnávací přehled, kde je třeba zobrazovací jednotku změnit v reálném čase. To je důvod, proč v tomto projektu vytvoříme bezdrátovou srovnávací tabulku řízenou Bluetooth, ve které můžeme změnit skóre na desce pouze pomocí aplikace pro Android. Mozkem tohoto projektu je Arduino Nano a pro část displeje budeme používat matici LED P10 pro vzdálené zobrazení skóre v reálném čase.
Matice displeje P10 LED
P10 LED Matrix Display je nejlepší dostupný způsob, jak LED tabule pro venkovní nebo vnitřní použití. Tento panel má celkem 512 LED s vysokým jasem namontovaných na plastovém krytu navrženém pro nejlepší výsledky zobrazení. Dodává se také s hodnocením IP65 pro hydroizolaci, což je ideální pro venkovní použití. S tímto můžete vytvořit velký vývěsní štít LED kombinací libovolného počtu takových panelů v jakékoli struktuře řádků a sloupců.
Náš modul má velikost 32 * 16, což znamená, že v každé řadě je 32 LED a v každém sloupci 16 LED. Na každém LED vývěsním štítu je tedy celkem 512 LED diod. Kromě toho má hodnocení IP65 pro hydroizolaci, může být napájeno jediným zdrojem energie 5V, má velmi široký pozorovací úhel a jas může dosáhnout až 4500 nitů. Budete ji tedy moci jasně vidět za denního světla. Dříve jsme tento displej P10 s Arduinem používali také k sestavení jednoduché LED desky.
Pin Popis of P10 LED Matrix:
Tato LED zobrazovací deska používá 10kolíkové záhlaví pošty pro vstupní a výstupní připojení, v této části jsme popsali všechny potřebné piny tohoto modulu. Také můžete vidět, že uprostřed modulu je externí 5V konektor, který slouží k připojení externího napájení k desce.
- Povolit: Tento kolík se používá k ovládání jasu panelu LED tím, že se do něj dostane PWM puls.
- A, B: Nazývají se multiplexní výběry. Berou digitální vstup pro výběr libovolných řádků multiplexu.
- Hodiny řazení (CLK), hodiny ukládání (SCLK) a data: Toto jsou normální ovládací kolíky posuvného registru. Zde se používá posuvný registr 74HC595.
Propojení modulu displeje P10 s LED displejem na Arduino:
Připojení maticového zobrazovacího modulu P10 k Arduinu je velmi jednoduchý proces, v našem obvodu jsme nakonfigurovali pin 9 Arduina jako Enable pin, Pin 6 jako Pin A, Pin 7 jako pin B, Pin 13 je CLK, Pin 8 je SCLK, Pin 11 je DATA a nakonec Pin GND je pin GND pro modul a Arduino, níže uvedená tabulka vysvětluje jasně konfiguraci pinů.
LED modul P10 |
Arduino UNO |
UMOŽNIT |
9 |
A |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
DATA |
11 |
GND |
GND |
Poznámka: Připojte napájecí terminál modulu P10 k externímu zdroji napájení 5 V, protože 512 LED bude spotřebovávat hodně energie. Doporučuje se připojit napájecí zdroj 5 V, 3 A DC k jedné jednotce LED modulu P10. Pokud plánujete připojit více čísel, zvyšte odpovídajícím způsobem svoji kapacitu SMPS.
Komponenty požadované pro výsledkovou tabuli Arduino
Jelikož se jedná o velmi jednoduchý projekt, požadavky na komponenty jsou velmi obecné, níže je uveden seznam požadovaných komponent, měli byste být schopni najít veškerý uvedený materiál ve vašem místním hobby obchodě.
- Arduino Nano
- P10 LED maticový displej
- Nepájivá deska
- 5 V, 3 AMP SMPS
- Modul Bluetooth HC-05
- Připojení vodičů
Schéma zapojení pro výsledkovou tabuli Arduino
Schéma pro výsledkovou tabuli Arduino LED je uvedeno níže, protože tento projekt je velmi jednoduchý, k vývoji schématu jsem použil populární softwarovou fritzu.
Práce obvodu je velmi jednoduchá, máme aplikaci pro Android a modul Bluetooth, pro úspěšnou komunikaci s modulem Bluetooth musíte spárovat modul HC-05 s aplikací pro Android. Jakmile jsme připojeni, můžeme poslat řetězec, který chceme zobrazit, jakmile je řetězec odeslán, Arduino řetězec zpracuje a převede jej na signál, kterému interní posunovací rezistor 74HC595 porozumí, poté, co budou data odeslána rezistor, je připraven k zobrazení.
Vysvětlení kódu Arduino Scoreboard
Po úspěšném dokončení nastavení hardwaru je nyní čas na programování Arduino Nano. Postupný popis kódu je uveden níže. Ve spodní části tohoto výukového programu můžete také získat kompletní kód Arduino Scoreboard.
Nejprve musíme zahrnout všechny knihovny. K ovládání LED displeje P10 jsme použili knihovnu DMD.h. Můžete si jej stáhnout a zahrnout z daného odkazu GitHub. Poté musíte do našeho kódu zahrnout knihovnu TimerOne.h, která bude použita pro programování přerušení.
V této knihovně je k dispozici mnoho front, pro tento projekt jsme použili „ Arial_black_16 “.
#zahrnout
V dalším kroku je pro naši maticovou desku LED definován počet řádků a sloupců. V tomto projektu jsme použili pouze jeden modul, takže jak hodnotu ROW, tak hodnotu COLUMN lze definovat jako 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Poté jsou definovány všechny proměnné použité v kódu. Proměnná znaků se používá k příjmu sériových dat z aplikace pro Android, dvě celočíselné hodnoty se používají k ukládání skóre a je definováno pole, které ukládá konečná data, která se mají zobrazit v Matrixu.
char vstup; int a = 0, b = 0; příznak int = 0; char cstr1;
Je definována funkce scan_module (), která nepřetržitě kontroluje veškerá příchozí data z Arduino Nano přes SPI. Pokud ano, aktivuje přerušení provádění určitých událostí definovaných uživatelem v programu.
void scan_module () { led_module.scanDisplayBySPI (); }
Uvnitř setup () je časovač inicializován a přerušení je připojeno k funkci scan_module, která byla popsána dříve. Zpočátku byla obrazovka vymazána pomocí funkce Clear Screen (True), což znamená, že všechny pixely jsou definovány jako VYPNUTO.
V nastavení byla také povolena sériová komunikace pomocí funkce Serial.begin (9600), kde 9600 je přenosová rychlost pro komunikaci Bluetooth.
void setup () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (true); }
Zde se kontroluje dostupnost sériových dat, pokud z Arduina přicházejí platná data nebo ne. Přijatá data z aplikace jsou uložena v proměnné.
if (Serial.available ()> 0) { flag = 0; vstup = Serial.read ();
Poté byla přijatá hodnota porovnána s předdefinovanou proměnnou. Zde v aplikaci pro Android jsou vybrána dvě tlačítka pro výběr skóre pro oba týmy. Po stisknutí tlačítka 1 se do Arduina přenese znak „a“ a po stisknutí tlačítka 2 se do Arduina přenese znak „b“. Proto se v této části tato data shodují, a pokud se shodují, příslušné hodnoty skóre se zvýší, jak je znázorněno v kódu.
if (input == 'a' && flag == 0) { flag = 1; a ++; } else if (input == 'b' && flag == 0) { flag = 1; b ++; } else;
Poté jsou přijatá data převedena na znakové pole, protože funkce matice P10 je schopna zobrazit pouze datový typ znaků. To je důvod, proč jsou všechny proměnné převedeny a zřetězeny do pole znaků.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Poté se pro zobrazení informací v modulu vybere písmo pomocí funkce selection (). Poté se pomocí funkce drawMarquee () zobrazí požadované informace na desce P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Nakonec, protože potřebujeme rolování zobrazení zprávy, napsal jsem kód, který pomocí určité periody posune celou naši zprávu zprava doleva.
dlouhý start = millis (); dlouhé časování = start; boolean flag = false; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); timming = millis (); } }
To znamená konec našeho procesu kódování. A teď je připraven k nahrávání.
Výsledková tabulka řízená chytrým telefonem - testování
Po nahrání kódu do Arduina je čas projekt otestovat. Před tím je třeba do našeho smartphonu nainstalovat aplikaci pro Android. Aplikaci P10 Scoreboard si můžete stáhnout z daného odkazu. Po instalaci otevřete aplikaci a domovská obrazovka by měla vypadat jako na následujícím obrázku.
Kliknutím na tlačítko SKENOVAT přidáte modul Bluetooth s aplikací. Zobrazí se seznam spárovaných zařízení Bluetooth telefonu. Pokud jste ještě nespárovali modul Bluetooth HC-05, spárujte modul pomocí nastavení Bluetooth v telefonu a proveďte tento krok. Obrazovka bude vypadat takto:
Poté v seznamu klikněte na „HC-05“, protože se zde používá název našeho modulu Bluetooth. Po kliknutí se na obrazovce zobrazí připojení. Pak můžeme pokračovat se skóre.
Klikněte na libovolné tlačítko mezi položkami „Domů“ a „Pryč“, jak je uvedeno v aplikaci. Pokud je vybráno tlačítko Domů, skóre Domů se na displeji P10 zvýší. Podobně, pokud je vybráno tlačítko Pryč, zvýší se skóre Pryč. Níže uvedený obrázek ukazuje, jak vypadá finální obrazovka.
Doufám, že se vám projekt líbil a dozvěděli jste se něco nového. Pokud máte nějaké další dotazy týkající se projektu, neváhejte komentovat níže nebo se můžete zeptat na našem fóru.