Vlad, I've followed you on Solis PLC, your videos gave me a lot of good help. Now I am branching out into micro controllers I find you again helping me with your video''s!!!
@rarenu6 жыл бұрын
Hi, I am 73 years old retired Telecom Engineer and my hobby is Arduino. Your Menu System is really nice. Advice me how to store the parameters in EEPROM to recall on restart. With Great regards.
@vil52862 жыл бұрын
3 years and he still hasnt replied lol-
@AJayTheStageArtist2 жыл бұрын
@@vil5286 maybe he already give up his account 🤣
@KJ7JHN4 жыл бұрын
about 20 years ago, I remember making a menu system from if statements, my problem was that they weren't mutually exclusive. Meaning, if you meth the criteria of one, you could then also meet the criteria of the next and next. So I eventually switched over to Case statements. This has it's own follies, but the system is much more exclusive. Thanks for the video. I'll keep pluggin'
@aymunz3 жыл бұрын
Like what follies?
@livewiya6 жыл бұрын
I've been spending a while looking for videos to help me with programming and LCD menu on Arduino. This has been by far the most helpful! Thanks.
@yugendravenkatadurgamruthk77974 жыл бұрын
Thanks for a CRYSTAL CLEAR explanation.
@henrymunnich16482 жыл бұрын
Super good. Integrating this into a temperature controller for bioethanol fuel cell research, controlled with a joystick. Changing parameters can be scaled by the y axis of the joystick, so the further away from the middle it is the faster the value changes.
@iliapopovich3 жыл бұрын
Hi, Mr.Roman, I know you from the PLC tutorials. I use C++ too, but frankly, I prefer the Ladder logic of A.Bradley, with the 2nd you use pure logic. The C and Java are more just like foreign languages.
@prakashapatel6 жыл бұрын
This is really a great video. Got my concept cleared. It would really helpful if you make same tutorial with 4x4 keypad instead of four buttons, since it would be really simple to input parameters to send to arduino.
@VladRomanov896 жыл бұрын
Thank you for the kind comment sir. I actually have one of those keypads on hand and may create a tutorial with it if I receive more interest! Thank you for the suggestion.
@Mtaalas5 жыл бұрын
As long as people understand that this is beginner level stuff, this is a good tutorial. I mean there are no interrupts utilized, the menu structure and arrays could be saved directly to flash so you could save on RAM and there could be display buffer such that you render to that buffer and then when it's ready you send it to the LCD using hardware SPI/I2C module etc. etc. Debouncing could utilize hardware timers as well and buttons shouldn't be polled if not necessary but be interrupt driven (either timer or state change interrupt). It's a good tutorial for those who want to learn the basics regardless. :)
@IRgEEK7 жыл бұрын
These vids are great. I can't keep up. :-) If work works out, I'll be bingeing them over the weekend. Nice work!
@MrCrystan7 жыл бұрын
Excellent Tutorial. Thank you for all the insights. It made the menu function so much simpler and i can actually understand it!!
@SteveHartmanVideos2 жыл бұрын
this was a huge help, thank you! I used your method and modified for my project, works great!
@MM-bn7uo4 жыл бұрын
thank you your complete and precise description helped me to figure out my code and BTW your accent is awesome I felt like I have Vodka on my desk
@electronron16 жыл бұрын
I found it interesting that you used a AB PowerFlex 4 for your example. I designed a lot of equipment that used that drive. Allen Bradley is obsoleting that particular drive soon by the way.
@VladRomanov896 жыл бұрын
It's a drive I see quite frequently in the field, but you're completely right in saying that it is an older model at this point. For most panels I specify nowadays, I've been using PF 525 drives. That being said, they have somewhat of a different screen setup, but it still applies to some extent.
@JeffreyVastine7 жыл бұрын
Vlad is it possible to do something similar using capacitive or resistive touchscreens and instead of using momentary contact switches to change options, settings, or parameters simply touch the screen where the item one desires to modify and a drop-down list of options opens up? If so, this would be a great addition to this tutorial since small touchscreens with enough area to carry this out are cheap. By the way, the regularity of your posts is great and the production quality has improved too. I truly appreciate the time and effort you put into these videos as well as your willingness to freely share your knowledge and experience with the world. Thanks, brother you are truly a blessing! Peace!
@VladRomanov897 жыл бұрын
thank you sir, sorry for the late reply. I'll definitely look into getting a touch screen and get on that.
@dandrion24 жыл бұрын
Thank you very much for the informative video. It helps a lot in many applications.
@MosesFamilyApiaries3 жыл бұрын
Could you go into more detail on saving the adjusted values and how to call on them in a program
@Hsrt767.....932 жыл бұрын
bro can you explain how to edit a variable using a keypad or pushbutton and print in real-time on an LCD using arduino.
@ngauvmora94092 жыл бұрын
Easy to Understand Thank you so much
@dumabrew18042 жыл бұрын
This is brilliant ! thanks for the tutorial
@ndidikenneth51356 ай бұрын
I have bn looking for this thanks man
@plymouthrovadventures.646 Жыл бұрын
Thank you. A very nice tutorial of screen management. BTW Web sits is Down. Shame was looking on how to Store the results onto EEprom Etc. Easy to adapt to other screen formats as all the screen data is in one place in a Void. Thank you again.
@hobbytronix4 жыл бұрын
Good video bro... keep posting
@muthratha384 жыл бұрын
Really great for this tutorial. Thanks you so much. And could you add output depends on each parameters?
@otroblogdemarcelo5 жыл бұрын
Amazing! Cheers from Argentina!!!
@prasadp67133 жыл бұрын
Argentina....!! Wow.... I like Argentina.... Mario Kempes, Diego Maradona, Lion Messi and a lot more like Batistuta, Kaniggia..etc....etc.. Hasta la vista.....!!!!😅
@SumonAhmed_695 жыл бұрын
Thanks for this tutorial. You get a new subscribe
@SusanAmberBruce3 жыл бұрын
Thanks for your video, very well explained! And thanks for the code which I will be using once I have hacked it a bit to work with I2C 1602 and a resistor chain 4 switch input on an analog pin.
@attractfamily12212 жыл бұрын
The written tutorial link redirects to an e-commerce website and can locate the page for the written tutorial
@henrymunnich16482 жыл бұрын
I bet his domain got sniped lol
@gsuresh2u3 жыл бұрын
Have you done any video with rotary encoder same as this video?
@Sega-and-Mao Жыл бұрын
Really helpful! 👌👌👍👍👍I will exploit it!!! Thanks , plus you just got another subscriber😅
@ngauvmora94092 жыл бұрын
very use full tutorial
@Diego43222374 жыл бұрын
Thanks, muchas gracias. Excelente video.
@Piano_Andre4 жыл бұрын
WoW.!!!!.....VERY GOOD , MAN!!!!!!
@brendanrichart48046 жыл бұрын
Excellent work!
@chingizkuryaz77135 күн бұрын
can you do exactly same thing using updated libarary pls
@ezequielmarino6 жыл бұрын
(clap) (clap) (clap) Thanks... very clear... Greetings from Argentina!
@frederickcunningham9787 жыл бұрын
instead of puting an if else in your action group for button one you could just say currentScreen = (currentScreen+1)%10; great vid!
@mohsenmehrabi2982 жыл бұрын
Thanks for your videos ,Excellent job and very useful. Would you please tell me how to save the changes, I loose all setting after reconnect the Arduino. Thanks.
@NgocDangDinh4 жыл бұрын
Many thanks to EEEnthusiast for your introduction. Following your guidance, can I have 02 questions as following: 1. Link menu to an action such as show date/ temperature: I tried to deal with inserting a function like ShowDate but when running the showdate, button click is nolonger avaiable to change menu. 2. How to make a setup code so at first the LCD will print out date/temp or general information. After clicking a button, menu will so up and we can choose other action below. After finishing or time out the menu goes back to the general screen. Please be so kind to advice me.
@saneeshelectronica92934 жыл бұрын
Thanks i have made it. Works well. How can i add range limit on each parameter for examble voltage up to 380v current up to 30 amp etc?
@hirdeshbajwa89063 жыл бұрын
I want to make a LCD menu just like that one but it has two variables per screen. How do i make the two side buttons on my Adafruit RGB LCD be able to move between the two variables?
@ramilbraganza81032 жыл бұрын
Sir! I made an arduino solar charge controller using 16x2 LCD with a button switch to select "menu1" monitors solar voltage and current and "menu2" monitors voltage and current of the battery. Switching between these two menus was good but I noticed that the lcd display did not keep updating the voltage from the input pins. can you help me? thank
@unconsciouscreator30124 жыл бұрын
So lets say we wanted a scrollable menu that managed an array of sensors and had adjustable set points for activating relays. Is this something you would like to do a tutorial on? I know the answer is here and I have modified this code to open up possibilities but if you could grant this request it would mean a world to lots of folks just trying to rock out DIY automation.
@4244423 жыл бұрын
do you have any results in this project? sounds like interesting one
@frankbose5444 жыл бұрын
I'm trying to implement a rotary encoder to increase parameters and I'm having a hard time doing that
@metinbiter2575 Жыл бұрын
thank you for your good smilling
@oswevega29393 жыл бұрын
Very helpful.
@brianmoore54546 жыл бұрын
HI...enjoying your videos and find the coding explanations you use are very clear.Question: after you have written and compiled some complicated code...is there any way, or what is the best way, to insert "stop" commands at various stages so that you can step thru the code/actions for debugging purposes??.
@danielcharles1086 Жыл бұрын
Hi, The content is what I am looking for but I have 12c connection on my LCD
@aaryangorana86033 жыл бұрын
Hello sir, wishes for the day.Sir I tried the given code ,but after switch OFF/ON the Arduino ,the numric value (in second row) become 0,If you have made same using eeprom ,pls suggest episode no. THANKS .
@yazani194 жыл бұрын
very useful, thanx a lot.
@minkloco6199 ай бұрын
Can I do this in XOD? I’m trying to make a drum machine.
@bluegru3 жыл бұрын
How would you implement validation for each screen? I guess you would have to create another 2D array with min and max for each page and check for them, any better solutions? What If I have non integer things like Yes/No?
@dilakshankamalathasan60703 жыл бұрын
Respectable sir I have a small doubt, imagine i changed some value using this switch for my purpose, what will happen once power off and on??. What value will remain once the power on??. Whether the value i changed?? or, the value you that written in the code???. If it will remain the value written in the code, is there any way to keep the value manually given by user even after powercut??. Please give me solution, thank you
@MrBobes96 жыл бұрын
Why are you making lastInputState full of LOWs when your buttons are by default HIGH? Wouldn't it make the Arduino detect push at the beginning of the program?
@2112user3 жыл бұрын
Thank you for explaining this, googled Arduino menu and glad I saw this. I do have 2 questions. How could we go about having that first screen be a sort of home screen.... specifically, I want to do this for time and temperature. The menu would be used to set low temp, high temp and then time on and time off. On the home screen I'd like to show actual temp and time. My second question is on time.... how would this be implemented to change 12 hour time, would you have a menu screen for each element (hour, min, am/pm) or is there a way to select only the section of time you want to adjust? If you show this in other videos, I'm going to go check out your others now, but could you let me know which one(s). Thank you.
@2112user3 жыл бұрын
Also, IDK if it matters, but I'll be using an OLED screen...... figured the concept would be the same?
@spencermccauley33854 жыл бұрын
how do i make the values i change on the lcd an output for stepper motors so i can have them independently rotate a set number of steps, thank you for you help
@jamesskidmore22753 жыл бұрын
Thank You! Great tutorial!!! Question: I used serial print to view the Variables. When the code starts it shows: (screens[currentScreen][0] shows Motor Voltage, Motor Voltage, Start Time, Motor Voltage Serial.print (parameters[currentScreen]); shows 1,0,0,0 Serial.print(screens[currentScreen][1]); Volts, Volts,Times,Volts so at startup it looks as if it is not setting all the button presses to 0 untill it goes through all the buttons. Is their a way to fix this? I attempted to debug but could not figure out why it was doing this. Thanks! Again.
@Flippomatik7 жыл бұрын
Hello how can I change one input value from int to float?
@jeffbluejets26264 жыл бұрын
Worked out how to access the parameters and rename each for the rest of my program as variables. First 2 I wanted to be floats so did that as far as my program is concerned but is there any way to display the parameter as a float value. for example as 0.001"
@hardikjotangia26423 жыл бұрын
Hi, please make a video on Menu inside multiple sub-menu and its action or share link.
@HoXDipannew4 жыл бұрын
Good job
@DevesTechnet7 жыл бұрын
Very nice! Thanks for this.. the question is, I have 10 different functions (function one for example is 6 LEDs that blink in succession, two would use a Pot to adjust the blink rate, etc etc). They are set up in Switch/Case format using the Serial interface to choose items. How do I plug what I am trying to do into your menu system? This looks very promising! It would end the requirement of having to open the serial monitor.
@kaissandezmomosadoh7233 жыл бұрын
You are the best
@andriusbal7558 Жыл бұрын
thank you
@drhve56417 жыл бұрын
show more about the int string parameter so i can make a led go on in first menupage and control the motorspeed in the second menupage
@debjyotidey69287 жыл бұрын
good explanation. thanks.
@jeffbluejets26264 жыл бұрын
Possible to do this with a Keyes KY-040 rotary encoder..?
@santhoshsathyanarayanan49727 жыл бұрын
How can set a float input..lyk u showed example in tiz video....I want to get input similar like 5.64,6.62 as user input wit only buttons...can u just help me how can I make it???...jus 1 input...
@DasguptaDiaries6 жыл бұрын
How to control outputs using 4x4 keypad matrix (0-9 input) and 16x2..
@RapperRank5 жыл бұрын
did you find out
@ngulikaquaponik3764 жыл бұрын
This is great tutorial for lcd menu that I found. I'm in the middle of making project of programmable dozing pump using arduino uno with lcd keypad shield, RTC DS3231 and peristaltic pump. I want to make the dosing pump running automatically base and day and time that I can set before. also every pump will run for specific volume as we set. I really appreciate if you help me to create the code for those project? thanks
@ChandranshuDwivedi3 жыл бұрын
can we do this on 20x4 lcd with i2c
@9thb19963 жыл бұрын
Hello sir, awesome project by the way, I implemented the same and wanted to try out one feature, like I have another button which is pressed to execute something with respect to the values i recorded in the menu. eg. I put run time and frequency in the menu and stored the values in the variable and now i want to use these values and execute a basic command. like if there is another button which when pressed executes some codes taking values entered previously. how do we do it?
@sinankarakurt43927 жыл бұрын
Although I did not install the proteus, it did not work. Is lcd panel connections wrong
@taranagnew4366 жыл бұрын
is this how you set it up for a LCD keypad shield? //Input & Button Logic const int numOfInputs = 5; const int inputPins[numOfInputs] = analogRead (0) ; int inputState[numOfInputs]; int lastInputState[numOfInputs] = {LOW,LOW,LOW,LOW}; bool inputFlags[numOfInputs] = {LOW,LOW,LOW,LOW}; long lastDebounceTime[numOfInputs] = {0,0,0,0}; long debounceDelay = 5; and to call a thing in your list, you put void in front of whatever you're calling?
@reinielantonio58484 жыл бұрын
can the data be saved even if i reset the arduino?
@GerardWassink10 ай бұрын
Link to your www is broken/wrong.
@ความรู้เบื้องต้น4 жыл бұрын
thank you 🙏🙏🙏
@zlackbiro5 жыл бұрын
But, when you reset yor device, you must to setup all again. Why you dont use EEEPROM.write() to store parameters?
@melickon5 жыл бұрын
This code is doing nothing with parameters, so it is just part of whole project. Saving & reading EEPROM depends on other project logic.
@zeolusily4 жыл бұрын
Hi, just one question please. how i can use the parameter value for analog input? still cant figure it out
@morticeandrigby4 жыл бұрын
Plug the button into your analog input,say you use inputs A0 through 3 for the four buttons type in stead of 8, 9, 10, 11 type A0, A1, A2 , A3 and that’s it
@abinavanantharaman15557 жыл бұрын
Really good video Vlad!! I want your help. I am trying to make a similar GUI but i have to use only 3 buttons. I have got 4 main menu items and the first menu item has 4 more sub items.So i am going to use one button for entering a menu and saving a changed parameter. The other two for navigation and changing parameter values. Please can you help me out!! Also the code is not available on the link you have posted.
@VladRomanov897 жыл бұрын
That's definitely something I can help you with. Could you please post some more info (your menu structure, what you'd want that 3rd button to do exactly at every step, etc.) on the forum (forum.eeenthusiast.com/)? I'd like to build exactly what you're talking about and create a "follow-up" video to this one on how to add sub menus. Also, I'll fix the link to the code tonight; thanks for pointing that out.
@abinavanantharaman15557 жыл бұрын
Heyy Vlad !! i figured it out. Your code ,I think is the most versatile one i have seen so far. Excellent code!! I could easily make changes and yeah, i will provide you the structure. I think you can show a more easier way than i have done. Thanks!!
@VladRomanov897 жыл бұрын
awesome!
@aliozdemir80025 жыл бұрын
Hey ! This is really a great video. initial values are always zero, how can I change the values of all items. sample Motor voltage: 5 Amp: 20 etc... I will assign a value to the nonvolatile memory and I want to change these values
@Su67377s5 жыл бұрын
my question is the. please revert me if u had got the answer
@basmangeorge4 жыл бұрын
Can you use a rotary encoder instead of buttons. Ps very good learend a loat
@drhve56417 жыл бұрын
how can i use, set and define the parameters? can you help me pls, thanks friend!
@drhve56417 жыл бұрын
so you cant even put and controll parameters?
@ildem53275 жыл бұрын
Hi, how we will add sub menu?
@Su67377s5 жыл бұрын
Thanks, but sir this program doesn't retain data after power off. how to do this sir?
@dtiydr5 жыл бұрын
Never disconnect the power or learn how to save the values in the memory. How that is done there are instructions on Google where you can search and find what you need so you can put it together your self.
@Torudson7 жыл бұрын
What about trying this but instead of using buttons, using a ps2 joystick module? You can change the screen moving the x axys and the parameters moving the y axys.
@VladRomanov897 жыл бұрын
Well, that's definitely possible. As it stands, any button or input can toggle the transition. If you wire it up the same way as the buttons, you can use any peripheral to create the same effect.
@Torudson7 жыл бұрын
I tried it and it worked very well!
@VladRomanov897 жыл бұрын
Awesome! Glad to hear it worked.
@sogethgrimley6 жыл бұрын
how do i have 3 different inputs to different things ?
@kameleonvkci5 жыл бұрын
Thank you!!!
@viktormezler39384 жыл бұрын
switch case may be?
Жыл бұрын
COOL!
@charlygt1564 жыл бұрын
Estaría bueno un tutorial dónde un display manejado con un encoder rotativo, poder definir un encendido de un led de una salida con un pulsador, um ejemplo sería poder tener 3 pulsadores y tres led y con el menu definir que pulsador quiero usar para encender uno de los led, eso se puede cambiar por relay y usarlo para domótica, maquinaria de una fábrica etc, es muy práctico pero para los que no entendemos mucho es un dolor de cabeza
@100roberthenry7 жыл бұрын
excellent...
@VladRomanov897 жыл бұрын
thanks
@DataLog4 жыл бұрын
Haha thanx dude! I've been somewhat advanced in electronics but pretty basic with coding. I would make complex programs with many options using only counters and if function lol Every code would end up being massive. It works but it's shit haha
@JI3D Жыл бұрын
HI good tutorial
@DarrenDIY7 жыл бұрын
nice one man
@VladRomanov897 жыл бұрын
thank you.
@DarrenDIY7 жыл бұрын
EEEnthusiast keep it up youre doing good
@thanasisathanasi49654 жыл бұрын
Problem is that holding variables in arrays it will render you out of memory pretty soon !!
@RapperRank5 жыл бұрын
Integrate with keypad?
@akroutsamo7 жыл бұрын
ok, great (y) how to stores it in the eeprom ?
@dawidbredenkamp6 жыл бұрын
Yes, I also want to store it in the eeprom, I suggest to try to add a function to save the values with another "save" button. This will prevent the eeprom to get over used. For real industrial use I would rather use a SD card.