How you directly access serially chained devices, like LEDS, shift registers, etc?


Closed Thread
Results 1 to 20 of 20

Hybrid View

  1. #1
    Join Date
    Feb 2013
    Posts
    1,127


    Did you find this post helpful? Yes | No

    Default Re: How you directly access serially chained devices, like LEDS, shift registers, etc

    Actually, I'm not doing anything so far, just in future, I want to make a small RGB display, 192 X 12 pixels, using these LEDs. My experience with 64x8 LED displays, based on 4 x MAX7219 was not so good, because this "serial" method of needing to update everything at each time, required complete re-send of data to display, which was quite lagging, and won't allow to do some cool animation or smooth scrolling.

  2. #2
    Join Date
    May 2013
    Location
    australia
    Posts
    2,645


    Did you find this post helpful? Yes | No

    Default Re: How you directly access serially chained devices, like LEDS, shift registers, etc

    18F46K40 can run at least 4 of these 16x32 [512led] modules, possibly 6
    @25 fps(as a back ground task)


    two colour



    full 24bit rgb on esp8266
    Last edited by richard; - 22nd January 2022 at 10:11.
    Warning I'm not a teacher

  3. #3
    Join Date
    Feb 2013
    Posts
    1,127


    Did you find this post helpful? Yes | No

    Default Re: How you directly access serially chained devices, like LEDS, shift registers, etc

    It is not about what can run what, it is about efficiency.
    As another solution, I think, led decoders like HT16K33+discrete RGB LED or similar can be used.
    With APA102C, 1 shiftout statement updates color of 1 pixel (3 leds )
    In case of HT16K33, 3 shiftout statement will update color of 8 pixels (24 leds), so resulting speed will be 8/3=2.6 times higher.
    So I'm seeking for solution in that way.
    Of course, there are specialized RGB display modules and controllers, but their issue is, that they either have gigantic brightness, or their pixel distance is very sparse. And I want to make compact display for indoor use - discrete RGB leds are available in 0805 package, and APA102C/WS2812 are available in 1206 package.

  4. #4
    Join Date
    May 2013
    Location
    australia
    Posts
    2,645


    Did you find this post helpful? Yes | No

    Default Re: How you directly access serially chained devices, like LEDS, shift registers, etc

    With APA102C, 1 shiftout statement updates color of 1 pixel (3 leds )
    In case of HT16K33, 3 shiftout statement will update color of 8 pixels (24 leds), so resulting speed will be 8/3=2.6 times higher.
    apa102 16million colours, 32 level global power control
    HT16K33 8 colours no power control

    dmd panels come in p2.5 p3 etc to p10 the number is the pixel grid spacing in mm
    dmd panels are just shift registers multiplexed in 4 row pair strings there is no controller as such

    if you want the complexity of colour and power level control on a per pixel basis you need to store and transfer
    the info to represent it, there is no simple
    Warning I'm not a teacher

  5. #5
    Join Date
    Feb 2013
    Posts
    1,127


    Did you find this post helpful? Yes | No

    Default Re: How you directly access serially chained devices, like LEDS, shift registers, etc

    ht16k33 was just an example, note the "or similar" in my post - I don't exactly remember which holtek chip has individual brightness control, but there are some, they're installed in these commercial color rgb panels.

    Yes, 2.5mm spacing, that is huge in 2.5 x 2.5 mm area, where you will have 4 RGB pixels, with SMT leds, you can have 3x3 or even 4x4 RGB pixels.

  6. #6
    Join Date
    Oct 2005
    Location
    Sweden
    Posts
    3,612


    Did you find this post helpful? Yes | No

    Default Re: How you directly access serially chained devices, like LEDS, shift registers, etc

    Since the LEDs effectively ARE shift registers daisychained together there is no way to update a single LED, you doneed to refresh the complete string. But if you design a 192x12 display you could, for example have 12 separate strings of 192 leds so that you could update the display row by row - if that helps.

    You'll need a PIC with lots of RAM though, 192x12x3=6912 bytes to hold the display data.

    And, since you talk about efficiency, forget SHIFTOUT and start using the MSSP module or the SPI module on the newer PICs instead.

  7. #7
    Join Date
    May 2013
    Location
    australia
    Posts
    2,645


    Did you find this post helpful? Yes | No

    Default Re: How you directly access serially chained devices, like LEDS, shift registers, etc

    192x12x3=6912 bits == 864 bytes

    Warning I'm not a teacher

Similar Threads

  1. LCD's with Shift Registers, and LCDOUT
    By Darrel Taylor in forum PBP Extensions
    Replies: 11
    Last Post: - 3rd April 2015, 14:34
  2. Smart Star (how to use shift registers)
    By mackrackit in forum Code Examples
    Replies: 3
    Last Post: - 30th November 2008, 20:06
  3. Use the PIC 16f877 or 877A instead of shift registers.
    By tsanders in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 27th October 2006, 17:23
  4. Shift Registers
    By shahidali55 in forum General
    Replies: 2
    Last Post: - 7th September 2006, 20:07
  5. Shift Registers For LCD Display
    By jetpr in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 7th July 2006, 15:03

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts