I will Connect Arduino LCD without Potentiometer Register & I2C Module. We will use 20 X 4 display in this tutorial because it has 20 characters each line. If you wish to buy, then buy this version. The process of connection will be the same for all the version.
To see the output from Arduino, we need to connect LCD display with it. There is mainly two version of LCD display is available in the market. One is 16X2 display which has 2 lines & another one is 20X4 display which has 4 lines.
The LCD module can be connected to an Arduino board in 3 ways:
- Direct connection from the LCD module to the Arduino board without POT.
- Direct connection from the LCD module to the Arduino board with POT.
- LCD Module and Arduino board connected through an I2C Module.
I will show the first process in this post to Arduino LCD without Potentiometer Register & I2C.
There is another alternative for LCD display which is OLED display. See the following post for that.
How to Connect SSD1306 OLED display with Arduino UNO
Components Used:(Click to Buy)
Connection Setup Arduino LCD without Potentiometer
We have to connection using the following Table. In the left hand side, the pin numbers of LCD display is written. Numbering of the pins are started from left to right i.e 1 to 16. If you find any problem if numbering, you can see the connection diagram below.
LCD Pin | Arduino Pin |
1 | GND |
2 | 5V |
3 | D6 |
4 | D12 |
5 | GND |
6 | D11 |
11 | D5 |
12 | D4 |
13 | D3 |
14 | D2 |
15 | 5V |
16 | GND |

Now we have completed our connection. We have to upload the code.
Code Explain Arduino LCD without Potentiometer
The code is a very simple one. In line 7, an LCD object is created with the connected data pin values passed as the parameter. These pins are the pins which we have connected via jumper wires. In line 6, we are setting an integer as the contrast value. this will work as a fake Potentiometer or POT. In line 11, we are writing analogue values of the fake pot. Basically LCD module with think it is a POT. So this value is 145 here. It may be different on your system. Kindly change its value between 0 to 500 and check on which point you are getting a clear display. This is pretty much like trial & error method. Once you get the clear output, note that value & use it in every program.
Arduino Sketch for Arduino LCD without Potentiometer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | /* https://somtips.com https://youtube.com/somtips */ #include <LiquidCrystal.h> int Contrast=145; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { analogWrite(6,Contrast); lcd.begin(20, 4); } void loop() { lcd.clear(); lcd.setCursor(0, 0); lcd.print("Hello Somnath"); delay(1000); lcd.setCursor(0, 1); lcd.print("Good Morning"); delay(1000); lcd.setCursor(0, 2); lcd.print("Enjoy the Day"); delay(1000); lcd.setCursor(3, 3); lcd.print("Thank you"); delay(1000); } |
Output Arduino LCD without Potentiometer
