- P10 LED-displaymatris
- Komponenter som krävs för Arduino resultattavla
- Kretsschema för Arduino resultattavla
- Arduino resultattavla kodförklaring
En elektronisk resultattavla är en av de viktigaste prylarna som alla kan ha under varje sportturnering. Gammal manuell resultattavla med konventionella metoder är mycket tidskrävande och felbenägen, varför en datoriserad resultattavla blir nödvändig där displayenheten behöver bytas i realtid. Det är därför vi i det här projektet bygger en Bluetooth-styrd trådlös resultattavla där vi kan ändra poängen på tavlan bara genom att använda en Android-applikation. Hjärnan i detta projekt är en Arduino Nano, och för visningsdelen kommer vi att använda en P10 LED-matris för att visa poängen i realtid.
P10 LED-displaymatris
En P10 LED-matrisskärm är det bästa sättet att skapa ett LED-kort för utomhus- eller inomhusbruk. Denna panel har totalt 512 lysdioder med hög ljusstyrka monterade på ett plasthölje som är utformat för bästa bildresultat. Den levereras också med en IP65-klassning för vattentätning vilket gör den perfekt för utomhusbruk. Med detta kan du skapa en stor LED-skylt genom att kombinera valfritt antal sådana paneler i valfri rad- och kolumnstruktur.
Vår modul har en storlek på 32 * 16, vilket innebär att det finns 32 lysdioder i varje rad och 16 lysdioder i varje kolumn. Så det finns totalt 512 lysdioder i varje ledskylt. Förutom det har den en IP65-klassning för vattentätning, den kan drivas av en enda 5V-strömkälla, den har en mycket bred betraktningsvinkel och ljusstyrkan kan gå upp till 4500 nit. Så du kommer att kunna se det tydligt i dagsljus. Tidigare har vi också använt denna P10-skärm med Arduino för att bygga ett enkelt LED-kort.
Stiftbeskrivning av P10 LED-matris:
Detta LED-skärmkort använder ett 10-stifts posthuvud för in- och utgångsanslutning. I detta avsnitt har vi beskrivit alla nödvändiga stift i denna modul. Du kan också se att det finns en extern 5V-kontakt i mitten av modulen som används för att ansluta den externa strömmen till kortet.
- Aktivera: Denna stift används för att styra ljusstyrkan på LED-panelen genom att ge en PWM-puls till den.
- A, B: Dessa kallas multiplex select pins. De tar digital ingång för att välja valfria multiplexrader.
- Skiftklocka (CLK), Store Clock (SCLK) och Data: Detta är de normala skiftregistrets kontrollstift. Här används ett skiftregister 74HC595.
Gränssnitt P10 LED-skärmmodul till Arduino:
Anslutning av P10 matrisdisplayen modul till Arduino är en mycket enkel process, i vår krets, konfigurerade vi tapp 9 av Arduino som Aktiverad stift, klämmer 6 som klämmer fast En, Stift 7 som stift B, Pin 13 är CLK, Pin 8 är SCLK, Pin 11 är DATA, och slutligen är Pin GND GND-stift för modulen och Arduino, en fullständig tabell nedan förklarar stiftkonfigurationen tydligt.
P10 LED-modul |
Arduino UNO |
GÖR DET MÖJLIGT |
9 |
A |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
DATA |
11 |
GND |
GND |
Obs: Anslut P10-modulen till en extern 5V-strömkälla, eftersom 512 lysdioder förbrukar mycket ström. Vi rekommenderar att du ansluter en 5V, 3 A likströmsförsörjning till en enda enhet P10 LED-modul. Om du planerar att ansluta fler nummermodul, öka din SMPS-kapacitet därefter.
Komponenter som krävs för Arduino resultattavla
Eftersom detta är ett mycket enkelt projekt, är komponenterna mycket generiska, en lista över nödvändiga komponenter visas nedan. Du bör kunna hitta allt listat material i din lokala hobbybutik.
- Arduino Nano
- P10 LED-matrisskärm
- Bakbord
- 5V, 3 AMP SMPS
- HC-05 Bluetooth-modul
- Anslutande ledningar
Kretsschema för Arduino resultattavla
Schematisk för Arduino LED-resultattavlan visas nedan eftersom detta projekt är väldigt enkelt, jag har använt den populära programvaran för att utveckla schemat.
Kretsarbetet är väldigt enkelt, vi har en Android-applikation och en Bluetooth-modul, för att lyckas kommunicera med Bluetooth-modulen måste du para ihop HC-05-modulen med Android-applikationen. När vi är anslutna kan vi skicka strängen som vi vill visa, när strängen har skickats kommer Arduino att bearbeta strängen och konvertera den till en signal som det interna 74HC595-skiftmotståndet kan förstå, efter att data har skickats till skiftet motstånd, det är klart att visas.
Arduino resultattavla kodförklaring
Efter en lyckad slutförande av hårdvaruinstallationen är det nu dags för programmering av Arduino Nano. Den stegvisa beskrivningen av koden ges nedan. Du kan också få den kompletta Arduino resultattavlekoden längst ner i denna handledning.
Först och främst måste vi inkludera alla bibliotek. Vi har använt DMD.h- biblioteket för att styra P10-ledd display. Du kan ladda ner och inkludera den från den givna GitHub-länken. Därefter måste du inkludera biblioteket TimerOne.h, som kommer att användas för att avbryta programmeringen i vår kod.
Det finns många fronter tillgängliga i detta bibliotek, vi har använt “ Arial_black_16 ” för detta projekt.
#omfatta
I nästa steg definieras antalet rader och kolumner för vårt LED-matriskort. Vi har bara använt en modul i detta projekt, så både ROW-värde och COLUMN-värde kan definieras som 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Därefter definieras alla variabler som används i koden. En teckenvariabel används för att ta emot seriell data från Android App, två heltal används för att lagra poäng och en matris definieras som lagrar de slutliga data som ska visas i matrisen.
rödingång; int a = 0, b = 0; int flagga = 0; char cstr1;
En funktion scan_module () definieras som kontinuerligt söker efter inkommande data från Arduino Nano via SPI. Om ja, kommer det att utlösa ett avbrott för att göra vissa händelser som definierats av användaren i programmet.
ogiltig scan_module () { led_module.scanDisplayBySPI (); }
Inuti installationen () initieras timern och avbrottet kopplas till funktionen scan_module, som diskuterades tidigare. Ursprungligen rensades skärmen med funktionen clear screen (true), vilket innebär att alla pixlar är definierade som OFF.
I installationen aktiverades också seriekommunikation med funktionen Serial.begin (9600) där 9600 är överföringshastigheten för Bluetooth-kommunikation.
ogiltig installation () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (true); }
Här kontrolleras seriell datatillgänglighet, om det finns giltiga data kommer från Arduino eller inte. Den mottagna informationen från appen lagras i en variabel.
om (Serial.available ()> 0) { flag = 0; input = Serial.read ();
Därefter jämfördes det mottagna värdet med den fördefinierade variabeln. Här, i Android-applikationen, tas två knappar för att välja poäng för båda lagen. När man trycker på knapp 1 skickas tecken 'a' till Arduino och när man trycker på knapp2 skickas tecken 'b' till Arduino. I detta avsnitt matchas därför dessa data, och om de matchas, ökas respektive poängvärden som visas i koden.
if (input == 'a' && flagga == 0) { flagga = 1; a ++; } annat om (input == 'b' && flagga == 0) { flagga = 1; b ++; } annat;
Därefter konverteras den mottagna datan till en karaktärsuppsättning, eftersom P10-matrisfunktionen endast kan visa teckendatatyp. Det är därför alla variabler konverteras och sammanfogas till en teckenmatris.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
För att visa information i modulen väljs teckensnittet med hjälp av urvalsfunktionen (). Sedan används drawMarquee () -funktionen för att visa önskad information på P10-kortet.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Slutligen, eftersom vi behöver en rullningsmeddelandevisning, har jag skrivit en kod för att flytta hela vårt meddelande från höger till vänster med en viss period.
lång start = millis (); lång timming = start; boolesk flagga = falsk; medan (! flagga) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); timming = millis (); } }
Detta markerar slutet på vår kodningsprocess. Och nu är det klart för överföring.
Smartphone kontrollerad resultattavla - Testning
Efter att ha laddat upp kod till Arduino är det dags att testa projektet. Innan det måste Android-appen installeras på vår smartphone. Du kan ladda ner P10 Score Board-ansökan från den angivna länken. När du har installerat öppnar du appen och startskärmen ska se ut som bilden nedan.
Klicka på SCAN- knappen för att lägga till Bluetooth-modulen med appen. Detta visar listan över parkopplade Bluetooth-enheter på telefonen. Om du inte har parat ihop HC-05 Bluetooth-modulen tidigare, parar du i modulen med telefonens Bluetooth-inställning och gör sedan detta steg. Skärmen ser ut som visas:
Klicka sedan på “HC-05” från listan eftersom det här är namnet på vår Bluetooth-modul som används här. Efter att ha klickat på den visas den ansluten på skärmen. Sedan kan vi fortsätta med resultattavlan.
Klicka på valfri knapp mellan "Hem" och "Borta" som visas i appen. Om hemknappen väljs kommer poängen för hem att ökas i P10-displayen. På samma sätt, om Borta-knappen väljs, kommer poängen för Borta att ökas. Bilden nedan visar hur den slutliga skärmen ser ut.
Jag hoppas att du gillade projektet och lärde dig något nytt, om du har några andra frågor angående projektet är du välkommen att kommentera nedan eller så kan du ställa din fråga i vårt forum.