8x8 RGB LED Matrix Display Module - Propeller SPIN example code doesn't display BMP?
tdg8934
Posts: 126
I purchased (4) of the 8x8 RGB LED Matrix Display Modules from Parallax and connected 1 up and with the Parallax example spin code:
I see the display cycle in green colored letters the alphabet and assorted symbols. Then it just repeats itself and I don't see anything happening with the RGB.DisplayCustomerBMP2(0,0) ' Display the built-in BMP picture. line of code.
I then thought it was because it needed to have more modules connected. I connected and 2nd and 3rd and finally a 4th in a 16x16 array and all I see it a duplicate copy on each display of the alphabet and assorted symbols cycling on each module.
I then changed the RGB.ASCII_0508 to RGB.ASCII_0816 and it did not carry the letters over 4 of the modules just 1/2 larger characters on each module.
How does the display know I have more modules connected?
Why have pin 1 as RX if the display only uses VCC, GND and SIO (ie Tx)?
Can someone explain what I am not seeing here?
Thanks,
Tim
File: RGB_LED_Matrix_Simple_Test.spin }} con _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 _pinTx = 0 ' Connected to pin 0 _pinRx = 1 OBJ { RGB LED Matirx Library} RGB : "RGB_LED_Matrix_Driver_Simple3.spin" pub main | index RGB.Start(_pinRx,_pinTx, 19200) waitcnt(clkfreq*2 + cnt) ' Insert a pause to wait for the RGB Module ready RGB.ClearScreen($000000) Index := 0 repeat RGB.ClearScreen($000000) repeat index from "A" to "z" ' Display character on the module with Device ID 0 RGB.ASCII_0508(index,0,0, $00_FF_00, $00_00_00) RGB.UpdateScreen waitcnt(clkfreq/5 + cnt) RGB.ClearScreen($00) RGB.DisplayCustomerBMP2(0,0) ' Display the built-in BMP picture. RGB.UpdateScreen waitcnt(clkfreq*2 + cnt)
I see the display cycle in green colored letters the alphabet and assorted symbols. Then it just repeats itself and I don't see anything happening with the RGB.DisplayCustomerBMP2(0,0) ' Display the built-in BMP picture. line of code.
I then thought it was because it needed to have more modules connected. I connected and 2nd and 3rd and finally a 4th in a 16x16 array and all I see it a duplicate copy on each display of the alphabet and assorted symbols cycling on each module.
I then changed the RGB.ASCII_0508 to RGB.ASCII_0816 and it did not carry the letters over 4 of the modules just 1/2 larger characters on each module.
How does the display know I have more modules connected?
Why have pin 1 as RX if the display only uses VCC, GND and SIO (ie Tx)?
Can someone explain what I am not seeing here?
Thanks,
Tim
Comments
Download the Product guide for the display
http://www.parallax.com/Portals/0/Downloads/docs/prod/displays/32324-8x8-RGB-LED-Matrix-Display-v1.pdf
In the "Connecting Multiple Units" section, you will find the following:
"Notes:
1) Before connecting multiple units together in a row or grid to make a larger screen, each
one must be assigned its own Device ID, and all modules must be assigned the same
PSS value. See Device ID and PSS on page 6 for more information."
You will find the "ChangeDeviceID.spin" file in the attached zip file that you can use to change/update each module's DeviceID.
ST-00050-Spin-demo-V1.0.zip
For a 2 module by 2 module display (16 leds x 16 leds)...
I need to use the Prop Plug and write his ChangeDeviceID code for each EEPROM on each module (changing the DeviceID = 0 for module 0, DeviceID = 1 for module 1, DeviceID = 2 for module 2, DeviceID = 3 for module 3 as Francis stated.
However, since my RealScreenSize is 16 leds x 16 leds then the PseudoScreenSize (for each PropPlug programmed module) will not be set at 15 but at 1 instead so that RealScreenSize: (PseudoScreenSize + 1)*8 = (1+1)*8 = 16
Can someone confirm this?
Thanks.
You don't have to use the Prop Plug to change the device ID & PSS for each module.
Please find the detail information of how to set the Device ID and PSS without Prop Plug, and run the demo code here:
http://forums.parallax.com/showthread.php?143864-Demo-code-for-8x8-RGB-LED-Matrix-Module
I suggest you set the IDs to '0', '1', '16', '17', and set the PSS to '15', The screen will be set to 128*128 pixels.
Because the module will refuse to display the BMP if the size of BMP is larger than the screen setting.
If you set the IDs to '0', 1', '2', '3', and set the PSS to '1' to get a 16*16 pixels screen, the module will not display the built-in BMP pictures(The built-in BMP pictures are 24*24 pixels).
The RGB LED Matrix driver uses the and call the fullduplexserial.spin object in a common way, so the "Rx" pin was put into the source code to let the user know the pin is being used.
If you have a Prop Plug, you can use the PC software which can be found in this thread:
http://forums.parallax.com/showthread.php?144520-PC-Beta-software-for-8x8-RGB-LED-Matrix-Display-Module&highlight=led+matrix
It would make it easy for you to change the device ID and PSS, restore the firmware...
Note: Make sure your Prop Plug works well and plugged into the PC before your start the the PC software. This version(0.2 Beta) of software can only scan the serial port list on start up.
Cool video too!
I will try this out tonight. Thanks again for the links!
Tim
Tim