There is a well documented bug in the Arduino LCD library with regard to all 16×4 displays. The contrast pin on the LCD requires a fairly small voltage for ideal display conditions. Thermo Scientific metal detectors help provide reliable, consistent, cost-effective detection when you need it most. As a partner in your success, we are dedicated to helping customize your detection system and reduce any downtime so your business can achieve its goals. The problem is that the 16×4 has different starting addresses for lines 3 and 4 than the 20×4 for which the library is written.This means that the lcd.setCursor command doesn’t work correctly for lines 3 and 4. There is fortunately a simple fix. Pin 9 is used as the PWM output and this connects to the Vo contrast pin on the LCD (pin 3). A 100uF capacitor is connected between the PWM output and ground. Instead we will use one of the Arduino PWM outputs, smoothed by a capacitor, to create a simple Digital to Analog output which will allow us to control the screen contrast digitally from within our program.
Arduino UNO Tutorial 10 — LCD We are now going to add an LCD display to our Arduino.