Shop OBEX P1 Docs P2 Docs Learn Events
8x8 RGB LED Matrix Display Module - Propeller SPIN example code doesn't display BMP? — Parallax Forums

8x8 RGB LED Matrix Display Module - Propeller SPIN example code doesn't display BMP?

tdg8934tdg8934 Posts: 126
edited 2012-12-19 04:23 in Propeller 1
I purchased (4) of the 8x8 RGB LED Matrix Display Modules from Parallax and connected 1 up and with the Parallax example spin code:
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

  • Francis BauerFrancis Bauer Posts: 366
    edited 2012-12-15 22:29
    You need to change the DeviceID for each additional module when connecting multiple units.

    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
  • tdg8934tdg8934 Posts: 126
    edited 2012-12-17 10:03
    OK. After reading through this more, I think I understand what I need to do.

    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.
  • edited 2012-12-18 06:04
    Hi Tim,

    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.
  • tdg8934tdg8934 Posts: 126
    edited 2012-12-18 06:31
    Wow. What service!

    Cool video too!

    I will try this out tonight. Thanks again for the links!

    Tim
  • tdg8934tdg8934 Posts: 126
    edited 2012-12-19 04:23
    I finally got this to work after a couple of attempts. The demo plays over my larger 16x16 led display (4 modules). This information would have been handy to have been in the documentation other than only on the forum for new users. Overall I'm pretty happy and want to thank Francis and JohnZhong for there help.

    Tim
Sign In or Register to comment.