Continue to Site

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.

  • 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.

CD4017 Inverted count operation?

Status
Not open for further replies.

wkrug

Active Member
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 ).
 

crutschow

Well-Known Member
Most Helpful Member
The only person whos ever said they should go off sequentially (and stay off) is Crutschow.
Read what I said.
I didn't say they should stay off.
I asked if that's what the op wants.
 

EdStraker

New Member
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.

Again, thanks to all who helped out.
 

danadak

Well-Known Member
Most Helpful Member
Here is a solution -

Video attached -

And block code to do it -

1628530649921.png


This was done with UNO board, could not find my Nano boards (smaller, cheaper).
You can use a Arduino board to program a dip chip if that was more desirable.

mBlock project attached.


Regards, Dana.
 

Attachments

  • Modified 10 LED Cycler.zip
    56.3 KB · Views: 49
  • IMG_0309.zip
    10.2 MB · Views: 47
Last edited:

EdStraker

New Member
I knew I should have looked into Arduino's years ago but I didn't. So now I'm "ignant" and used to doing things in the analog methods.
I might have to start edumacating myself on this.

Thanks to Danadak for all the effort.
 
Last edited:

danadak

Well-Known Member
Most Helpful Member
As an analog guy you might appreciate the simplicity of this -

1628551492276.png

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.


Regards, Dana.
 

EdStraker

New Member
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.

Thanks again, Rob
 

danadak

Well-Known Member
Most Helpful Member
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.....

Lots of fun. Video attached.

1629646035515.png



Regards, Dana.
 

Attachments

  • IMG_0313.zip
    14.6 MB · Views: 45

danadak

Well-Known Member
Most Helpful Member
Top of screen is main loop, all 10 LEDs in ~ 13 secs, with bottom trace showing the active led
pulsing at ~ 100 mS rate. Timing user set. User set # pulses when active, in this case 5.

1629647655440.png



Regards, Dana.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Top