Breaking News
Blog

Hallway Lighting Project: Controller & PSU

NO RATINGS
Page 1 / 2 Next >
View Comments: Oldest First | Newest First | Threaded View
Page 1 / 4   >   >>
Max The Magnificent
User Rank
Blogger
Merry Christmas
Max The Magnificent   6/30/2014 1:16:33 PM
NO RATINGS
Hi Steve -- this looks like an amazing project -- I hope one day to see it with my own eyes -- with regard to the links to interesting sites and videos, I have to say that I love the christmas tree one -- wow!

antedeluvian
User Rank
Blogger
Debounce
antedeluvian   6/30/2014 2:08:30 PM
NO RATINGS
Steve

 In hindsight, I would look to use a better filter on the encoder outputs and do away with the chip.

 

A really good place to start with debounce is to read Jack Ganssle's series on the topic. They have been through several revisions do I may be pointing at some of the older stuff

http://www.ganssle.com/debouncing.htm

http://www.ganssle.com/debouncing-pt2.htm

http://www.eng.utah.edu/~cs5780/debouncing.pdf

http://www.embedded.com/electronics-blogs/break-points/4024981/My-favorite-software-debouncers

Jack focuses on software, but there are other techniques. A pullup resistor with a capacitor works well (preferably followed by a schmitt trigger) for slow responses although you should be aware that when you close the switch a short spike of high current will flow through the switch. You can limit that with a small series resistor. A cross coupled NAND or NOR gate combination will work if you have a changeover switch. Also if you use a non-inverting buffer (like 2 x 74HC04 in series or a MC14050) and connect the output to the input by a 10K resistor and also use a changeover switch you will have a debounced output.

Other manufacturers also make debounce chips. Maxom does the MAX812 and several others. See this app note.

Micrel does this one.

And altough you are commited to the Arduino, I should mention that the PSoC3/4/5 has it as a built in fuction.

I seem to remember this being a topic of discussion on the Connecting Edge. Perhaps Martin can rescussitate it.

antedeluvian
User Rank
Blogger
Hierarchical Menu Structure
antedeluvian   6/30/2014 2:23:58 PM
NO RATINGS
Steve

A standard 16x2 LCD display with white text on a blue background, ordered through Amazon UK

At the outset this eeems like a simple thing to do, but take care. Changes in approach often may mean rewriting your driver from scratch. After working with a customer who chagend their mind frequently I created an approach to allow a systematic method to create hierarchical menus and how to display dynamic data within that.


I wrote it up in a Circuit Cellar article "hierarchical menus in embedded systems" published in issue #160, November 2003. Circuit Cellar's business model requires you to pay a small amount, and for articles of that age you have to download the whole magazine. Let just say that the code was written for the Rabbit micro, but is all in C and should be easily portable.

Max The Magnificent
User Rank
Blogger
Re: Debounce
Max The Magnificent   6/30/2014 2:24:00 PM
NO RATINGS
@Antedeluvian @Steve: And altough you are commited to the Arduino, I should mention that the PSoC3/4/5 has it as a built in fuction.

I seem to recall that there is also a Neo-Pixel library available for the PSoC devices, but I don't know where you go to find it.

Adam-Taylor
User Rank
Blogger
Inspiring
Adam-Taylor   6/30/2014 2:24:38 PM
NO RATINGS
Having beeen using the neo pixels to demonstrate to people how to use the Zynq I have a few ideas of how to use these pixels on my new house and garden especially

 

Ad

Max The Magnificent
User Rank
Blogger
Re: Inspiring
Max The Magnificent   6/30/2014 2:39:07 PM
NO RATINGS
@Adam: I have a few ideas of how to use these pixels on my new house...

Congratulations on your new house (when't the house-warming party -- are we all invited?)

Crusty1
User Rank
CEO
Bounce your way to enlightenment
Crusty1   6/30/2014 2:40:44 PM
NO RATINGS
Hi Steve:

It sounds like you are going through quite a steep learning curve.

But the project and what you are producing look worth the effort.

Rotary encoders can be a pig to debounce, I usually do this in software, its almost a trade against filtering the input and missing clicks on the swich position, which can be annoying, especially with counting up and down.

I have not tried it yet but, I think a timer reset after each interrupt from each bounce and read the state of input pins when the timer is able to time out. This should take out the problem of switches getting worse on bounce as they get older.

As it is an Atmel chip are you using Pin Change interrupts?

Max can give you my contact info in England, if you want to discuss Atmel chips and software offline.

I think I am better at Micro's than FPGA's

 

 

 

Adam-Taylor
User Rank
Blogger
Re: Inspiring
Adam-Taylor   6/30/2014 2:43:12 PM
NO RATINGS
Max of course you are invited, it is going to be the party. 

These neo pixels are pretty amazing - they may find there way into one of our telescopes ;)

Max The Magnificent
User Rank
Blogger
Re: Bounce your way to enlightenment
Max The Magnificent   6/30/2014 2:56:36 PM
NO RATINGS
@Crusty @Steve: As it is an Atmel chip are you using Pin Change interrupts?

Thinking about it, there are de-bounce functions in the Arduino library. Steve, do you have the Arduino Cookbook or the Arduino Workshop? (Both are recommended, but if you only get one, make it the Workshop). They cover this sort of thing.

Max The Magnificent
User Rank
Blogger
Re: Inspiring
Max The Magnificent   6/30/2014 2:57:42 PM
NO RATINGS
@Adam: ...they may find there way into one of our telescopes...

Are you talking about a telescope intended for deployment in space?

Page 1 / 4   >   >>
Radio
NEXT UPCOMING BROADCAST
EE Times Senior Technical Editor Martin Rowe will interview EMC engineer Kenneth Wyatt.
Top Comments of the Week
Like Us on Facebook

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
EE Times on Twitter
EE Times Twitter Feed
Flash Poll