
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 منتشر شده است. شما آزاد هستید آن را کپی، ویرایش، توزیع و برای هر هدفی بدون نیاز به اجازه استفاده کنید.
با خرید محصولات از طریق نقشه از سازنده حمایت کنید و او کمیسیون سازنده تعیین شده توسط فروشندگان، دریافت میکند یا یک نسخه جدید از این نقشه ایجاد کنید و آن را به عنوان اتصال در نقشه خود قرار دهید تا درآمد به اشتراک گذاشته شود.