- P10-LED-näyttömatriisi
- Tarvittavat komponentit Arduino-tulostaululle
- Piirikaavio Arduino-tulostaululle
- Arduino-tulostaulukoodin selitys
Sähköinen tulostaulu on yksi tärkeimmistä laitteista, joita kenellä tahansa voi olla minkä tahansa urheiluturnauksen aikana. Vanha manuaalinen tulostaulu, joka käyttää tavanomaisia menetelmiä, on erittäin aikaa vievää ja virhealtista, joten tietokoneistettu tulostaulu on tarpeen, jos näyttöyksikkö on vaihdettava reaaliajassa. Siksi rakennamme tässä projektissa Bluetooth-ohjatun langattoman tulostaulun, jossa voimme muuttaa taulun tulosta vain Android-sovelluksella. Tämän projektin aivot ovat Arduino Nano, ja näyttöosassa käytämme P10-LED-matriisia näyttämään pisteet reaaliajassa.
P10-LED-näyttömatriisi
P10 LED matriisinäyttö on paras tapa käytettävissä tehdä LED-levy ulkona tai sisäkäyttöön. Tässä paneelissa on yhteensä 512 korkean kirkkauden LEDiä, jotka on asennettu muovikoteloon, joka on suunniteltu parhaiden näyttötulosten saavuttamiseksi. Siinä on myös IP65-luokitus vedenpitäväksi, joten se on täydellinen ulkokäyttöön. Tämän avulla voit tehdä suuren LED-kyltin yhdistämällä minkä tahansa määrän tällaisia paneeleja mihin tahansa rivi- ja sarakerakenteeseen.
Moduulimme koko on 32 * 16, mikä tarkoittaa, että kussakin rivissä on 32 LEDiä ja 16 saraketta. Joten jokaisessa led-kyltissä on yhteensä 512 LEDiä. Sen lisäksi sillä on IP65-luokitus vedenpitävyydelle, se voidaan käyttää yhdellä 5 V: n virtalähteellä, sillä on erittäin laaja katselukulma ja kirkkaus voi nousta jopa 4500 nittiin. Joten pystyt näkemään sen selkeästi päivänvalossa. Aikaisemmin olemme myös käyttäneet tätä P10-näyttöä Arduinolla yksinkertaisen LED-kortin rakentamiseen.
Pin kuvaus on P10 LED Matrix:
Tämä LED-näyttötaulu käyttää 10-nastaista postiotsikkoa tulo- ja lähtöliitäntään, tässä osassa olemme kuvanneet kaikki tämän moduulin tarvittavat nastat. Voit myös nähdä, että moduulin keskellä on ulkoinen 5V-liitin, jota käytetään ulkoisen virran kytkemiseen piirilevyyn.
- Ota käyttöön: Tätä tapia käytetään ohjaamaan LED-paneelin kirkkautta antamalla sille PWM-pulssi.
- A, B: Näitä kutsutaan multipleksinvalintanastoiksi. He ottavat digitaalisen tulon valitsemaan kaikki multipleksirivit.
- Vaihtokello (CLK), Tallennuskello (SCLK) ja Data: Nämä ovat normaalit siirtorekisterin ohjaustapit. Tässä käytetään siirtorekisteriä 74HC595.
Liitettävä P10-LED-näyttömoduuli Arduinoon:
Liittämällä P10 matriisinäyttö moduuli on Arduino on hyvin yksinkertainen prosessi, meidän piiri, me järjestetty tappi 9 Arduino kuin Enable pin, Pin 6 kuin Pin A, Pin 7 tappi-B, Pin 13 on CLK, Pin 8 SCLK, Pin 11 on DATA, ja lopuksi Pin GND on moduulin ja Arduinon GND-nasta, alla oleva täydellinen taulukko selittää nastan kokoonpanon selvästi.
P10 LED-moduuli |
Arduino UNO |
OTA KÄYTTÖÖN |
9 |
A |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
TIEDOT |
11 |
GND |
GND |
Huomaa: Liitä P10-moduulin virtaliitin ulkoiseen 5 V: n virtalähteeseen, koska 512 LEDiä kuluttaa paljon virtaa. On suositeltavaa kytkeä 5 V: n, 3 A: n tasavirtalähde yhteen P10-LED-moduulin yksikköön. Jos aiot yhdistää enemmän numeromoduuleja, lisää SMPS-kapasiteettia vastaavasti.
Tarvittavat komponentit Arduino-tulostaululle
Koska tämä on hyvin yksinkertainen projekti, komponenttivaatimukset ovat hyvin yleisiä, luettelo vaadituista komponenteista on esitetty alla, sinun pitäisi pystyä löytämään kaikki luetellut materiaalit paikallisesta harrastekaupastasi.
- Arduino Nano
- P10-LED-matriisinäyttö
- Leipälauta
- 5 V, 3 AMP SMPS
- HC-05 Bluetooth-moduuli
- Johtojen liittäminen
Piirikaavio Arduino-tulostaululle
Kaavamaisen varten Arduino LED tulostaulu on esitetty alla, koska tämä hanke on hyvin yksinkertainen, olen käyttänyt suosittuja ohjelmia fritzing kehittää kaavamaisen.
Piirin toiminta on hyvin yksinkertaista, meillä on Android-sovellus ja Bluetooth-moduuli, jotta voit kommunikoida onnistuneesti Bluetooth-moduulin kanssa, sinun on yhdistettävä HC-05-moduuli android-sovellukseen. Kun yhteys on muodostettu, voimme lähettää merkkijonon, jonka haluamme näyttää, kun merkkijono on lähetetty, Arduino käsittelee merkkijonon ja muuntaa sen signaaliksi, jonka sisäinen 74HC595-siirtovastus voi ymmärtää, kun tiedot on lähetetty siirtymään vastus, se on valmis näyttöön.
Arduino-tulostaulukoodin selitys
Laitteiston asennuksen onnistuneen päätyttyä on nyt aika ohjelmoida Arduino Nano. Koodin vaiheittainen kuvaus on annettu alla. Voit myös saada täydellisen Arduino-tulostaulun koodin tämän opetusohjelman alaosasta.
Ensinnäkin meidän on sisällytettävä kaikki kirjastot. Olemme käyttäneet DMD.h- kirjastoa P10-led-näytön ohjaamiseen. Voit ladata ja sisällyttää sen annetusta GitHub-linkistä. Sen jälkeen sinun on sisällytettävä TimerOne.h- kirjasto, jota käytetään ohjelmoinnin keskeyttämiseen koodissamme.
Tässä kirjastossa on monia etuosia, olemme käyttäneet " Arial_black_16 " tähän projektiin.
#sisältää
Seuraavassa vaiheessa rivien ja sarakkeiden määrä määritetään LED-matriisilevylle. Olemme käyttäneet vain yhtä moduulia tässä projektissa, joten ROW-arvo ja COLUMN-arvo voidaan määritellä yhdeksi.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (RIVI, SARAKE);
Sen jälkeen määritetään kaikki koodissa käytetyt muuttujat. Merkkimuuttujaa käytetään sarjatietojen vastaanottamiseen Android-sovelluksesta, kahta kokonaislukuarvoa käytetään pisteiden tallentamiseen ja määritetään taulukko, joka tallentaa matriisiin näytettävät lopulliset tiedot.
char-syöttö; int a = 0, b = 0; int lippu = 0; char cstr1;
Funktion scan_module () on määritetty, joka tarkistaa jatkuvasti kaikki saapuvat tiedot Arduino Nanosta SPI: n kautta. Jos kyllä, se laukaisee keskeytyksen tiettyjen tapahtumien suorittamiseksi käyttäjän määrittelemän ohjelmassa.
void scan_module () { led_module.scanDisplayBySPI (); }
Asennuksen () sisällä ajastin alustetaan ja keskeytys liitetään toimintoon scan_module, josta keskusteltiin aiemmin. Alun perin näyttö tyhjennettiin toiminnon tyhjennysnäytöllä (true), mikä tarkoittaa, että kaikki pikselit on määritetty pois päältä.
Asennuksessa sarjaliikenne otettiin käyttöön myös toiminnolla Serial.begin (9600), jossa 9600 on Bluetooth-tiedonsiirtonopeus.
void setup () { Sarja.alku (9600); Ajastin1.alusta (2000); Timer1.attachInterrupt (skannausmoduuli); led_module.clearScreen (true); }
Tässä sarjaliikenteen tietojen saatavuus tarkistetaan, jos Arduinosta tulee kelvollisia tietoja. Sovelluksesta vastaanotetut tiedot tallennetaan muuttujaan.
if (Sarja.käytettävissä ()> 0) { flag = 0; input = Sarja.lue ();
Sitten vastaanotettua arvoa verrattiin ennalta määritettyyn muuttujaan. Täällä, Android-sovelluksessa, otetaan kaksi painiketta valitsemaan molempien joukkueiden pisteet. Kun painiketta 1 painetaan, merkki 'a' lähetetään Arduinolle ja kun painiketta 2 painetaan, merkki 'b' lähetetään Arduinolle. Tästä syystä tässä osiossa nämä tiedot sovitetaan yhteen, ja jos ne vastaavat, vastaavia pisteytysarvoja lisätään koodissa esitetyllä tavalla.
jos (input == 'a' && flag == 0) { flag = 1; a ++; } else if (input == 'b' && flag == 0) { flag = 1; b ++; } muu;
Sitten vastaanotettu data muunnetaan merkkimatriisiksi, koska P10-matriisitoiminto pystyy näyttämään vain merkkitietotyypin. Siksi kaikki muuttujat muunnetaan ja ketjutetaan merkistöiksi.
(Merkkijono ("HOME:") + Merkkijono (a) + Merkkijono ("-") + Merkkijono ("POIS:") + Merkkijono (b)). ToCharArray (cstr1, 50);
Sen jälkeen, kun haluat näyttää tiedot moduulissa, fontti valitaan valinta () -toiminnolla. Sitten drawMarquee () -toimintoa käytetään haluttujen tietojen näyttämiseen P10-kortilla.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * RIVI), 0);
Lopuksi, koska tarvitsemme vierittävän viestinäytön, olen kirjoittanut koodin siirtääksesi koko viestimme oikealta vasemmalle tietyn ajanjakson ajan.
pitkä alku = millis (); pitkä säätö = alku; totuusarvo = väärä; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); säätö = millis (); } }
Tämä merkitsee koodausprosessimme loppua. Ja nyt se on valmis lataamista varten.
Älypuhelimen ohjaama tulostaulu - testaus
Kun olet ladannut koodin Arduinoon, on aika testata projekti. Ennen sitä Android-sovellus on asennettava älypuhelimeemme. Voit ladata P10 Score Board -sovelluksen annetusta linkistä. Kun se on asennettu, avaa sovellus ja aloitusnäytön tulisi näyttää alla olevalta kuvalta.
Napsauta SCAN- painiketta lisätäksesi Bluetooth-moduulin App. Tämä näyttää luettelon puhelimen pariksi liitetyistä Bluetooth-laitteista. Jos et ole muodostanut pariliitosta HC-05 Bluetooth-moduulista aiemmin, pariliitä moduuli puhelimesi Bluetooth-asetuksella ja tee tämä vaihe. Näyttö näyttää seuraavalta:
Napsauta sitten luettelosta ”HC-05”, koska tämä on täällä käytetyn Bluetooth-moduulin nimi. Napsautettuasi sitä, se näkyy yhdistettynä näytöllä. Sitten voimme edetä tulostaulun kanssa.
Napsauta mitä tahansa painiketta Koti- ja Poissa-välissä, kuten sovelluksessa näytetään. Jos Koti-painike valitaan, Kodin pisteet kasvavat P10-näytössä. Vastaavasti, jos Poissa-painike valitaan, Poissa-pisteet kasvavat. Alla olevassa kuvassa näkyy, kuinka lopullinen näyttö näyttää.
Toivon, että pidit projektista ja opit jotain uutta. Jos sinulla on muita projektia koskevia kysymyksiä, voit kommentoida alla tai voit esittää kysymyksesi foorumillamme.