Advanced menu system with rotary encoder for Arduino/STM32

preview_player
Показать описание
In this video I show you my improved menu system for Arduino/STM32. The code works on both microcontroller thanks to the STM32duino. By using a rotary encoder and a button, we can navigate on the display (20x4 LCD) and select a menu, then modify the value of a variable based on the selected menu. This will be useful for my future projects where I need to set up different target values and perform something based on the values. The 20x4 LCD allows us more freedom as the 16x2 LCD.

Please don't forget to subscribe!

If you want to support my work, please consider buying the parts using my affiliate links:
Рекомендации по теме
Комментарии
Автор

You are very good with your clear programming and comments. Thank you very much. Many blessings to you.

Hossein_Ash
Автор

Just purchased an I2C LCD display so I can duplicate your setup. Many thanks!

yosemitesam
Автор

This is just what I'm looking for. Need to first set a few values, then run the operations with those set values. Perfect. I might go a step further and save them in eeprom. Thanks 😊

apbosh
Автор

Very interesting with nice clear instructions and programme .

corbymodelboatclub
Автор

Hello, looks great but I think that for me, something is missing
a menu entry to save and exit ( validate entries and pass values to main program)
How can you do that (Sorry, I am an arduino beginner)

philippekheprisante
Автор

Hi. Thanks for this great video. How to make the cursor blink instead of X when we select the menu? Or is it possible to highlight the selected menu?.

skelethornbro
Автор

Very nice tutorial. Can I use this code on STM8S development board using Arduino IDE?

ioTPro
Автор

thanks, nice tutorial but can you go over why and how you added capacitors to the rotary encoder. does that has to do with debouncing?

tybozo
Автор

Hi, is there any updated version than this? I am using black pill

gsureshu
Автор

Bonjour Monsieur. J'ai utilisé et adapté votre code pour réaliser une télécommande à distance avec un module nrf24l01. J'arrive bien à faire varier à distance mes les. Par co tre j'aimerais que le changement d'État ou de luminosité ne soit pas instantané mais se valide uniquement quand on sort du 'menu de réglage'.
En gros que la valeur ON, OFF, Blink, ou PWM ne soit prise en compte que quand on retourne avec un curseur flèche.

Pourriez vous m'orienter car je suis débutant et ne trouve pas comment résoudre ce problème.

Merci
Samuel

samN
Автор

what is that support for the LCD? looks cool

ben
Автор

Can this fit for 10 variables / Menü 1-10 and scaling up and down the rows? 4 variables are not so much. I thing the values have to save in 1 EEPROM byte if you leave the configuration.

viktorhugo
Автор

Good job! Helpfull video but what should i change if i use stm32cubeide to run it?

liamferro
Автор

how many menu pages can i have? i guess basically unlimited but i want to make sure

ipadize
Автор

This is an excellent tutorial and would be absolutely perfect if I got it to work.
On an Arduino UNO, 16*2 LCD, I am trying to achieve working with a rotary encoder with built in switch but absolutely nothing that I do can get the Menu > to change to X
Can I please send you my circuit diagram and sketch for you to have a look at and see where I am going wrong?

robdavidowitz
Автор

How do I use the chosen values stored? How to make it do something except show values on LCD?

juliusvalentinas
Автор

I know it works, but it is a bad practice to have unnecessary code in interrupt routines.
You should not have handled program logic inside, but simply detect states, set flags.
And it would solve the issue with updating cursor, as you could still have had old position, erase it first, then based on a flag set the new one.

Mr.Leeroy
Автор

Hey I want to add submenus of string... Is it possible with this code ?

ramakantpendke
Автор

Hi there, thanks alot for the explanation and code.

I'm working on a school project and i need to make a menu to hold 5 different codes. It also doesn't use a rotary encoder but a slide potmeter. I'm very new to coding in general and was wondering if you could help me with some stuff?

merelbrouwer
Автор

The lcd holders are like "⊙-⊙"

Neverwite