element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum Controlling multiple RGB LEDs
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 7 replies
  • Answers 1 answer
  • Subscribers 403 subscribers
  • Views 920 views
  • Users 0 members are here
  • led_design
  • led
  • rgb
  • arduino_code
  • rgb_led
  • arduino
Related

Controlling multiple RGB LEDs

Former Member
Former Member over 12 years ago

I'm working on a project that requires quite a few RGB LEDs. I would like to have two 5x6 grids (total of 30 LEDs per grid).

I need to acces each LED individually. Is there a special IC or a certain software trick I could use to that would help me with this project?
Thanks

  • Sign in to reply
  • Cancel

Top Replies

  • dmaruska
    dmaruska over 12 years ago +1 suggested
    I have not used this with the Arduion, but have used it in may other projects. But the MAX7300 (I2C) or the MAX7301 (SPI), coupled with some ULN2003 if needed and drive 28 more I/O ports. It's called a…
  • dmaruska
    0 dmaruska over 12 years ago

    I have not used this with the Arduion, but have used it in may other projects.  But the MAX7300 (I2C) or the MAX7301 (SPI), coupled with some ULN2003 if needed and drive 28 more I/O ports.  It's called a Bus Expander, It can be configured as an input or output.  NXT also has some port expander IC's that can do the came thing.

     

    Regards,

     

    Dave M.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • Former Member
    0 Former Member over 12 years ago

    You can use a MAX7219CNG serial LED driver, it will interface with an Arduino using only 3 I/O pins and only requires 1 resistor to set the LED brightness, it can directly control up to 64 LEDs.
    They are available at most of the elecrionics suppliers but you can get them cheap on ebay.

     

    Peter W.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 12 years ago in reply to Former Member

    Would such logic also be applicable for LED moving message signs? I have always wanted to make my own!!!

    Regards

    Andy

    PS. I am not trying to takeover the blog, just possibly add wider interest.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 12 years ago in reply to Former Member

    If you daisy chain the Dout from one driver to the Din of another driver you can drive as many LEDs as you want using only 3 I/O pins on the Arduino.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • billabott
    0 billabott over 12 years ago

    2 x 5 x 6 x 3

     

    2 x 5 x 18

     

    multiplex them  ::

     

    2 x (5 + 18)

     

    2 x 23  ,   with a bit of double fancy multiplexing, that last bit could select between Array1 and Array2 using complementary transistors: NPN and PNP

     

    1 x (24-bit  I2C I/O EXPANDER)

     

    1 x TCA6424A     < $3.00 at some suppliers.

     

    Although, I think it is possible to regroup them so you still only need ONE IC.

     

    2 x 6 x (5 x3)  =>  2 x 6 x 15  =>  2 x (6 + 15)  =>  2  x 21  =>  2 + 21  =  23 pins

     

       For the blinking to be unperceived, F > 40 Hz or 25ms.   Therefore, each individual 'row' must be turned on for a maximum of 25ms/12 = 2.08ms which just happens to be a great deal larger than my rough estimate of the I2C maximum refresh rate for that chip of 123us with its 400kHz bus.    POV is easily achieved.  Note: I would be doubtful if you were attempting 4 Arrays of that size with RGB LEDs on a single I2C bus.

     

    only 5x3 LEDs (a single rgb row) will be on at a time!  and reduces the size of your power supply requirement to about 500 mA !

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 12 years ago in reply to billabott

    You are right 30 RGB LEDs would be 30 x 3= 90 LEDs, so you would need two MAX7219EWGMAX7219EWG driver chips to handle them. If TCA6424ARGJRTCA6424ARGJR chips were used you would need a separate resistor inline with each LED to limit the current, using a chip designed to drive multiple LEDs like the MAX7219EWGMAX7219EWG only requires one resistor per driver IC to set LED brightness.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • billabott
    0 billabott over 12 years ago in reply to Former Member

    Was it established CA or CC?    2 arrays of 30 is only 60 LEDs; 60 x 3 (r/g/b) = 180.  Ok, yes,  I guess a dollars worth of resistors would be required.  People expect to see them on the board and they look cool.  image  If you want to hide them use SMDs.

     

    I am pretty sure only one resistor per expander I/O pin is needed; so that is 24 resistors.  Please also note that if the R, G, and B need different currents for equal lumens then it is a simple matter to change the value of the resistor for that color in each 'column'  on the associated expander i/o pin.  That is an important issue as you can see from this data sheet for these RGB LEDs.

     

    Each column is wire OR'd together.  Each row's Common Anode/Collector is wire Or'd and contolled by base of transistor to Vcc/Vdd as required.

     

    rgb rgb rgb rgb rgb        rgb rgb rgb rgb rgb

    rgb rgb rgb rgb rgb        rgb rgb rgb rgb rgb

    rgb rgb rgb rgb rgb        rgb rgb rgb rgb rgb

    rgb rgb rgb rgb rgb        rgb rgb rgb rgb rgb

    rgb rgb rgb rgb rgb        rgb rgb rgb rgb rgb

    rgb rgb rgb rgb rgb        rgb rgb rgb rgb rgb



    Hey, I am new to this.  I have not built one of these, but plan to this year.

    If I have missed something or made a mistake.  I do not mind hearing about it.



    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube