OLED screen changing numbers by digits with rotary encoder

Hi I have project where I am using Arduino OLED screen and rotary encoder with push button. I need to able edit number - value by using encoder wheel by each digit. Pressing push button save result
image
image
image

Maybe there are some library available for this?

Not that I'm aware of. It sounds like a application function and not a library function.
You will have to do it with your own code.

It shouldn't be too hard. I'm not a coder but I've found for this type of application the most tedious part is laying out the steps to do such a thing.

BTW you have an LCD screen not OLED.

Thanks for your reply. Yes you are correct this is LCD screen I just took screenshots from working example. And I wish I can do same on my OLED. I do understand that more likely I have do it my self. I have some idea behind already. Correct me if I am wrong:

  1. represent values as a arrays a[0] b[0] c[0] d[0]
  2. by default set index on array on "a" and by changing encoder value change value on "a" array
  3. every press button move to next array
  4. then do the math value=1000a+100b+10*c+d
    I just thinking if some-one already done why we should invent wheel again...
1 Like

So how do you go back and how do you indicate you are finished with the number?

There is no need to use an array, just use a variable. You can isolate individual digit values by using the modulus function % and do the shifting when you add a new digit.

when you finish with number press push button. when you finish with it press and hold for 3 sec this push button.
thanks for the advice with modulus function need to look in to it. Sounds more elegant way to do it.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.