I have a two channel rotary shaft encoder and an LCD screen (16 X 2 used in 4 bit mode like the basic examples). I wish to display a timer on the screen (hours, minutes, seconds), set the time using the shaft encoder (turn clockwise to increase time, turn anti-clockwise to decrease time) in 5 second increments and when the timer times down from the programmed time and reaches 0, I wish to set a digitial pin high for a second and then reset the timer to the programmed time.
If possible it would be useful to increment the time in 5 second steps when the encoder is turned slowly and in 30 second increments if the encoder is turned quickly.
I really do not know where to start unfortunately, I have searched the forums and read various examples of timers and loaded some libraries to my IDE but I cannot find an example with the functions I need.
GUNN:
If possible it would be useful to increment the time in 5 second steps when the encoder is turned slowly and in 30 second increments if the encoder is turned quickly.
I suggest you leave this part to your fingers. You will find you can turn fairly fast with just two fingers. If you try to program some type of logic it will feel unpredictable.
I recommend you download my library for the encoder and menu system here:
GUNN:
If possible it would be useful to increment the time in 5 second steps when the encoder is turned slowly and in 30 second increments if the encoder is turned quickly.
I suggest you leave this part to your fingers. You will find you can turn fairly fast with just two fingers. If you try to program some type of logic it will feel unpredictable.
I recommend you download my library for the encoder and menu system here: