gauravmm / ht1632-for-arduino Goto Github PK
View Code? Open in Web Editor NEWA powerful library that allows an Arduino to interface with the popular Holtek HT1632C LED driver.
License: MIT License
A powerful library that allows an Arduino to interface with the popular Holtek HT1632C LED driver.
License: MIT License
Is this library compatible with Adafruit's 16x24 LED Matrix? Their library is out of date and not very powerful.
I have two 32x16 led displays from Sure Elec.
I want to make square 32x32 display for my project (big home clock on arduino mega1280/2560).
Does your library supports this?
Great work! Best regards!!
Hi,
I tested the compilation of examples to display text, but there is an error with the old function: HT1632.drawTarget(BUFFER_BOARD(1))
The function no longer exists.
Should it be replaced by this one?
HT1632.renderTarget(0);
I don't have yet the display to check the correct operation
thanks,
hello gaurav sir,
i'm using library for HT1632C 32x08 LED display.But,my problem is the text string is scrolls vertically..
Could you please give me suggetions.
thank you,
Sankar
when am trying to upload the quick starting code to my 24*16...the (blinking heart ) is not in order
like this in the photo..
http://www.mediafire.com/?4aj4qijp2lu0feq
although i placed the lines
// Size of COM and OUT in bits:
// COM_SIZE MUST be either 8 or 16.
// Use N-MOS (if 1) or P-MOS (if 0):
inside the Ht1632.h
by
any clue?
I am fearly new to the Arduino projects, but trial and error brought a lot of fun.
My question is i have 6 matrices from the type HT1632c from adafruit.
I have 4 connected and working with a bit of looking around and a lot of reading.
I am trying now to get number 5 to work with the other 4, I have used both the ribbon connectors and the wiring from the Arduino to the connectors.
Is this possible?
Which file(s) need to be updated?
I have tried to adjust the HT1632.h and cpp file but no luck.
A little movie can be seen herefrom the 4 that are connected:
http://cjansen.net/Cor/Fix-Things/Arduino1.htm
and choose local time.
Hi Guarav,
Thank you for useful library. I have issue after add lower case font into library. I add a 'font_7x7.h' for bold font. For upper case there is no problem, but after I add lower case font in 'char FONT_7X7[]' array its have problem. Its started from 'p' font. If I remove(comment) fonts from 'p', there is no problem. It can display lower case 'a' to 'o'.
I already remove 'if(currchar >= 65 && currchar <= 90)' and changed 'if(currchar < 0 || currchar >= 64)' to 'if(currchar < 0 || currchar >= 92)' for enable lower case.
I modified it in 'HT1632Class::drawText' & 'HT1632Class::getTextWidth'
Is there any limitations in array size? Any help would be appreciated! Thanks
There is an issue when trying to display pictures with a hight <4 pixels.
I have not completely tested my solution but it seems to work with single pixel pictures:
In HT1632.cpp:
In void HT1632Class::drawImage(const char * img, char width, char height, char x, char y, int offset):
Line 239, I added
if (height<4) {
char tmp_mask=(0b00001111 << 4-height) & 0b00001111;
mask = (height-loc_y >= 4)?tmp_mask:(tmp_mask >> (4-(height+carryover_num-j))) & 0b00001111;
mem[_tgtBuffer][GET_ADDR_FROM_X_Y(loc_x,loc_y)] = (
mem[_tgtBuffer][GET_ADDR_FROM_X_Y(loc_x,loc_y)] & (~mask) ) | //& 0b00001111) | ###M: c'est mask qui pose problème !
((img[(int)ceil((float)height/4.0f)*i + j/4 + offset] << carryover_num) & mask) |
(carryover_y >> (4 - carryover_num) & mask) |
MASK_NEEDS_REWRITING;
} else
just before this:
if(!carryover_valid) {
if(loc_y > 0) {
mask = (height-loc_y >= 4)?0b00001111:(0b00001111 >> (4-(height-j))) & 0b00001111; // Mask bottom
This would give more visibility to your fantastic project
Thanks.
P.D: For more information, see https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ
Hello,
I'm trying to use your library to control a 24x16 matrix. I tried changing the lines:
in HT1632.h file, but i can't figure the correct values:
Hi there
do any one please help me in this issue, i've tried gauravmm's library and it's sketch_HT1632_sample_code to my 26*24 led matrix display..
but it shows the text as MIRROR inverted . "HELLO HOW ARE YOU? " is inverted !!!
my led matrix is a sure-electronics like display , as i built it to be like that of 24*16 sure electronics.
any clue about how to fix this problem??
please any answer is appreciated....i do need help.
Thanks in advance
That way one can (more easily) implement a soft-scrolling text.
Hello,
While Draw Image function works well but drawText() function is printing Inverted/flipped text
on the display.
I am using 24x16 single Module.
Any help ?
Greetings gauravmm
In your library, in file HT1632.h, there is no related module "24x16 Bicolor", which are marketed nowadays (at least on ebay), although you say that this can be changed in the line "//Size of COM and OUT in bits:" but I saw reports that it did not work, so would not it be correct to add a line like this to the file?
// SureElectronics 24x16 Bicolor LED Dot Matrix Unit Board
#define TYPE_2416_BICOLOR 1
Also, did you update your library, given some bug that caused multiple displays?
Thank you and congratulations for the hard but, excellent work,
Daniel Fernandes
Hi,
all text examples use the HT1632.drawTarget(BUFFER_BOARD(1)); but this does not exists.
Was it missed to be added?
Best regards
-Bio
Hi Gaurav,
This could be a mistake on my part, but when I tried to connect 2 displays,
I got some weird behavior: http://youtu.be/qz0MV_Dnq_Q
To get that, I changed OUT_SIZE to be 64; is that the expected way of doing it?
Not sure if this matters, but I'm using an Arduino Mega 2560.
Thanks,
-- flavio
Thanks very very much for your work, I've used your code a few years ago and it worked great. Was going to try a new project and ordered some new sure p4 32x08 ht1632 boards. The new ones only have 10 pins, no dip switches and only one cs pin. Would you have any idea where to look on wiring these in cascade? Documentation is only old version available.
Thanks again!
Hi,
recently I unearthed two Sure Electronics 2416 Red from 2010 and tested them with Bill Westfield's code (circa 2008 - "Random Walk" and other examples) and they both worked without a problem.
Unfortunately, they won't work with neither your library, nor the Adafruit HT1632 library. None of the examples work, nor any of the Adafruit ones. Tried with Arduino UNO, and an R3 Elegoo to make sure.
Has something changed since the 2008 code was written that would make them incompatible with your library?
What other information could I provide to find what the problem is?
As far as I know, I did the proper selection in the HT1632.h file and commented out the other boards. I used this one:
// SureElectronics 24x16 Monochrome LED Dot Matrix Unit Board
#define TYPE_2416_MONO 1
Thank you in advance.
Athanasios
I am using this library to interface with 2 of the Sure Electronics 24x16 displays. I made the necessary changes in the header file to set up the library to work with my display, and most of the time everything works fine. There is just an issue with drawing images of height less than 4.
I have found that if I try to draw an image with a height of less than 4, the image will not get drawn at certain y values.
I tested with a single pixel image...
char IMG_PIXEL[] = {0b0001};
When height is set to 1, it will only draw when y is 0, 4, 8, and 12.
When height is set to 2, it will only draw when y is 0, 1, 4, 5, 8, 9, 12, and 13.
When height is set to 3, it will only draw when y is 0, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, and 14.
When height is set to 4 or more, it will draw on any line.
Hi there,
I've been using your library for quite a while now and loving it. There's just one thing I'd change, using PROGMEM for the fonts. I'm still pretty green with C/arduino so I haven't been able to get it working myself.
It would be a pretty awesome addition it would enable us to use more then one font at the same time without cramming up the SRAM.
As of know I've started with enabling progmem like so in the font file:
const char FONT_7X5 PROGMEM [] = {...}
and tried defining the font I'm passing too the drawText function like so:
font = (char *) pgm_read_word(&FONT_8X6);
but that's obviously not working. As I understand right now I'm only passing a small part of the font in progmem instead of the entire array. So I should basically iterate over it for every "word" in the array but I'm pretty clueless on how I should integrate this in your library.
Any advice onto how to get it working would be good too!
Thanks,
Kevin
Hi there, great library!
I've tried running your code with the Sure 3208 and it works nicely, this board uses the HT1632C chip.
I've also got a few Sure 0832 boards which don't seem to work. These use the HT1632. Your code mentions working with the HT1632 in places, but doesn't seem to work out of the box.
Is this possible?
Hello,
i'm starting using a dot matrix display with your library but after a lot of investigation (i'm not a professionnal of arduino), i have found that in your HT1632.h the 0832 (HT1632 not C model) is not included but can work easily. The only difference is that even NMOS=0 in HT1632.h, the initialization sequence doesn't exist in HT1632.cpp. The code for this display is :
writeCommand(HT1632_CMD_COMS10);
Thanks.
Hello all,
First of all, I really appreciate that you have shared your ht1632c library. I find it very well written and structured. I am pretty new at Arduino however I have extensive background in programming.
Either my 08x32 Matrix led is broken or I am missing something silly but when I connect and download your basic example using just one led matrix nothing happens.
I would like to confirm with you that I have connected the pins correctly, I am using a proto-board.
HT1632C -> Arduino UNO
1 CS2 -> NC
2 CS3 -> NC
3 CS1 -> DO 12 SPI Protocol: (MISO��)
4 CS4 -> NC
5 WR -> DO 10 SPI Protocol: (SS Slave Select)
6 RD -> NC
7 Serial Data -> PWD 9
8 GND -> NC
9 OSC -> NC
10 SYNC -> NC
11-13-15 GND -> NC
12-14-16 5v -> NC
where NC means not connected.
Regarding power supply, I have connected the 5v and GND pins from Arduino to the J1 connector on the Led Matrix.
I really appreciate if you can give me some ideas on how is goind wrong.
Thanks a million!
Forgive me if I am making a simple mistake, I'm having been unable to get drawText and getTextWidth working correctly --- I've tried provided example code and demo sketch as well as my own. My programs compile fine but no matter what I try text does not seem to render on the display, and getTextWidth does not return a value as you'd expect.
drawImage and other elements work normally -- I can use your included images or create my own --- animation, movement are possible as is control over multiple displays.
I'm using Arduino 1.0, w/ default library settings, have tried with Mac and Linux, two separate 5mm Sure HT1632C 3208 modules, two different Arduinos (ATmega168-based).
Any help would be appreciated! Thanks
# include <font_5x4.h>
int pinCS1 = 9;
int pinWR = 10;
int pinDATA = 11;
void setup () {
HT1632.begin(pinCS1, pinWR, pinDATA);
// Where pinCS1, pinWR and pinDATA are the numbers of the output pins
// that are connected to the appropriate pins on the HT1632.
HT1632.drawTarget(BUFFER_BOARD(1)); // This line is unnecessary, this is the default draw target.
HT1632.drawText("Foo", 0, 1, FONT_5X4, FONT_5X4_WIDTH, FONT_5X4_HEIGHT, FONT_5X4_STEP_GLYPH);
HT1632.drawTarget(BUFFER_SECONDARY);
HT1632.drawText("Bar", 0, 1, FONT_5X4, FONT_5X4_WIDTH, FONT_5X4_HEIGHT, FONT_5X4_STEP_GLYPH);
HT1632.drawTarget(BUFFER_BOARD(1));
HT1632.render();
}
void loop() {
delay(500);
HT1632.transition(TRANSITION_BUFFER_SWAP);
HT1632.render();
}````
Hi there, how can I develop this library to use it for ESP8266?? when I change my board(in the Arduino IDE) from Arduino Leonardo to ESP8266 the sample codes couldn't be compiled and I got some errors
Guarav,
Hello. First let me thank you for your library. It is very useful. My question concerns your font file font_5x4.h. In the file, there are two places where you define character arrays. One is for char FONT_5X4 [], and the other is for char FONT_5X4_WIDTH [] . I would like to make a new font. I understand how to make the array FONT_5X4, but do not understand how to make FONT_5X4_WIDTH. Do I need to change this portion of the .h file to make a new font, or can I leave the font width section alone. Please let me know. I appreciate it. Thanks.
Cliff
Hello,
I can't get work the library. I've checked the connections and I think it's OK, because the sample at http://www.arduino.cc/playground/Main/HT1632C works for me. The panel is a P4 32x16 led panel ( http://www.sureelectronics.net/goods.php?id=1095 ). I've tried with USE_NMOS 0 and USE_NMOS 1.
What can I do next?
The clk pin should be connected? In the demo at playground a connection is required but the function begin is not specified.
Thanks in advance
Jordi
Hi awesome library worked first time on my sure 32 X 16 bi colour display
Started driving on and Arduino + ethernet board but swapped over to Wemos Arduino board without issue.
Sorry noob question trying to create a larger 16 high font to display scrolling time.
changed the font height on font_conv.html page to 16 selected load not sure what font step is left @ 10
Pasted the contents below prog_uchar FONT_NAME [] PROGMEM = { into
font_end_generate page and it returns this ? thought this might be asci but doesn't convert to text
int FONT_NAME_END [] = {
1, 4, 7, 12, 17, 22, 26, 27,
30, 33, 36, 41, 43, 46, 47, 51,
55, 58, 62, 66, 70, 74, 78, 82,
86, 90, 91, 93, 97, 101, 105, 109,
114, 118, 122, 126, 130, 134, 138, 142,
146, 149, 153, 157, 161, 166, 171, 175,
179, 184, 188, 192, 195, 199, 203, 208,
213, 218, 222, 224, 228, 230, 233, 237,
237
Any help or directions appreciated
Thanks for your works, you create great library.
Sorry about my vary bad English :-(
I have question, using yours library can I display value? Not declared text.
something like:
i=1
"display"(i)
Regards
Krzys59
Hi gauravmm
I am having problem with including the files.. I kept getting No such file or directory,
fatal error: HT1632.h: No such file or directory
fatal error: images.h: No such file or directory
It seems to me that i am the only one getting this error? =/
Please help me out
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.