

If (scoreB1 = 0) scoreB1 = 32 // if leading zero, replace with ASCII blankĮlse scoreB1 += 48 // else add offset for ASCII zero ScoreA2 += 48 // add offset for ASCII zero If (scoreA1 = 0) scoreA1 = 32 // if leading zero, replace with ASCII blankĮlse scoreA1 += 48 // else add offset for ASCII zero Int scoreA = score // get a pair of scoresĬhar scoreA1 = scoreA / 10 // breakdown score to individual digits Void displayPair () // display a pair of scores

Void refreshBoard () // refresh entire displayįor (j = 0 j <= 5 j = j + 2) // display scores in pairs
P10 P10 LED PANEL UPDATE
Void checkSwitches () // check switches and update scoresįor (i = 0 i 24) // if score exceeded 25. RefreshBoard () // display initial scores Anything longer than 4000 (4ms) may cause the display to flickerĭigitalWrite (A0, HIGH) // enable pull-down pin 14ĭigitalWrite (A1, HIGH) // enable pull-down pin 15ĭigitalWrite (A2, HIGH) // enable pull-down pin 16ĭigitalWrite (A3, HIGH) // enable pull-down pin 17ĭigitalWrite (A4, HIGH) // enable pull-down pin 18ĭigitalWrite (A5, HIGH) // enable pull-down pin 19ĭmd.selectFont(MyBigFont) // select large font Set period in microseconds to call ScanDMD Initialize DMD interrupt used to refresh the display PCICR |= bit (PCIE1) // enable pin change interrupts PCIFR |= bit (PCIF1) // clear any outstanding interrupts PCMSK1 = 63 // set interrupt mask for pins A0-A5 Initialize pin change interrupt (PCINT1_vect) ISR (PCINT1_vect) // pin change interrupt A0-A5ĭmd.clearScreen( true ) // clear entire display Void ScanDMD() // timer interrupt to drive display refresh String PL = "" // used with Serial.printlnĭMD dmd(2,3) // (DISPLAYS_ACROSS, DISPLAYS_DOWN) Int k = 0 // display column offset (0, 64 or 128) Int j = 0 // score pair indicator (0, 2 or 4) Int i = 0 // index for switches and scores (0 thru 5) Volatile int intFlag = 0 // interrupt flag TEST10: display all 99's first max score 25 TEST9: converted switch logic from pull-up to pull-down
P10 P10 LED PANEL CODE
TEST7: added code to display 6 scores simultaneously If you notice anything that is obviously inefficient, please let me know… // TEST6: added code to display scores on LED matrix Note…I’m not proficient in C, so this may elicit gasps or chuckles.

I haven’t quite finished the code, but here it is.

What do you think? Do I still need a TPIC6x595 in there? I have no idea whether it would work on my panels. For full-bright, I have a 300W ATX power supply that will provide 25A to the 5V power connections on the back of the panels.įreetronics has also posted a code library on GitHub for their panels. Their Quickstart Guide (see bottom of ) indicates that you can simply connect a few data lines to Arduino and it will light up dimly. Based on photos and specs, their panel appears to be very similar to what I bought. So Paul, thanks for the link to Freetronics. PaulRB has been very patient, offering many helpful suggestions in the previous efforts. So, now I’m going to try a 16x32 matrix that is supposedly for outdoor use. I have already tried two different 7-segment displays one was not visible at all in daylight the other was visible only when you’re standing perpendicular to it. The LED digits need to be 4 to 7 inches high, easily visible in daylight at a wide viewing angle. Each of 12 players along one side of the field will have a hard-wired foot switch to increment the score for himself and his teammate. I need to display a total of 12 two-digit scores for 6 simultaneous games, 4 players per game. Maybe, just maybe, this will help: įor anyone dropping into the middle of this project, I’m a beginner micro hacker with an assignment to create a large scoreboard for a lively horseshoe tournament. You could search the forum and the internet for other Arduino projects that have used them.
P10 P10 LED PANEL DRIVER
Or maybe that documentation will assume you also bought the driver board and power supply that were designed for it. Perhaps they will come with some suitable documentation. Well… tpic6a595 will be somewhere between absolutely perfect and completely unsuitable for those panels smiley-wink Paul – Starting a new thread, as suggested…
