Sunnyvale, CA
Offline
Full Member
Karma: 0
Posts: 140
|
 |
« Reply #120 on: July 11, 2011, 07:06:59 pm » |
lonewolf...PM me your address and I'll send you a second Green 3208 display if you want to work on it. I was reading the TODO and noticed 3208 support wasn't crossed off yet 
|
|
|
|
|
Logged
|
|
|
|
|
Sunnyvale, CA
Offline
Full Member
Karma: 0
Posts: 140
|
 |
« Reply #121 on: July 12, 2011, 03:27:52 pm » |
I've tried hooking up a 3208 display, but it doesn't seem to work yet. I changed the GEOM to 32x8, used a 5x7 font, but nothing shows on the display when i upload the code.
GEOM_32x8 is defined code is not ready yet: 3208 uses HT1632C but CS isn't managed thru a shift register... _chipselect() routine need to be adapted/rewritten (I think it's enough to )... moreover I need to understand if HT1632C initialization and memory addressing is the same for 32x16 displays (COMS00). arduino->display 2->7 3->5 4->6(READ Clock according to 3208 data sheet) 5->3(CS1, I flipped CS1 switch on board)
4->6 no, leave NC Moreover you could try this scratch code (it might work only for one 3208 since only one CS is managed) instead original _chipselect() defined in ht1632c.h: void _chipselect(register byte cs) { if (cs == HT1632_CS_ALL) { _cs_clr(); } else if (cs == HT1632_CS_NONE) { _cs_set(); } else { _cs_clr(); } }
...and another major change to be applied on ht1632.cpp: ht1632c::ht1632c(const byte geometry, const byte number) { if (geometry == GEOM_32x16) { bicolor = true; x_max = (32 * number) - 1; y_max = 15; cs_max = 4 * number; framesize = 32 * cs_max; } if (geometry == GEOM_32x8) { bicolor = true; x_max = (32 * number) - 1; y_max = 7; cs_max = 1 * number; framesize = 8 * cs_max; } framebuffer = (byte*) malloc(framesize); setfont(FONT_5x7W); x_cur = 0; y_cur = 0;
_data_out(); _wr_out(); _clk_out(); _cs_out(); setup(); }
Sorry, I haven't displays other then 3216 to try... That works, partially. But only 2 of the 4 LED matrix's show text. It's as if it starts half way through the display and moves left. I'd be happy to mail you one of my 3208's if you want to play with one to improve the code.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 23
|
 |
« Reply #122 on: August 06, 2011, 07:33:52 am » |
Hello dear friends. Now I have time to work with my arduino.
I made cable with IDC connector, to connect LED display directly to sensor shield. All works on arduino mega2560 with sensor shield from dfrobot. power supply MW 5v 4A I connected to pins 30.31.32.33 (PORTC, 7,6,5,4)
There is a small mistake in Example "circles.pde" must be dotmatrix.clear();, but there is LedMatrix.clear() - so IDE found this error. This function clear() bad working on my configuration with 1 display. If I write ledMatrix = ht1632c(PORTC, 7, 6, 4, 5, GEOM_32x16, 2); - it works, but if I write ledMatrix = ht1632c(PORTC, 7, 6, 4, 5, GEOM_32x16, 1); - something terrible happens. Random red dots on all display or more, etc.
Great work with library!!! Big thanks!
|
|
|
|
« Last Edit: August 06, 2011, 08:55:47 am by nimbus2k »
|
Logged
|
|
|
|
|
Birmingham, AL
Offline
Jr. Member
Karma: 2
Posts: 61
Arduino, disobey me.
|
 |
« Reply #123 on: August 11, 2011, 01:04:35 pm » |
I ran into the same problem using the ht1632c library with one display: the clear() function didn't clear the display if I told it I had one display. If I told it I had 2 displays, the clear() worked, but it tried to write to the second non-existing display and didn't scale correctly (since Xmax was too large). I made this change to ht1632c.cpp at line 193: // memset(framebuffer, 0, framesize); memset(framebuffer, 0, framesize*2);
I don't know if this will break the library for multiple displays, but it seems to work for one display, in my limited testing. -transfinite
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 11
|
 |
« Reply #124 on: October 26, 2011, 08:20:13 am » |
Hello. Does anyone know if it is possible to machine the ends off of the 3216 RG 3mm LED Displays? So that they are flush against one another when stacked vertically. Thanks 
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 6
Posts: 1398
Arduino rocks
|
 |
« Reply #125 on: October 28, 2011, 09:36:02 am » |
It seems, after a visual check, that you can cut off the top part of the board (I don't see any trace). The bottom part has a few traces, which may be replaced by wires in case it's cut off. If you try it, please publish your results.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 11
|
 |
« Reply #126 on: October 28, 2011, 09:50:42 pm » |
Yes, I machined off the tops and bottoms of four 3216's. Without fixing any lines the two that had the bottoms cut off are missing 8 led's each and it wont allow for more than 3 boards in series, but everything except that works I will try to fix the cut leads and will post results here 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 23
|
 |
« Reply #127 on: November 02, 2011, 03:58:54 am » |
Hello. Do you have any news about library? Do you still work on it? I have 2 displays, and I want to make 32x32 configuration. Does library support 32x32 conf.?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 8
|
 |
« Reply #128 on: November 28, 2011, 04:21:59 pm » |
Hi,
Sorry to be a complete newbee but do I need an external power supply for my 3216RG? I've read in this thread that I don't need one but if I wire pin 11 to GND and pin 12 to +5v on the Arduino then the Arduino's power LED almost goes out and I can't communicate with it, do I need to connect up the seperate 5v and GND connector on the 3216RG? Any help would be great.
Thanks,
Joe
EDIT: I am using an Arduino Duemilanove
|
|
|
|
« Last Edit: November 28, 2011, 05:13:23 pm by JoeShearn »
|
Logged
|
|
|
|
|
São Paulo/SP/Brazil
Offline
Sr. Member
Karma: 2
Posts: 293
Brazilian Arduino Team
|
 |
« Reply #129 on: November 28, 2011, 06:12:09 pm » |
yes, you need a separate power supply or you'll burn your arduino regulator if you turn on all leds(green and red) and put brightness on maximum level.
note that you need a common ground(plug GND from arduino on your 3216 led matrix gnd pin).
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 8
|
 |
« Reply #130 on: November 30, 2011, 04:15:23 am » |
Ah, thank you. I think that I may have it wired up wrong since the Arduino power LED goes really dim as if I were drawing too much current but this happens without turning any of the LEDs on the matrix on. Just to clarify; on the 3216RG there is a ribbon connector within this connector there are 3 GNDs and 3 +5v pins. There is also a separate GND and +5v terminal on the 3216RG. Do I need to power this separate connector too?
Thanks,
Joe
|
|
|
|
|
Logged
|
|
|
|
|
São Paulo/SP/Brazil
Offline
Sr. Member
Karma: 2
Posts: 293
Brazilian Arduino Team
|
 |
« Reply #131 on: November 30, 2011, 10:36:26 am » |
There's no need to power both pins. Only the separate GND/+5V is OK. Please, pay attention if you're using a not regulated wall wart as it can give you much more than 5V.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Newbie
Karma: 0
Posts: 7
Arduino rocks
|
 |
« Reply #132 on: December 01, 2011, 08:22:17 am » |
Hi, I also have 4 of the P7.62 3216 displays and I want to use them in this configuration [1][2] [3][4] how could I achieve this? I've tried Tim Gilmores HT1632_8 files in an [1][2][3][4] configuration and I ran in the same problem as he described here: http://arduino.cc/forum/index.php/topic,50326.msg362206.html#msg362206an alternative config could be [1][2][3][4] where each display in 90° rotated. the resulting display should be 64x32 any help or pointers in the right direction would be very much appreciated! g. mezelve
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 23
|
 |
« Reply #133 on: December 02, 2011, 10:37:33 am » |
what code should I use in order to print a value store in an "int"?
Try this: char convInt; int value1 = 0; value1 ++; itoa(value1, contInt, 10)
ht1632_putchar(0, 0, convInt, GREEN); I have problems with printing values:( I am using library DallasTemperature now. Examples with serial port and DS18B20 works fine, but how can I print value 25.40 on my display? Upper example doesn't work.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 6
Posts: 1398
Arduino rocks
|
 |
« Reply #134 on: December 02, 2011, 07:14:43 pm » |
Try something like this: char buffer[20] = {0}; sprintf(buffer, "Temp is %5.2fC ", temp);
|
|
|
|
|
Logged
|
|
|
|
|
|