![]() |
![]() OCAU News - Wiki - QuickLinks - Pix - Sponsors |
|
|||||||
| Notices |
|
Sign up for a free OCAU account and this ad will go away! Search our forums with Google: |
![]() |
|
|
Thread Tools |
|
|
#16 |
|
Member
Join Date: Mar 2003
Location: Blowin' Bowen
Posts: 686
|
The arduino pins should be able to sink enough current to drive the cathodes of the LED displays - you might want to use 1 port (8 pins) to drive the cathodes, with 1 resistor on each of those pins, and 7 pins of another port (4 enables + 3 disables) to drive transistors that drive the anodes, something like the following for the anodes:
![]() Be aware that the more you try to multiplex it, the dimmer the digits will be. Trying to use 4 sinks + 2 enables for the cathodes, and 3 sinks + 4 enables for the anodes will give each segment a maximum duty cycle of 1/24, which will result in a brightness of 1/24 full brightness, and 1/6 design brightness.
__________________
Me: Dell E5500 T7250 3072MB 500GB GM45 Win7x64+Gentoo64 | J&W 790GX A2-260 8192MB 2TB GF-GTX550Ti Win7x64+Gentoo64 Sis: Tos. Sat. M300 P8700 2048MB 320GB HD3470 Vista64 | J&W 790GX A2-260 8192MB 2TB GF-GTX550Ti Win7x64 Cert. 3 ICT 2008; USQ B.IT (NetSec/SysDev) 2017; Job is ICT support in 4800, 4804 and 4805 |
|
|
|
| Join OCAU to remove this ad! |
|
|
#17 |
|
Member
Join Date: Apr 2002
Posts: 85
|
im not sure I can use the analog pins so I think 8+7 is 1 pin over budget
http://www.arduino.cc/en/Reference/PortManipulation if I can use the analog pins then id make port D map straight to the segments and then use standard digital pin calls to the remaining 12 pins and I should need 0 transistors and 7 resistors (or 12 if its better the other side) the flow then would be set port d low set all other pins high (or reverse these 2 for com anode / cathode) set a digit pin low do 1 port command to write the whole segment in 1 go wait abit set port d low increment digit and loop
__________________
Mi Goreng Noodle Club |
|
|
|
|
|
#18 | |
|
Member
Join Date: Mar 2003
Location: Blowin' Bowen
Posts: 686
|
Quote:
You could combine 8 pins from two ports to control the cathodes, and combine 7 pins from two ports to control the anodes. e.g. PC0..PC5,PD6,PD7 for the cathodes, PB0..PB2 for /SELA../SELC, and PD2..PD5 for SEL1..SEL4 I'm not sure you can get away without using transistors for the anodes, as displaying "8." with a current of 20mA through each LED gives a total common-anode current of 160mA. This is well beyond the limits of the Arduino - each digital I/O pin is rated for an absolute maximum current of 40mA. Having the Arduino drive the anodes, and using the cathodes as segment selects would exceed the absolute maximum aggregate current handling capacity of the Arduino - this limit is 200mA, and 12 x 20mA = 240mA.
__________________
Me: Dell E5500 T7250 3072MB 500GB GM45 Win7x64+Gentoo64 | J&W 790GX A2-260 8192MB 2TB GF-GTX550Ti Win7x64+Gentoo64 Sis: Tos. Sat. M300 P8700 2048MB 320GB HD3470 Vista64 | J&W 790GX A2-260 8192MB 2TB GF-GTX550Ti Win7x64 Cert. 3 ICT 2008; USQ B.IT (NetSec/SysDev) 2017; Job is ICT support in 4800, 4804 and 4805 |
|
|
|
|
![]() |
| Bookmarks |
| Tags |
| arduino |
|
Sign up for a free OCAU account and this ad will go away! |
| Thread Tools | |
|
|