Arduino Rotary Encoder Menu Tutorial with a Nokia 5110 LCD display.
Welcome to this Arduino Rotary Encoder Menu Tutorial. Today we are going to build a simple menu on a Nokia 5110 LCD display. Let’s get started!
Hello guys, I am Nick and welcome to educ8s.tv a channel that is all about DIY electronics projects with Arduino, Raspberry Pi, ESP8266 and other popular boards. Subscribe to the channel now if you don’t want to miss any future videos. In this video we are going learn how to build our own menu for the popular Nokia 5110 LCD display, in order to make our projects more user friendly and more capable. We have built a similar project in the past, but a lot of the viewers of the channel suggested that I should prepare another video on this subject. This time we are going to use a rotary encoder instead of push buttons. Also, the menu we are going to build today has more items to choose from. Let’s watch it in action.
WHERE TO BUY
Arduino Uno: http://bit.ly/Cheap_Uno
Rotary Encoder: http://bit.ly/RotaryEncoder
Nokia 5110 LCD: http://bit.ly/NOKIA5110
Small Breadboard: http://bit.ly/SmallBreadboard
Jumper Wires: http://bit.ly/JumperWiresB
3 in 1 wires: http://bit.ly/Wires3InOne
Power Bank: http://bit.ly/PowerBank_XiaoMi
Full disclosure: All of the links above are affiliate links. I get a small percentage of each sale they generate. Thank you for your support!
I have placed the display on a small breadboard like this. Let’s first connect the display. The first pin of the display which is Reset goes to digital pin 3 of the Arduino Uno, the second pin goes to digital pin 4, the third pin goes to digital pin 5, the fourth pin to digital pin 11 and the fifth pin to digital pin 13. The next pin is Vcc. We connect Vcc to the positive rail of the breadboard, and the breadboard positive rail to the 3.3V output of the Arduino. The next pin is Backlight for the display. Since we want to control it via the software we connect it to digital pin 7. The last pin is GND. We connect GND to the negative rail of the breadboard, and the negative rail of the breadboard to Arduino GND.
Now all we have to do is to connect the rotary encoder. The first pin is GND and we connect it to negative rail of the breadboard. The next pin is Vcc and we connect it to the positive rail of the breadboard. The next pin is SW and we connect it to Analog Pin 2. The next pin is named DT and we connect it to Analog Pin 1. Lastly the pin CLK is connected to Analog Pin 0. You can find the schematic diagram of this project in the description of the video below.
The code of the project is complex but I will do my best to explain it. You will get a basic understanding of how the code works but if you want to fully understand it you have to make your own menu and see exactly how it works. Let’s start.
In this project we use 4 libraries. We use two libraries for the display, and two for the rotary encoder.
📥 Adafruit GFX: https://github.com/adafruit/Adafruit-GFX-Library
📥 Nokia 5110: https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library
📥 Encoder Library: https://github.com/0xPIT/encoder/tree/arduino
📥 TimerOne library: https://github.com/PaulStoffregen/TimerOne
CODE OF THE PROJECT
EUREKA 2017 QUIZ GAME
You can download my latest Android Game which is called Eureka here:
Arduino Datalogger: https://www.youtube.com/watch?v=oei3Y6tOhVI
Arduino Weather Station Project: https://www.youtube.com/watch?v=9jN-3DtS1RI
Arduino Nokia 5110 LCD Display: https://www.youtube.com/watch?v=aDwrMeu4k9Y
Arduino OLED display tutorial: https://www.youtube.com/watch?v=A9EwJ7M7OsI
DIY Arduino: https://www.youtube.com/watch?v=npc3uzEVvc0
Educ8s.tv is a Youtube channel and website which is dedicated in developing high quality videos about DIY hardware and software projects. In this channel we develop projects with Arduino, Raspberry Pi, we build robots and simple electronic circuits. Check out our website as well for more information: http://www.educ8s.tv
SUBSCRIBE ON YOUTUBE
Never miss a video: https://www.youtube.com/subscription_center?add_user=educ8s