I'm working on a project to build a sports timing clock in a 5w x 2h configuration (160x32 pixels) using an Arduino Due.
I’ve tested the panels in a 5x2 configuration using the “Game of Life” example sketch from the DMD2 library and it worked as expected.
However for the real project, I have a separate sports timing device that outputs the running time over an RS232 serial connection (9600/8/n/1). It outputs the time every 1/10sec, so the Arduino is receiving 10 packets of serial data every second.
I’ve written a sketch that receives and displays the data correctly over the serial monitor. ([login to view URL])
However, when I add in the DMD2 code to display the time on the panels, there are missing characters on both the DMD panels and the serial monitor. ([login to view URL])
If I change the panel configuration to 1x1, I still get missing characters but only approx. 1 missing character every 20 packets. With the 5x2 panel configuration, most packets have 1 missing character, some have 2 or 3 or even 4 missing characters.
I guess the Ardunio isn’t coping with the 5x2 display and reading the serial data, but I’d hoped using the Arduino Due would remove any processor speed issues.
I'm looking for help to improve my code to handle receiving the serial data AND display it on the DMD panels, without dropping characters.