- P10 LED-skjermmatrise
- Komponenter som kreves for Arduino resultattavle
- Kretsdiagram for Arduino resultattavle
- Arduino resultattavle kode Forklaring
En elektronisk resultattavle er en av de viktigste innretningene noen kan ha under en hvilken som helst sports turnering. Gammel manuell resultattavle ved bruk av konvensjonelle metoder er svært tidkrevende og feilutsatt, og det blir derfor nødvendig med en datastyrt resultattavle der skjermenheten må endres i sanntid. Dette er grunnen til at vi i dette prosjektet bygger en Bluetooth-kontrollert trådløs resultattavle der vi kan endre poengsummen på tavlen bare ved å bruke en Android-applikasjon. Hjernen til dette prosjektet er en Arduino Nano, og for visningsdelen vil vi bruke en P10 LED-matrise for å vise poengsummen eksternt i sanntid.
P10 LED-skjermmatrise
En P10 LED-matriseskjerm er den beste måten å lage et LED-kort til utendørs eller innendørs bruk. Dette panelet har totalt 512 lysdioder med høy lysstyrke montert på et plasthus designet for best mulig displayresultat. Den leveres også med en IP65-klassifisering for vanntetting, noe som gjør den perfekt for utendørs bruk. Med dette kan du lage et stort LED-skilt ved å kombinere et hvilket som helst antall slike paneler i hvilken som helst rad- og kolonnestruktur.
Modulen vår har en størrelse på 32 * 16, noe som betyr at det er 32 lysdioder i hver rad og 16 lysdioder i hver kolonne. Så det er totalt 512 lysdioder til stede i hvert ledet skilt. Bortsett fra det, har den en IP65-klassifisering for vanntetting, den kan drives av en enkelt 5V strømkilde, den har en veldig bred synsvinkel, og lysstyrken kan gå opp til 4500 nit. Så du vil kunne se det tydelig i dagslys. Tidligere har vi også brukt denne P10-skjermen med Arduino til å bygge et enkelt LED-kort.
Pin Beskrivelse av P10 LED Matrix:
Dette LED-skjermkortet bruker en 10-pinners posthode for inngangs- og utgangstilkobling. I denne delen har vi beskrevet alle nødvendige pinner i denne modulen. Du kan også se at det er en ekstern 5V-kontakt midt på modulen som brukes til å koble den eksterne strømmen til kortet.
- Aktiver: Denne pinnen brukes til å kontrollere lysstyrken på LED-panelet ved å gi en PWM-puls til den.
- A, B: Disse kalles multiplex select pins. De tar digital inngang for å velge multiplex-rader.
- Skiftklokke (CLK), Store Clock (SCLK) og Data: Dette er de normale skiftregisterets kontrollpinner. Her brukes et skiftregister 74HC595.
Grensesnitt P10 LED-skjermmodul til Arduino:
Tilkobling av P10 matriseskjermmodul til Arduino er en meget enkel prosess, i vår krets, utformet vi tapp 9 på Arduino som Enable tapp, stift 6 som Pin A, Pin 7 som tappen B, Bolt 13 er CLK, bolten 8 SCLK, Pin 11 er DATA, og til slutt Pin GND er GND-pin for modulen og Arduino, en fullstendig tabell nedenfor forklarer pin-konfigurasjonen tydelig.
P10 LED-modul |
Arduino UNO |
MULIGGJØRE |
9 |
EN |
6 |
B |
7 |
CLK |
1. 3 |
SCLK |
8 |
DATA |
11 |
GND |
GND |
Merk: Koble strømterminalen til P10-modulen til en ekstern 5V strømkilde, fordi 512 lysdioder bruker mye strøm. Det anbefales å koble en 5 V, 3 A likestrømforsyning til en enkelt enhet P10 LED-modul. Hvis du planlegger å koble til flere tallmoduler, kan du øke SMPS-kapasiteten tilsvarende.
Komponenter som kreves for Arduino resultattavle
Siden dette er et veldig enkelt prosjekt, er kravene til komponentene veldig generiske, en liste over nødvendige komponenter vises nedenfor. Du bør kunne finne alt det oppførte materialet i din lokale hobbybutikk.
- Arduino Nano
- P10 LED matriseskjerm
- Brettbrett
- 5V, 3 AMP SMPS
- HC-05 Bluetooth-modul
- Koble ledninger
Kretsdiagram for Arduino resultattavle
Skjemaet for Arduino LED-resultattavlen er vist nedenfor, da dette prosjektet er veldig enkelt. Jeg har brukt den populære programvaren til å utvikle skjematisk.
Kretsarbeidet er veldig enkelt, vi har en Android-applikasjon og en Bluetooth-modul, for å lykkes med å kommunisere med Bluetooth-modulen, må du koble HC-05-modulen med android-applikasjonen. Når vi er koblet til, kan vi sende strengen vi vil vise, når strengen er sendt, vil Arduino behandle strengen og konvertere den til et signal som den interne 74HC595 skiftmotstanden kan forstå, etter at dataene er sendt til skiftet motstand, den er klar til visning.
Arduino resultattavle kode Forklaring
Etter vellykket gjennomføring av maskinvareoppsettet, er det nå på tide for programmering av Arduino Nano. Den trinnvise beskrivelsen av koden er gitt nedenfor. Du kan også få den komplette Arduino resultattavlekoden nederst i denne veiledningen.
Først og fremst må vi inkludere alle bibliotekene. Vi har brukt DMD.h- biblioteket for å kontrollere P10-ledet skjerm. Du kan laste ned og inkludere den fra den gitte GitHub-lenken. Etter det må du inkludere TimerOne.h- biblioteket, som vil bli brukt til å avbryte programmering i koden vår.
Det er mange fronter tilgjengelig i dette biblioteket, vi har brukt “ Arial_black_16 ” for dette prosjektet.
#inkludere
I neste trinn defineres antall rader og kolonner for vårt LED-matrisekort. Vi har bare brukt en modul i dette prosjektet, så både ROW-verdi og COLUMN-verdi kan defineres som 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Etter det er alle variablene som brukes i koden definert. En tegnvariabel brukes til å motta seriell data fra Android App, to heltallverdier brukes til å lagre score, og det defineres en matrise som lagrer de endelige dataene som skal vises på matrisen.
røyeinngang; int a = 0, b = 0; int flagg = 0; røye cstr1;
En Funksjon scan_module () er definert, som kontinuerlig sjekker for innkommende data fra Arduino Nano gjennom SPI. Hvis ja, vil det utløse et avbrudd for å gjøre visse hendelser som definert av brukeren i programmet.
ugyldig scan_module () { led_module.scanDisplayBySPI (); }
Inne i oppsett () initialiseres timeren, og avbruddet er festet til funksjonen scan_module, som ble diskutert tidligere. Opprinnelig ble skjermen ryddet ved hjelp av funksjonen clear screen (true), som betyr at alle piksler er definert som OFF.
I oppsettet ble seriekommunikasjon også aktivert ved hjelp av funksjonen Serial.begin (9600) der 9600 er baudhastigheten for Bluetooth-kommunikasjon.
ugyldig oppsett () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (true); }
Her blir seriell datatilgjengelighet sjekket, om det er gyldige data som kommer fra Arduino eller ikke. De mottatte dataene fra appen lagres i en variabel.
hvis (Serial.available ()> 0) { flag = 0; input = Serial.read ();
Deretter ble den mottatte verdien sammenlignet med den forhåndsdefinerte variabelen. Her, i Android-applikasjonen, tas to knapper for å velge poengsummen for begge lag. Når du trykker på knapp 1, overføres tegn 'a' til Arduino, og når du trykker på knapp2, overføres tegn 'b' til Arduino. Derfor, i denne seksjonen, blir disse dataene matchet, og hvis de matches, blir de respektive poengverdiene inkrementert som vist i koden.
hvis (input == 'a' && flag == 0) { flag = 1; a ++; } annet hvis (input == 'b' && flag == 0) { flag = 1; b ++; } annet;
Deretter blir de mottatte dataene konvertert til et tegnarray, da P10-matrisefunksjonen bare er i stand til å vise karakterdatatype. Dette er grunnen til at alle variablene blir konvertert og sammenkoblet til et tegnarray.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
For å vise informasjon i modulen, velges skriften ved å bruke funksjonen utvalg (). Deretter brukes drawMarquee () -funksjonen til å vise ønsket informasjon på P10-kortet.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Til slutt, ettersom vi trenger en rullende meldingsvisning, har jeg skrevet en kode for å flytte hele meldingen fra høyre til venstre retning ved hjelp av en viss periode.
lang start = millis (); lang timing = start; boolsk flagg = falsk; mens (! flagg) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); timming = millis (); } }
Dette markerer slutten på kodingsprosessen. Og nå er den klar for opplasting.
Smarttelefonkontrollert resultattavle - Testing
Etter å ha lastet opp kode til Arduino, er det på tide å teste prosjektet. Før det må android-applikasjonen installeres på smarttelefonen vår. Du kan laste ned P10 Score Board-applikasjonen fra den gitte lenken. Når appen er installert, åpner du appen, og startskjermen skal se ut som under bildet.
Klikk på SCAN- knappen for å legge til Bluetooth-modulen med App. Dette viser listen over sammenkoblede Bluetooth-enheter på telefonen. Hvis du ikke har paret HC-05 Bluetooth-modulen før, kobler du modulen ved hjelp av telefonens Bluetooth-innstilling og gjør dette trinnet. Skjermen vil se ut som vist:
Klikk deretter på “HC-05” fra listen, da dette er navnet på Bluetooth-modulen som brukes her. Etter å ha klikket på den, vil den vises tilkoblet på skjermen. Så kan vi fortsette med resultattavlen.
Klikk på hvilken som helst knapp mellom "Hjemme" og "Vekk" som vist i appen. Hvis Hjem-knappen er valgt, vil poengsummen for Hjem økes i P10-skjermen. Tilsvarende, hvis Bort-knappen er valgt, vil poengsummen for Bort økes. Bildet nedenfor viser hvordan den endelige skjermen ser ut.
Jeg håper du likte prosjektet og lærte noe nytt, hvis du har andre spørsmål angående prosjektet, er du velkommen til å kommentere nedenfor eller du kan stille spørsmålet ditt i forumet vårt.