
Using an LCD — SIK Circuit 15
Display text on a 16x2 character LCD. Learn about the LiquidCrystal library, HD44780 displays, cursor positioning, and creating a real-time seconds counter.
निर्देश
Parts & Introduction
Parts & Introduction
A 16x2 character LCD can display 2 rows of 16 characters each. Using Arduino's LiquidCrystal library, you can display text, numbers, and custom characters. This is the HD44780 standard used by most character LCDs.
Parts Needed
- 1x Arduino Uno + USB cable
- 1x Breadboard
- 1x 16x2 Character LCD
- 1x Potentiometer (for contrast adjustment)
- 16x Jumper Wires
Hardware Hookup
Hardware Hookup
Wiring Instructions
The LCD has 16 pins. Pin 1 is closest to the corner of the board.
| LCD Pin | Connection |
|---|---|
| 1 | GND |
| 2 | 5V |
| 3 | Potentiometer wiper (contrast) |
| 4 | Arduino Pin 12 (RS) |
| 5 | GND (R/W) |
| 6 | Arduino Pin 11 (Enable) |
| 7-10 | Not connected |
| 11 | Arduino Pin 5 (D4) |
| 12 | Arduino Pin 4 (D5) |
| 13 | Arduino Pin 3 (D6) |
| 14 | Arduino Pin 2 (D7) |
| 15 | 5V (backlight +) |
| 16 | GND (backlight -) |
Connect the potentiometer: one side to 5V, other to GND, center pin to LCD pin 3 for contrast adjustment.
Arduino Code
Arduino Code
Open the Arduino IDE and upload the following sketch to your Arduino board.
/*
SparkFun Inventor's Kit
Example sketch 15 — LIQUID CRYSTAL DISPLAY (LCD)
Display "hello, world!" and a seconds counter on a 16x2 LCD.
Hardware connections:
LCD pin 1 to GND, pin 2 to 5V
LCD pin 3 to potentiometer center (contrast)
LCD pin 4 to Arduino pin 12 (RS)
LCD pin 5 to GND (R/W)
LCD pin 6 to Arduino pin 11 (Enable)
LCD pins 11-14 to Arduino pins 5,4,3,2
LCD pin 15 to 5V, pin 16 to GND
This code is completely free for any use.
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
lcd.begin(16, 2);
lcd.clear();
lcd.print("hello, world!");
}
void loop()
{
lcd.setCursor(0, 1);
lcd.print(millis() / 1000);
}Test & Experiment
Test & Experiment
What You Should See
"hello, world!" appears on the first line of the LCD. The second line shows a running counter of seconds since power-on. You may need to twist the potentiometer to adjust contrast until text is visible.
Troubleshooting
- Screen blank or solid blocks: Adjust the potentiometer until you see text. The contrast range is narrow.
- Nothing at all: Verify the LiquidCrystal library is included and all 16 wires are connected correctly.
- Flickering: Check breadboard connections — loose wires cause display glitches.
Experiments to Try
- Display the temperature sensor reading (from Circuit 7) on the LCD instead of the Serial Monitor.
- Use
lcd.setCursor(col, row)to place text at specific positions. - Create custom characters with
lcd.createChar()for icons and symbols. - Display messages from serial input — type on your computer, see it on the LCD.
सामग्री
- •SparkFun Inventor's Kit - V3.2 - 1 kitNOK 999.20
- •Arduino Uno R3 - 1 pieceप्लेसहोल्डर
- •Breadboard - 1 pieceप्लेसहोल्डर
- •16x2 Character LCD - 1 pieceNOK 134.40
- •Potentiometer (10K) - 1 pieceप्लेसहोल्डर
- •Jumper Wires - 16 piecessNOK 39.20
आवश्यक उपकरण
- Computer with Arduino IDE
CC0 पब्लिक डोमेन
यह ब्लूप्रिंट CC0 के तहत जारी किया गया है। आप बिना अनुमति माँगे इस कार्य को किसी भी उद्देश्य के लिए कॉपी, संशोधित, वितरित और उपयोग करने के लिए स्वतंत्र हैं।
उनके ब्लूप्रिंट के माध्यम से उत्पाद खरीदकर मेकर का समर्थन करें जहाँ वे मेकर कमीशन कमाते हैं जो विक्रेताओं द्वारा निर्धारित होता है, या इस ब्लूप्रिंट का नया संस्करण बनाएँ और राजस्व साझा करने के लिए इसे अपने ब्लूप्रिंट में कनेक्शन के रूप में शामिल करें।