Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
To switch between normal and inverted Operation, You can use Exclusive Or Arrays like the 4077.
Input high = normal Operation, input low = inverted.
A long Time ago I do something similar for 8 Outputs ( Light Chaser ).
I've used a EPROM and progged the wished Light Patterns into it.
A binary Counter, like the 4060, count up the Adresses of the EPROM ( 3 or 4 Bits).
So the Light patterns will be given out.
To Change the Patterns You can use a Binary Switch that works to the upper Adresses of the EPROM.
Today I would do this with a small Microcontroller like the ATMEGA 8, but that must be programmed.
But it will need only a few Parts ( Clock Generator and Timer is built in, nearly all Ports can be configured as Output ).
Up to 16 LED Port's should be no Problem there.
Arduino is an option too.
Both solutions work at 5V supply only, so You need a 5V regulated voltage.
To drive higher Voltages and Current You can use a Transistor Array like the ULN 2803 ( open Collector ).
Thanks to everyone who replied. It is becoming apparent that this circuit is going to severely increase in complexity, not to mention size, and may not even justify the effort for the limited use this will be put to. I am however going to give it a try when time allows.
As an analog guy you might appreciate the simplicity of this -
Basically this takes a V value off a pin and converts it to a pulse width to
control a LEDs brightness.
First instruction, 2'ond block, creates a variable, AtoDval.
The first instruction in forever loop reads analog pin value, its range is 0 - 1023
for a 0 - 5V input and puts it in variable AtoDval.
The second instruction writes that variable out to a digital pin which sets the PWM duty cycle
with the V value you read from pin.
Thats it to create a variable brightness control.
There is a slight complication in that analog to digital value is 10 bits (0 - 1023) and
PWM range of duty cycle setting is 8 bits (0 - 255), thats why the /4 is there, so what
gets written to PWM is most significant top 8 bits of the V value on the input pin.
Think using a pot on the analog pin to create the variable voltage.
Anyways many examples on web, I use them and then mod them often.
Thanks again Dana. I have another circuit I that has been driving me nuts over the last week, must just be old age, but I have not found a solution for what appears to be a simple problem. Will post in a new thread, maybe you guys can figure out what is off base.
Ed I got to thinking about this and added a capability to flash the active led rapidly
as an option. In the upper right was all that was added to do this, the PulseLED sub-
routine. So essentially there is a main delay loop running to set overall rate thru all
10 LEDs, then another loop when a specific LED is to be turned off instead flash it at
a fast rate.
Even possible to do this with bicolor LEDs such that they are all RED on, except for a
specific LED when it is the active it flashes green.....