- Ang P10 LED Display Matrix
- Mga Kinakailangan na Bahagi para sa Arduino Scoreboard
- Circuit Diagram para sa Arduino Scoreboard
- Paliwanag ng Arduino Scoreboard Code
Ang isang elektronikong scoreboard ay isa sa pinakamahalagang mga gadget na maaaring magkaroon ang sinuman sa panahon ng anumang paligsahan sa palakasan. Ang lumang manu-manong scoreboard na gumagamit ng maginoo na pamamaraan ay napaka-oras at madali sa Error, samakatuwid ang isang computerized scoreboard ay kinakailangan kung saan ang display unit ay kailangang mabago nang real-time. Ito ang dahilan kung bakit sa proyektong ito, gagawa kami ng isang kinokontrol na wireless scoreboard ng Bluetooth kung saan maaari naming baguhin ang iskor sa pisara sa pamamagitan lamang ng paggamit ng isang android application. Ang utak ng proyektong ito ay isang Arduino Nano, at para sa bahagi ng pagpapakita, gagamit kami ng isang P10 LED matrix upang maipakita ang marka nang malayuan sa real-time.
Ang P10 LED Display Matrix
Ang isang P10 LED Matrix Display ay ang pinakamahusay na paraan na magagamit upang makagawa ng isang LED board para sa panlabas o panloob na paggamit. Ang panel na ito ay may kabuuang 512 mataas na mga LED na ilaw na naka-mount sa isang plastik na pabahay na dinisenyo para sa pinakamahusay na mga resulta sa pagpapakita. Mayroon din itong rating na IP65 para sa waterproofing na ginagawang perpekto para sa panlabas na paggamit. Sa pamamagitan nito, maaari kang gumawa ng isang malaking signboard ng LED sa pamamagitan ng pagsasama ng anumang bilang ng mga naturang panel sa anumang istraktura ng hilera at haligi.
Ang aming module ay may sukat na 32 * 16, na nangangahulugang mayroong 32 LEDs sa bawat hilera at 16 LEDs sa bawat haligi. Kaya, mayroong isang kabuuang 512 LEDs naroroon sa bawat humantong signboard. Maliban dito, mayroon itong rating na IP65 para sa hindi tinatagusan ng tubig, maaari itong patakbuhin ng isang solong pinagmulan ng kuryente na 5V, mayroon itong napakalawak na anggulo sa pagtingin, at ang ningning ay maaaring umabot sa 4500 nits. Kaya, maaari mong makita ito nang malinaw sa pagdala ng ilaw ng araw. Dati ginamit din namin ang P10 Display na ito kasama ang Arduino upang makabuo ng isang simpleng LED Board.
Paglalarawan ng Pin ng P10 LED Matrix:
Ang LED display board na ito ay gumagamit ng isang 10-pin na header ng mail para sa koneksyon ng input at output, sa seksyong ito, inilarawan namin ang lahat ng kinakailangang mga pin ng modyul na ito. Gayundin, maaari mong makita na may isang panlabas na 5V konektor sa gitna ng module na ginagamit upang ikonekta ang panlabas na lakas sa board.
- Paganahin: Ang pin na ito ay ginagamit upang makontrol ang liwanag ng LED panel, sa pamamagitan ng pagbibigay ng pulso na PWM dito.
- A, B: Tinatawag itong mga multiplex select pin. Kumuha sila ng digital input upang pumili ng anumang mga multiplex row.
- Orasan ng paglilipat (CLK), Orasan ng tindahan (SCLK), at Data: Ito ang normal na mga rehistro sa control ng rehistro ng shift. Dito ginagamit ang isang rehistro ng shift 74HC595.
Ang interface ng P10 LED Display Module sa Arduino:
Ang pagkonekta sa P10 matrix display module sa Arduino ay isang napaka-simpleng proseso, sa aming circuit, na-configure namin ang pin 9 ng Arduino bilang Paganahin ang pin, Pin 6 bilang Pin A, Pin 7 bilang pin B, ang Pin 13 ay ang CLK, ang Pin 8 ay ang SCLK, Pin 11 ang DATA, at sa wakas ang Pin GND ay ang pin ng GND para sa module at Arduino, isang kumpletong talahanayan sa ibaba na malinaw na ipinaliwanag ang pagsasaayos ng pin.
P10 LED Module |
Arduino UNO |
MAAARING |
9 |
A |
6 |
B |
7 |
CLK |
13 |
SCLK |
8 |
DATA |
11 |
GND |
GND |
Tandaan: Ikonekta ang terminal ng kuryente ng P10 module sa isang panlabas na mapagkukunan ng 5V, sapagkat ang 512 LEDs ay ubusin ang maraming lakas. Inirerekumenda na ikonekta ang isang 5V, 3 Amp DC power supply sa isang solong yunit ng P10 LED module. Kung nagpaplano kang ikonekta ang higit pang mga module ng mga numero, pagkatapos ay taasan ang iyong kakayahan sa SMPS nang naaayon.
Mga Kinakailangan na Bahagi para sa Arduino Scoreboard
Dahil ito ay isang napaka-simpleng proyekto, ang mga kinakailangan sa sangkap ay napaka generic, isang listahan ng mga kinakailangang sangkap ay ipinapakita sa ibaba, dapat mong makita ang lahat ng nakalistang materyal sa iyong lokal na tindahan ng libangan.
- Arduino Nano
- P10 LED matrix display
- Breadboard
- 5V, 3 AMP SMPS
- HC-05 Bluetooth Module
- Mga Koneksyon sa Mga Wires
Circuit Diagram para sa Arduino Scoreboard
Ang Schematic para sa Arduino LED Scoreboard ay ipinapakita sa ibaba dahil ang proyektong ito ay napaka-simple, ginamit ko ang sikat na software na fritzing upang paunlarin ang eskematiko.
Ang pagtatrabaho ng circuit ay napaka-simple, mayroon kaming isang Android application at isang module ng Bluetooth, upang matagumpay na makipag-usap sa module ng Bluetooth, kailangan mong ipares ang module na HC-05 sa android application. Kapag nakakonekta na kami, maaari naming ipadala ang string na nais naming ipakita, sa sandaling maipadala ang string, iproseso ng Arduino ang string at i-convert ito sa isang senyas na maaaring maunawaan ng panloob na 74HC595 shift resistor, pagkatapos maipadala ang data sa shift risistor, handa na itong ipakita.
Paliwanag ng Arduino Scoreboard Code
Matapos ang matagumpay na pagkumpleto ng pag-setup ng hardware, oras na para sa programa ng Arduino Nano. Ang stepwise na paglalarawan ng code ay ibinigay sa ibaba. Gayundin, maaari mong makuha ang kumpletong Arduino Scoreboard code sa ilalim ng Tutorial na ito.
Una sa lahat, kailangan nating isama ang lahat ng mga aklatan. Ginamit namin ang DMD.h Library upang makontrol ang ipinakitang P10 na display. Maaari mong i-download at isama ito mula sa ibinigay na link ng GitHub. Pagkatapos nito, kailangan mong isama ang TimerOne.h Library, na gagamitin para sa makagambala na programa sa aming code.
Maraming mga front na magagamit sa library na ito, ginamit namin ang " Arial_black_16 " para sa proyektong ito.
# isama
Sa susunod na hakbang, ang bilang ng mga hilera at haligi ay tinukoy para sa aming LED matrix board. Gumamit lamang kami ng isang module sa proyektong ito, kaya ang parehong halaga ng ROW at halagang COLUMN ay maaaring tukuyin bilang 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Pagkatapos nito, ang lahat ng mga variable na ginamit sa code ay tinukoy. Ginagamit ang isang variable ng character upang makatanggap ng serial data mula sa Android App, ginagamit ang dalawang halaga ng integer upang mag-imbak ng mga marka, at tinukoy ang isang array na nag-iimbak ng huling data na maipakita sa Matrix.
input ng char; int a = 0, b = 0; int flag = 0; char cstr1;
Ang isang Function scan_module () ay tinukoy, na patuloy na sumusuri para sa anumang papasok na data mula sa Arduino Nano sa pamamagitan ng SPI. Kung oo, mag-uudyok ito ng isang nakakagambala para sa paggawa ng ilang mga kaganapan na tinukoy ng gumagamit sa programa.
void scan_module () { led_module.scanDisplayBySPI (); }
Sa loob ng pag- setup (), ang timer ay pinasimulan, at ang makagambala ay naka-attach sa pag-andar ng scan_module, na tinalakay nang mas maaga. Sa una, ang screen ay na-clear gamit ang function na malinaw na screen (totoo), na nangangahulugang lahat ng mga pixel ay tinukoy bilang OFF.
Sa pag-setup, pinagana din ang serial na komunikasyon gamit ang function na Serial.begin (9600) kung saan ang 9600 ay ang rate ng baud para sa komunikasyon sa Bluetooth.
void setup () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (totoo); }
Dito, naka-check ang pagkakaroon ng serial data, kung mayroong wastong data ay nagmumula sa Arduino o hindi. Ang natanggap na data mula sa App ay nakaimbak sa isang variable.
kung (Serial.available ()> 0) { flag = 0; input = Serial.read ();
Pagkatapos, ang natanggap na halaga ay inihambing sa paunang natukoy na variable. Dito, sa Android application, dalawang mga pindutan ang kinuha upang piliin ang mga marka para sa parehong koponan. Kapag pinindot ang pindutan 1, ang Character 'a' ay ipinapadala sa Arduino at kapag pinindot ang button2, ang Character 'b' ay maililipat sa Arduino. Samakatuwid, sa seksyong ito, ang data na ito ay naitugma, at kung naitugma, pagkatapos ay ang kani-kanilang mga halaga ng iskor ay nadagdagan tulad ng ipinakita sa code.
kung (input == 'a' && flag == 0) { flag = 1; isang ++; } iba pa kung (input == 'b' && flag == 0) { flag = 1; b ++; } iba pa;
Pagkatapos, ang natanggap na data ay na-convert sa isang character Array, dahil ang pagpapaandar ng P10 matrix ay may kakayahang ipakita lamang ang uri ng data ng character. Ito ang dahilan kung bakit ang lahat ng mga variable ay nai-convert at concatenated sa isang character array.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Pagkatapos, upang maipakita ang impormasyon sa modyul, ang font ay pinili gamit ang pagpipilian na () pagpapaandar. Pagkatapos ang drawMarquee () function ay ginagamit upang ipakita ang nais na impormasyon sa P10 board.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Sa wakas, dahil kailangan namin ng isang display ng pag-scroll ng mensahe, nagsulat ako ng isang code upang ilipat ang aming buong mensahe mula sa Kanan patungo sa Kaliwang mga direksyon gamit ang isang tiyak na panahon.
mahabang pagsisimula = millis (); mahabang timming = simula; flag ng boolean = false; habang (! flag) { kung ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); timming = millis (); } }
Ito ang marka ng pagtatapos ng aming proseso ng pag-coding. At ngayon handa na ito sa pag-upload.
Kinokontrol ng Scoreboard ng Smartphone - Pagsubok
Pagkatapos mag-upload ng code sa Arduino, oras na upang subukan ang proyekto. Bago ito, kailangang mai-install ang android application sa aming smartphone. Maaari mong i- download ang application na P10 Score Board mula sa ibinigay na link. Kapag na-install na, buksan ang app at ang home screen ay dapat magmukhang sa ibaba ng imahe.
Mag-click sa pindutan ng SCAN upang idagdag ang module ng Bluetooth sa App. Ipapakita nito ang listahan ng mga ipinares na Bluetooth na aparato ng telepono. Kung hindi mo pa ipinares ang HC-05 Bluetooth module dati, ipares ang module gamit ang setting ng Bluetooth ng iyong telepono at pagkatapos ay gawin ang hakbang na ito. Ang screen ay magiging hitsura ng ipinapakita:
Pagkatapos, mula sa listahan, mag-click sa "HC-05" dahil ito ang pangalan ng aming Bluetooth module na ginamit dito. Pagkatapos ng pag-click dito, lalabas ito na konektado sa screen. Pagkatapos ay maaari kaming magpatuloy sa scoreboard.
Mag-click sa anumang pindutan sa pagitan ng "Home" & "Away" tulad ng ipinakita sa App. Kung napili ang pindutan ng Home, ang marka ng Home ay madaragdagan sa display na P10. Katulad nito, kung ang pindutan ng Away ay napili, ang marka ng Away ay madadagdagan. Ipinapakita ng imahe sa ibaba ang hitsura ng panghuling screen.
Inaasahan kong nagustuhan mo ang proyekto at may natutunan na bago, kung mayroon kang anumang iba pang mga katanungan tungkol sa proyekto, huwag mag-atubiling magbigay ng puna sa ibaba o maaari mong tanungin ang iyong katanungan sa aming forum.