Hi, I'm a newbie of Arduino. I purchased a green 0832 3mm Dot Matrix panel from Sure Electronics with a HT1632C chip on it. I would like to use it to make a matrix CLOCK. Unfortunately, I cannot light it up. =(
I have already search from either this forum or internet and have tried many times but failed. Please help me!!! ![]()
Well, you just weren't looking in the right place 8)
Try this link to the Arduino Playground
http://www.arduino.cc/playground/Main/HT1632C
Thanks for help. ![]()
But the link is refer to a 3216 dot matrix with HT1632C, not a 3208.
I understand that some parameter is needed to amend for 3208 usage in the programs: trunetclock.pde as well as ht1632c.h. Kindly, if you or other master can told me how to do. Thanks from heart. ![]()
Ok, looking thru the code, it would appear you need to change these sections in trunetclock.cpp.
Didn't appear to me that the other needs changing.
You are running from a Mega2560 also?
// Dual 3216 LED Matrix <<<< single 3208
// If you have only one set these to:
// X_MAX=31 <<<< stays 0-31
// Y_MAX=15 <<<< reduce for 0-7 vs 0-15
// CHIP_MAX=4 <<<< 1
#define X_MAX 63 // 0 based X <<<< 31
#define Y_MAX 15 // 0 based Y <<<< 7
#define CHIP_MAX 4*2 // Number of HT1632C Chips <<<< 1
// 4 each board * 2 boards
//**************************************************************************************************
//Function Name: ht1632_initialize
//Function Feature: initialize the display
//Input Argument: void
//Output Argument: void
//**************************************************************************************************
static void ht1632_initialize()
{
pinMode(ht1632_cs, OUTPUT);
digitalWrite(ht1632_cs, HIGH);
pinMode(ht1632_wrclk, OUTPUT);
pinMode(ht1632_data, OUTPUT);
pinMode(ht1632_clk, OUTPUT);
for (int i=1; i<=CHIP_MAX; i++) {
ht1632_sendcmd(i, HT1632_CMD_SYSDIS); // Disable system
ht1632_sendcmd(i, HT1632_CMD_COMS00); // 16*32, PMOS drivers
ht1632_sendcmd(i, HT1632_CMD_MSTMD); // MASTER MODE
ht1632_sendcmd(i, HT1632_CMD_SYSON); // System on
ht1632_sendcmd(i, HT1632_CMD_LEDON); // LEDs on
}
ht1632_clear(); // Clear the display
}
]
Thanks again.
I am using Duemilanove with 168A. Refer to SURE 0832 dot matrix user manual, there is no CLK pin. How can I connect this to my arduino?
3216 Description Mega256 0832 Duemilanove
1 CS 50 1 10
5 WR 51 5 11
7 DATA 53 7 12
2 CLK 52 ? ?
Also, which part should I modify in the following code which you quoted?
//**************************************************************************************************
//Function Name: ht1632_initialize
//Function Feature: initialize the display
//Input Argument: void
//Output Argument: void
//**************************************************************************************************
static void ht1632_initialize()
{
pinMode(ht1632_cs, OUTPUT);
digitalWrite(ht1632_cs, HIGH);
pinMode(ht1632_wrclk, OUTPUT);
pinMode(ht1632_data, OUTPUT);
pinMode(ht1632_clk, OUTPUT);
for (int i=1; i<=CHIP_MAX; i++) {
ht1632_sendcmd(i, HT1632_CMD_SYSDIS); // Disable system
ht1632_sendcmd(i, HT1632_CMD_COMS00); // 16*32, PMOS drivers
ht1632_sendcmd(i, HT1632_CMD_MSTMD); // MASTER MODE
ht1632_sendcmd(i, HT1632_CMD_SYSON); // System on
ht1632_sendcmd(i, HT1632_CMD_LEDON); // LEDs on
}
ht1632_clear(); // Clear the display
}
]
Thanks ![]()
Check out this tutorial:
It's a clock and it uses the 0832 display. Wiring is shown in the photos (and description). Software is also provided.
"Refer to SURE 0832 dot matrix user manual, there is no CLK pin. How can I connect this to my arduino?"
I'm not a mind reader, a link to that manual would be good.
florinc,
Looks like you have DS1307 & an external EEPROM also.
eddieonrobo,
Are you aware of the extra hardware needed for (more) accurate time and probably memory for character fonts?
'168 might be undersized.
Refer to connection diagram of the link below, Mega256 pin 52 is connected directly to 3216 IDC socket pin 2 (refer to 3216 manual, it is a CLK pin)
http://www.arduino.cc/playground/Main/HT1632C
But in the manual of 0832. On p.5, there is no CLK pin on 0832 IDC socket. How can I connect it with arduino? ![]()
http://www.sure-electronics.net/download/DE-DP13112_Ver1.0_EN.pdf
Furthermore, there is no error code shown when I compile the program in arduino IDE with 168A connection. Therefore, the memory size can be ignored.
Sorry for my poor English. Welcome to correct my mistake on both English and arduino concept.
![]()
The data sheet says for WR, Pin 5:
"Write CLOCK input with pull high resistor. Data on the DATA lines are latched into the HT1632C on the rising edge of the WR signal."
This is shown in paragraph 2.4 as well.
Refer to the snapshot as below of the manual of 3216 and 3208 dot matrix, you can see that it is a totally difference story. I wonder the code on the Arduino playground about HT1632C is suitable for 3208 dot matrix panel or not?
Hi CrossRoad, would you mind to tell where do you fond the above statement? paragragh 2.4
Refer to video link of the writer, another location of a Trunet Clock by using 3216 dot matrix panel is stated below:
http://www.wsartori.com/blog/2010/12/21/arduino-project-trunet-clock/
"The main problem in this project is that there isn't ANY code available. All the code was for the old led matrix displays that uses HT1632(not the C model). So we have to port all the codes available for the old one. Also a new pin is necessary(the CLK) to select the chip you want to use."
Writer have not express how to connect the panel with Arduino. What is your idea?
eddieonrobot,
Your display does not have a CLK pin (as the 3216 display has), so the code for 3216 does not apply to your case.
For your 3208 display try using the test code I uploaded here:
http://code.google.com/p/wiseclock2/downloads/detail?name=Test_3208.pde&can=2&q=
The connections from Arduino to the display are as follows (as defined in the code):
#define HT1632_DATA 6 // Data pin (pin 7 of the display)
#define HT1632_WRCLK 7 // Write clock pin (pin 5 of the display)
#define HT1632_CS 8 // CS2 (pin 1 of the display)
Make sure the CS2 switch is ON (and the rest are OFF).
"Hi CrossRoad, would you mind to tell where do you fond the above statement? paragragh 2.4 "
It is from the 3208 manual that you posted the link for.
Try florinc's code, it even agrees with the 3208 document that Write clock is Pin 5 as I posted earlier.
I also download the lib "ht1632.h" and "font3.h". The connection is the same as you quote and the sw 2 (CS2) set to on. Even I comment the line in"Test_3208.pde" as below:
// comment out this line for the 8x32 display;
//#define 16x24
But the 3208 panel is still not work.
3208Panel Decription Arduino
1 CS 8
5 WR 7
7 DATA 6
15 Gnd Gnd
16 +5V +5V
Now I doubt that this panel is out of order. =(
Moreover, I appreciate for the help form florinc and CrossRoads. ![]()

