i just realised that i never updated the post here. sorry my badhave been busy doin everything else for people. part time programmer
anyways will post my schematics soon for everyone to check out.
i just realised that i never updated the post here. sorry my badhave been busy doin everything else for people. part time programmer
anyways will post my schematics soon for everyone to check out.
-·=»‡«=·- saturnX -·=»‡«=·-
there are leds that have the current limiting resistor built into the led
"hp invented them" they are nice and come in 5 and 12 vlt versions
flashing leds are nice too and reduce the need for computing power
a 2 terminal bi color led can be wired between 2 outputs "you will still need a resistor "off , red , green . you can connect an led between an output and vcc/vdd so it will light when the port is low
"sometimes it dosent work with ttl because the output dosent go high enough shut off the led cmos swings all the way up
and the piv of most leds will withstand 5 vlts
an led cant withstand much reverse voltage
One thing to watch out for: if your LEDs have different Forward Voltages (Vf) then some of your LEDs might not turn on, since the LED with the lowest Vf will get all the current. I made up a batch of PCBs with two LEDs (one red, one green) that shared a resistor.... they can't both be on at the same time since they have different Vfs.
Does that make sense?
Hi all
Maybe a look at www.linear.com would be of use. They have some nice IC's suitable to drive leds in different situations using lithium ion battery-powered applications and providing large amounts of constant current.
Take a look for instance on LT3486
nomada
Well, I was looking for an answer to my question and its touched on breifly here so here goes:
I have a bi-colored LED bargraph array (10 led's). The way the chip is made the green has one common anode, the red has one common anode, and the 10 seperate cathodes are tied together for red and green. (i hope that makes sense).
Anywho, here is my problem:
Testing with just one single led pair I have the cathode at ground, a 100 ohm resistor on the green anode and 180 ohm on the red anode. So the theory is: turn on green, you get green, turn on red, you get red, turn on both, you get yellow.
So I hook up the resistors through a switch: one switch for red, one for gree.
I press the green switch, I get green
I press the red switch, I get red
I press them both, I get yellow(ish)
So far so good. Now since this is going to be a bargraph that has a seperate pattern depending on the color selected, I want to control the color via the pic (16f818).
So I write the following code:
Start:
High Green ' turn on green LED (porta.0)
pause 1000 ' 1 second delay
Low Green ' Turn off Green LED
High Red ' Turn on Red LED (porta.1)
pause 1000 ' 1 second delay
high green ' Turn on Green LED (Red is already on, Red+green = yellow)
pause 1000 ' 1 second delay
low red ' Turn LED's OFF
low green '
pause 1000 ' 1 second delay
goto start
So in theory this code should be working... but when I run it this is what I get:
Green is on for 1 second (so green IS working)
Red is on for 2 seconds (so red is working but for some reason green won't come on with red)
LED's are off for 1 second.
Ive tried every possibly thing I can think of: I tried running the LED's direct off the 5V rail via transistors... tried puting resistors on the colector, nogo: tried them on the base: nogo, tried them on the emitter: no go... its the same thing every time. For some reason the pic refuses to turn them both on at the same time. Even if I remove the resitors on the anode all together and throw it down to the ground rail instead...
Please help... this is driving me nuts.
{Update}
Ok, I started thinking: Port a has all kinds of funky things that can be done with it... so for fun I changed green to portb.0 and red to portb.1. It now works as expected... so what is wrong with port A? I actually need port A to control the anodes as port B will be sending out the signals for the cathode end of things. Additionaly Im probably going to also need the A/D converter from porta as well.
Hi bearpawz--
I think your problem is probably that your F818 is powering up with the default of having Port A in analog mode. Try inserting this near the beginning of the program:
ADCON1 = 7
and see if that doesn't make Port A behave exactly as Port B does for you.
Best--
--Alan
aka "scubabear"
Bookmarks