Overclockers Australia Forums
OCAU News - Wiki - QuickLinks - Pix - Sponsors  

Go Back   Overclockers Australia Forums > Specific Hardware Topics > Electronics & Electrics

Notices


Sign up for a free OCAU account and this ad will go away!
Search our forums with Google:
Reply
 
Thread Tools
Old 23rd August 2011, 1:22 AM   #16
klightspeed
Member
 
klightspeed's Avatar
 
Join Date: Mar 2003
Location: Blowin' Bowen
Posts: 686
Default

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
klightspeed is offline   Reply With Quote

Join OCAU to remove this ad!
Old 23rd August 2011, 8:13 AM   #17
CirCit Thread Starter
Member
 
Join Date: Apr 2002
Posts: 85
Default

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
CirCit is offline   Reply With Quote
Old 23rd August 2011, 10:57 AM   #18
klightspeed
Member
 
klightspeed's Avatar
 
Join Date: Mar 2003
Location: Blowin' Bowen
Posts: 686
Default

Quote:
Originally Posted by CirCit View Post
im not sure I can use the analog pins so I think 8+7 is 1 pin over budget
The analog pins of the Arduino are on PC0..PC5, RxD,TxD are on PD0,PD1, the crystal is on PB6,PB7, and the in-circuit programming header is on PB3..PB5. If you don't use the ADC, you can use Port C as digital pins. Even if you do use the ADC, any pins you don't use as analog inputs are available as digital I/O. I think the programming header would just be for rescuing the arduino if the bootloader becomes corrupted, so you'd have a budget of 6 pins on each port, or 18 pins in total.

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
klightspeed is offline   Reply With Quote
Reply

Bookmarks

Tags
arduino

Sign up for a free OCAU account and this ad will go away!

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +10. The time now is 7:20 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd. -
OCAU is not responsible for the content of individual messages posted by others.
Other content copyright Overclockers Australia.
OCAU is hosted by Internode!