Pages: [1] 2   Go Down
Author Topic: Mix and match HT1632C based LED Boards  (Read 2202 times)
0 Members and 1 Guest are viewing this topic.
New York
Offline Offline
Sr. Member
****
Karma: 4
Posts: 366
xronosclock.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I plan to build 64x24 LED matrix infoboard out of Sure's 32x16 and 32x8 boards.
I know I can connect two 32x16 boards together, and even 4 with extra power, but what about connecting two more 8x16 boards to already serially connected 32x16?  Anyone knows if it's possible? smiley
They all driven by HT1632C chip
Logged

Xronos Clock - A talking arduino based alarm clock is now available. Check out xronosclock.com for pictures, source code, schematics, and purchasing info smiley

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You can connect as many modules as you have pins left. The desired module is selected by a CS line, without that line activated the chip won't react on anything on the data line.
Your problem may be that the Sure modules have only 4 CS lines on their inter-module connectors. If you feed in the signals once again after 4 modules (for the next 4 modules) you can use up to 16 modules (32x8) on one UNO. Don't expect one of the existing libraries to support the mixture of different types of modules though.
Logged

New York
Offline Offline
Sr. Member
****
Karma: 4
Posts: 366
xronosclock.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You can connect as many modules as you have pins left. The desired module is selected by a CS line, without that line activated the chip won't react on anything on the data line.
Your problem may be that the Sure modules have only 4 CS lines on their inter-module connectors. If you feed in the signals once again after 4 modules (for the next 4 modules) you can use up to 16 modules (32x8) on one UNO. Don't expect one of the existing libraries to support the mixture of different types of modules though.
Thanks! So for each CS line I need one connector from Arduino, right?
Logged

Xronos Clock - A talking arduino based alarm clock is now available. Check out xronosclock.com for pictures, source code, schematics, and purchasing info smiley

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
So for each CS line I need one connector from Arduino, right?

One pin of a connector but I guess you meant that. So: yes.

That solves the hardware side but as I already wrote, you still have some work to do on the software side.
Logged

New York
Offline Offline
Sr. Member
****
Karma: 4
Posts: 366
xronosclock.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
So for each CS line I need one connector from Arduino, right?

One pin of a connector but I guess you meant that. So: yes.

That solves the hardware side but as I already wrote, you still have some work to do on the software side.
Thanks!  Yeah I'll need to tweak library to get it working. I decided not to get that complex mix, but instead get four 24x16 single color panels. I've seen people already had it working (on Youtube) so I know it's doable. With 32x16 display there's only one CS pin needed, even if you are using 2 panels, but I just wasn't sure about 24x16 since in datasheet it has CS1-CS4
Logged

Xronos Clock - A talking arduino based alarm clock is now available. Check out xronosclock.com for pictures, source code, schematics, and purchasing info smiley

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have such a LED matrix display working with 4 modules 24x16. The CS1-CS4 are the CS lines for the HT1632Cs, on every module you select the appropriate CS line by using a DIP switch.

You'll find the library for up to four modules on my Arduino page: http://www.linotux.ch/arduino/
Logged

New York
Offline Offline
Sr. Member
****
Karma: 4
Posts: 366
xronosclock.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wow, thank you!
Logged

Xronos Clock - A talking arduino based alarm clock is now available. Check out xronosclock.com for pictures, source code, schematics, and purchasing info smiley

New York
Offline Offline
Sr. Member
****
Karma: 4
Posts: 366
xronosclock.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I have such a LED matrix display working with 4 modules 24x16. The CS1-CS4 are the CS lines for the HT1632Cs, on every module you select the appropriate CS line by using a DIP switch.

You'll find the library for up to four modules on my Arduino page: http://www.linotux.ch/arduino/

Do you have any kind of instructions how to use your library? smiley i.e. where do I define my pins form Arduino Uno for example.
What does this line mean?
Code:
de_dp11xxx dotmatrix = de_dp11xxx(PORTD, 7, 6, 2, 3, 4, 5,   4);
I tried changing it to my ports but program won't compile then...
Right now as a test I have Uno connected to single board like this:
Arduino -> DP-DP11111
D9 -> CS1
D10 -> WR
D11 -> DATA

and then ground and power...  It kind of works with HT1632.h library, but I really wanted to get yours working smiley
Logged

Xronos Clock - A talking arduino based alarm clock is now available. Check out xronosclock.com for pictures, source code, schematics, and purchasing info smiley

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The constructor is called with this scheme:

Code:
de_dp11xxx(port, data, wr, cs1, cs2, cs3, cs4, num);

where port is a GPIO port of the ATmega processor, PORTB in your case. "data" is the bit number (of the chosen port) where the data line is connected (3 in your case), "wr" is the bit number of the wr line (2 in your case) and the csX are the respective chip select bit numbers (so for you it's 1, 0, 0, 0). "num" is the number of chips your driving (1 in your case).

This means you have to instantiate the class like this:

Code:
de_dp11xxx(PORTB, 3, 2, 1, 0, 0, 0, 1);
Logged

New York
Offline Offline
Sr. Member
****
Karma: 4
Posts: 366
xronosclock.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The constructor is called with this scheme:

Code:
de_dp11xxx(port, data, wr, cs1, cs2, cs3, cs4, num);

where port is a GPIO port of the ATmega processor, PORTB in your case. "data" is the bit number (of the chosen port) where the data line is connected (3 in your case), "wr" is the bit number of the wr line (2 in your case) and the csX are the respective chip select bit numbers (so for you it's 1, 0, 0, 0). "num" is the number of chips your driving (1 in your case).

This means you have to instantiate the class like this:

Code:
de_dp11xxx(PORTB, 3, 2, 1, 0, 0, 0, 1);

OK that makes sense. Thanks again! smiley

Is you code Open Source? i.e. can I modify and use it for my project? smiley
Logged

Xronos Clock - A talking arduino based alarm clock is now available. Check out xronosclock.com for pictures, source code, schematics, and purchasing info smiley

Switzerland
Offline Offline
Faraday Member
**
Karma: 108
Posts: 5144
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Is you code Open Source? i.e. can I modify and use it for my project?

Sure, that's why it is on my Arduino page smiley.
A big part of it is from the original ht1632 library, I just made the necessary changes to let it work with the single colored variants.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 32
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Can't seem to get mine to work. I am using a Sure 24x16 de-dp 11111. What Arduino IDE are you compiling it with?
Also can you help with pins used
I use
Data pin 2
Write pin 3
Cs pin 4
in code it looks like this

de_dp11xxx(PORTD, 2, 3, 4, 0, 0, 0, 1);
But only a few lights blink then nothing it goes blank.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 32
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

I never got mine to work. Using an Arduino 328, IDE 1.05 Sure de_dp11111 24x16 3mm Green leds

dp11xxx ledMatrix = de_dp11xxx(PORTD, 2, 3, 4, 0, 0, 0, 1);

Data pin 2
wr pin 3
cs1 pin 4

I get some random lights all over to light up then a few blink then it does nothing.

Thank you,
Randy

Any help please.
Logged

New York
Offline Offline
Sr. Member
****
Karma: 4
Posts: 366
xronosclock.com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I'd suggest you try using plot function first.
BTW I have different code for driving 24x16 LED matrix display. I've modified it to run on 4 dp11111 displays (it can split screen real-estate between top 2 and bottom 2 displays.  I use it in my Xronos Mega Clock prototype, but it works on ATMega1284p. Take a look, maybe you'll find it useful. It should work with one display, just play with settings in LED_2416.h file.

* HTC2416_test.zip (16.65 KB - downloaded 20 times.)
Logged

Xronos Clock - A talking arduino based alarm clock is now available. Check out xronosclock.com for pictures, source code, schematics, and purchasing info smiley

0
Offline Offline
Newbie
*
Karma: 0
Posts: 32
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks so much. I will have a look at it tonight after work.
Logged

Pages: [1] 2   Go Up
Jump to: