I recently acquired an 8x8 RGB CC LED matrix and wish to control it with a 12F683 variant (PICAXE 08M) via BASIC. What I am trying to do is this:
The Pic uC will monitor the outside world for one of eight "events". Each event will have been previously assigned a unique color (i.e. red, green, blue, orange, yellow or any other color of the rainbow) and a graphics "pattern". Each event's unique pattern could consist of any number of the 64 pixels available on the matrix. Upon the uC sensing an event, the matrix will display the assigned color and pattern continuously until another event occurs.
Due to pin limitations on the 08M, four 8-bit serial-in, parallel-out shift registers (24 columns, 8 rows) are planned for the required display multiplexing. PWM is contemplated for the clocking, as an interrupt-driven BASIC routine may prove to be too slow.
My problem is grasping how to handle each of the individual events color and pattern. Each of the 64 available pixels has three LEDs (RGB) that need to be individually driven by its own PWM. And some sort of memory is required (I think) for storing each event's unique pattern that can be clocked out synchronously with the muxing of the display. This leaves the uC to only sense external event interrupts, output appropriate color and pattern and await the next external interrupt.
I would appreciate any suggestions on how to approach this project.
The Pic uC will monitor the outside world for one of eight "events". Each event will have been previously assigned a unique color (i.e. red, green, blue, orange, yellow or any other color of the rainbow) and a graphics "pattern". Each event's unique pattern could consist of any number of the 64 pixels available on the matrix. Upon the uC sensing an event, the matrix will display the assigned color and pattern continuously until another event occurs.
Due to pin limitations on the 08M, four 8-bit serial-in, parallel-out shift registers (24 columns, 8 rows) are planned for the required display multiplexing. PWM is contemplated for the clocking, as an interrupt-driven BASIC routine may prove to be too slow.
My problem is grasping how to handle each of the individual events color and pattern. Each of the 64 available pixels has three LEDs (RGB) that need to be individually driven by its own PWM. And some sort of memory is required (I think) for storing each event's unique pattern that can be clocked out synchronously with the muxing of the display. This leaves the uC to only sense external event interrupts, output appropriate color and pattern and await the next external interrupt.
I would appreciate any suggestions on how to approach this project.