Chuyển tới nội dung
Home » Lcd Display Code Arduino | Hướng Dẫn Kiểm Tra Màn Hình Lcd Arduino

Lcd Display Code Arduino | Hướng Dẫn Kiểm Tra Màn Hình Lcd Arduino

Arduino LCD I2C - Tutorial with Arduino Uno

Linh kiện cần thiết cho dự án

TÊN LINH KIỆN SỐ LƯỢNG NƠI BÁN
Arduino Uno R3 Shopee | Cytron
Màn hình LCD 16×2 Shopee | Cytron
Biến trở vuông 10K Shopee | Cytron
Điện trở 220R Shopee | Cytron
Dây cắm 10-20 Shopee | Cytron
Breadboard Shopee | Cytron

Sơ đồ đấu nối màn hình LCD 16×2 với Arduino

Arduino Uno R3 LCD 16X2 Biến trở
5V 2, 15 Chân ngoài
GND 1, 16 Chân ngoài
D7
D6
D5
D4
11 EN
12 RS
Vo Chân giữa
Arduino LCD I2C - Tutorial with Arduino Uno
Arduino LCD I2C – Tutorial with Arduino Uno

Hướng dẫn kiểm tra màn hình LCD Arduino

Tiếp theo của bài viết mình sẽ hướng cho các bạn cách thực hiện bước kiểm tra màn hình LCD 16×2 với các bước sau:

Bước 1: Kết nối chân nguồn

  • Kết nối chân 5V của Arduino với đường nguồn dương (+) trên breadboard.
  • Kết nối chân GND của Arduino với đường nguồn âm (-) trên breadboard.
  • Cắm màn hình LCD vào breadboard.

Bước 2: Kết nối nguồn cho LCD

  • Kết nối chân 1 và 16 của LCD 16×2 với đường nguồn âm (-) trên breadboard.
  • Kết nối chân 2 và 15 của LCD 16×2 với đường nguồn dương (+) trên breadboard.

Bước 3: Thêm điện trở hạn dòng cho đèn nền (nếu cần)

  • Nếu màn hình LCD 1602 có điện trở hạn dòng cho đèn nền, hãy kiểm tra mặt sau của màn hình gần chân 15.
  • Nếu không có điện trở, hoặc các bạn không chắc chắn, hãy thêm một điện trở 220 ohm giữa chân 15 và đường nguồn dương (+).

Bước 4: Kết nối biến trở để điều chỉnh độ tương phản:

  • Kết nối một bên của biến trở 10K vào đường nguồn dương (+) trên breadboard.
  • Kết nối bên còn lại của biến trở vào đường nguồn âm (-) trên breadboard.
  • Kết nối nối giữa chân wiper của biến trở với chân 3 của màn hình LCD 16×2.

Bước 5: Bật Arduino và kiểm tra:

  • Bật Arduino để cấp nguồn cho màn hình LCD arduino.
  • Bạn sẽ thấy đèn nền của màn hình sáng lên.
  • Xoay núm biến trở, bạn sẽ thấy các hình chữ nhật đầu tiên xuất hiện.
  • Nếu bạn đã làm theo các bước trên và màn hình LCD hiển thị đúng, chúc mừng! Màn hình LCD 1602 của bạn hoạt động bình thường.

Liquid Crystal Displays (LCD) with Arduino

Find out how to wire an LCD to an Arduino, and how to use the LiquidCrystal library through a set of useful examples.

This article was revised on 2021/11/18 by Karl Söderby.

The LiquidCrystal library allows you to control LCD displays that are compatible with the Hitachi HD44780 driver. There are many of them out there, and you can usually tell them by the 16-pin interface.

The LCDs have a parallel interface, meaning that the microcontroller has to manipulate several interface pins at once to control the display. The interface consists of the following pins:

  • A register select (RS) pin that controls where in the LCD’s memory you’re writing data to. You can select either the data register, which holds what goes on the screen, or an instruction register, which is where the LCD’s controller looks for instructions on what to do next.
  • A Read/Write (R/W) pin that selects reading mode or writing mode
  • An Enable pin that enables writing to the registers
  • 8 data pins (D0 -D7). The states of these pins (high or low) are the bits that you’re writing to a register when you write, or the values you’re reading when you read.

There’s also a display contrast pin (Vo), power supply pins (+5V and GND) and LED Backlight (Bklt+ and BKlt-) pins that you can use to power the LCD, control the display contrast, and turn on and off the LED backlight, respectively.

The process of controlling the display involves putting the data that form the image of what you want to display into the data registers, then putting instructions in the instruction register. The LiquidCrystal Library simplifies this for you so you don’t need to know the low-level instructions.

The Hitachi-compatible LCDs can be controlled in two modes: 4-bit or 8-bit. The 4-bit mode requires seven I/O pins from the Arduino, while the 8-bit mode requires 11 pins. For displaying text on the screen, you can do most everything in 4-bit mode, so example shows how to control a 16×2 LCD in 4-bit mode.

How to Use I2C LCD with Arduino | Very Easy Arduino LCD I2C Tutorial | Arduino 16x2 LCD I2C Tutorial
How to Use I2C LCD with Arduino | Very Easy Arduino LCD I2C Tutorial | Arduino 16×2 LCD I2C Tutorial

Schematic

Hello World Example

This example sketch prints

to the LCD and shows the time in seconds since the Arduino was reset.

Hello World!

1/*2 LiquidCrystal Library – Hello World34 Demonstrates the use a 16×2 LCD display. The LiquidCrystal5 library works with all LCD displays that are compatible with the6 Hitachi HD44780 driver. There are many of them out there, and you7 can usually tell them by the 16-pin interface.89 This sketch prints “Hello World!” to the LCD10 and shows the time.1112 The circuit:13 * LCD RS pin to digital pin 1214 * LCD Enable pin to digital pin 1115 * LCD D4 pin to digital pin 516 * LCD D5 pin to digital pin 417 * LCD D6 pin to digital pin 318 * LCD D7 pin to digital pin 219 * LCD R/W pin to ground20 * LCD VSS pin to ground21 * LCD VCC pin to 5V22 * 10K resistor:23 * ends to +5V and ground24 * wiper to LCD VO pin (pin 3)2526 Library originally added 18 Apr 200827 by David A. Mellis28 library modified 5 Jul 200929 by Limor Fried (http://www.ladyada.net)30 example added 9 Jul 200931 by Tom Igoe32 modified 22 Nov 201033 by Tom Igoe34 modified 7 Nov 201635 by Arturo Guadalupi3637 This example code is in the public domain.3839 https://docs.arduino.cc/learn/electronics/lcd-displays4041*/4243// include the library code:44#include 4546// initialize the library by associating any needed LCD interface pin47// with the arduino pin number it is connected to48const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;49LiquidCrystal lcd(rs, en, d4, d5, d6, d7);5051void setup() {52 // set up the LCD’s number of columns and rows:53 lcd.begin(16, 2);54 // Print a message to the LCD.55 lcd.print(“hello, world!”);56}5758void loop() {59 // set the cursor to column 0, line 160 // (note: line 1 is the second row, since counting begins with 0):61 lcd.setCursor(0, 1);62 // print the number of seconds since reset:63 lcd.print(millis() / 1000);64}

Autoscroll Example

This example sketch shows how to use the

and

autoscroll()

methods to move all the text on the display left or right.

noAutoscroll()

  • moves all the text one space to the left each time a letter is added


    autoscroll()

  • turns scrolling off


    noAutoscroll()

This sketch prints the characters

to

with autoscroll off, then moves the cursor to the bottom right, turns autoscroll on, and prints them again.

1/*23 LiquidCrystal Library – Autoscroll45 Demonstrates the use a 16×2 LCD display. The LiquidCrystal67 library works with all LCD displays that are compatible with the89 Hitachi HD44780 driver. There are many of them out there, and you1011 can usually tell them by the 16-pin interface.1213 This sketch demonstrates the use of the autoscroll()1415 and noAutoscroll() functions to make new text scroll or not.1617 The circuit:1819 * LCD RS pin to digital pin 122021 * LCD Enable pin to digital pin 112223 * LCD D4 pin to digital pin 52425 * LCD D5 pin to digital pin 42627 * LCD D6 pin to digital pin 32829 * LCD D7 pin to digital pin 23031 * LCD R/W pin to ground3233 * 10K resistor:3435 * ends to +5V and ground3637 * wiper to LCD VO pin (pin 3)3839 Library originally added 18 Apr 20084041 by David A. Mellis4243 library modified 5 Jul 20094445 by Limor Fried (http://www.ladyada.net)4647 example added 9 Jul 20094849 by Tom Igoe5051 modified 22 Nov 20105253 by Tom Igoe5455 modified 7 Nov 20165657 by Arturo Guadalupi5859 This example code is in the public domain.6061 http://www.arduino.cc/en/Tutorial/LiquidCrystalAutoscroll6263*/6465// include the library code:66#include 6768// initialize the library by associating any needed LCD interface pin69// with the arduino pin number it is connected to7071const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;7273LiquidCrystal lcd(rs, en, d4, d5, d6, d7);7475void setup() {7677 // set up the LCD’s number of columns and rows:7879 lcd.begin(16, 2);80}8182void loop() {8384 // set the cursor to (0,0):8586 lcd.setCursor(0, 0);8788 // print from 0 to 9:8990 for (int thisChar = 0; thisChar < 10; thisChar++) {9192 lcd.print(thisChar);9394 delay(500);9596 }9798 // set the cursor to (16,1):99100 lcd.setCursor(16, 1);101102 // set the display to automatically scroll:103104 lcd.autoscroll();105106 // print from 0 to 9:107108 for (int thisChar = 0; thisChar < 10; thisChar++) {109110 lcd.print(thisChar);111112 delay(500);113114 }115116 // turn off automatic scrolling117118 lcd.noAutoscroll();119120 // clear screen for the next loop:121122 lcd.clear();123}

Blink Example

This example sketch shows how to use the

and

blink()

methods to blink a block-style cursor.

noBlink()

1/*23 LiquidCrystal Library – Blink45 Demonstrates the use a 16×2 LCD display. The LiquidCrystal67 library works with all LCD displays that are compatible with the89 Hitachi HD44780 driver. There are many of them out there, and you1011 can usually tell them by the 16-pin interface.1213 This sketch prints “Hello World!” to the LCD and makes the1415 cursor block blink.1617 The circuit:1819 * LCD RS pin to digital pin 122021 * LCD Enable pin to digital pin 112223 * LCD D4 pin to digital pin 52425 * LCD D5 pin to digital pin 42627 * LCD D6 pin to digital pin 32829 * LCD D7 pin to digital pin 23031 * LCD R/W pin to ground3233 * 10K resistor:3435 * ends to +5V and ground3637 * wiper to LCD VO pin (pin 3)3839 Library originally added 18 Apr 20084041 by David A. Mellis4243 library modified 5 Jul 20094445 by Limor Fried (http://www.ladyada.net)4647 example added 9 Jul 20094849 by Tom Igoe5051 modified 22 Nov 20105253 by Tom Igoe5455 modified 7 Nov 20165657 by Arturo Guadalupi5859 This example code is in the public domain.6061 http://www.arduino.cc/en/Tutorial/LiquidCrystalBlink6263*/6465// include the library code:66#include 6768// initialize the library by associating any needed LCD interface pin69// with the arduino pin number it is connected to7071const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;7273LiquidCrystal lcd(rs, en, d4, d5, d6, d7);7475void setup() {7677 // set up the LCD’s number of columns and rows:7879 lcd.begin(16, 2);8081 // Print a message to the LCD.8283 lcd.print(“hello, world!”);84}8586void loop() {8788 // Turn off the blinking cursor:8990 lcd.noBlink();9192 delay(3000);9394 // Turn on the blinking cursor:9596 lcd.blink();9798 delay(3000);99}

Cursor

This example sketch shows how to use the

and

cursor()

methods to control an underscore-style cursor.

noCursor()

1/*23 LiquidCrystal Library – Cursor45 Demonstrates the use a 16×2 LCD display. The LiquidCrystal67 library works with all LCD displays that are compatible with the89 Hitachi HD44780 driver. There are many of them out there, and you1011 can usually tell them by the 16-pin interface.1213 This sketch prints “Hello World!” to the LCD and1415 uses the cursor() and noCursor() methods to turn1617 on and off the cursor.1819 The circuit:2021 * LCD RS pin to digital pin 122223 * LCD Enable pin to digital pin 112425 * LCD D4 pin to digital pin 52627 * LCD D5 pin to digital pin 42829 * LCD D6 pin to digital pin 33031 * LCD D7 pin to digital pin 23233 * LCD R/W pin to ground3435 * 10K resistor:3637 * ends to +5V and ground3839 * wiper to LCD VO pin (pin 3)4041 Library originally added 18 Apr 20084243 by David A. Mellis4445 library modified 5 Jul 20094647 by Limor Fried (http://www.ladyada.net)4849 example added 9 Jul 20095051 by Tom Igoe5253 modified 22 Nov 20105455 by Tom Igoe5657 modified 7 Nov 20165859 by Arturo Guadalupi6061 This example code is in the public domain.6263 http://www.arduino.cc/en/Tutorial/LiquidCrystalCursor6465*/6667// include the library code:68#include 6970// initialize the library by associating any needed LCD interface pin71// with the arduino pin number it is connected to7273const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;7475LiquidCrystal lcd(rs, en, d4, d5, d6, d7);7677void setup() {7879 // set up the LCD’s number of columns and rows:8081 lcd.begin(16, 2);8283 // Print a message to the LCD.8485 lcd.print(“hello, world!”);86}8788void loop() {8990 // Turn off the cursor:9192 lcd.noCursor();9394 delay(500);9596 // Turn on the cursor:9798 lcd.cursor();99100 delay(500);101}

Display Example

This example sketch shows how to use the

and

display()

methods to turn on and off the display. The text to be displayed will still be preserved when you use noDisplay() so it’s a quick way to blank the display without losing everything on it.

noDisplay()

1/*2 LiquidCrystal Library – display() and noDisplay()34 Demonstrates the use a 16×2 LCD display. The LiquidCrystal5 library works with all LCD displays that are compatible with the6 Hitachi HD44780 driver. There are many of them out there, and you7 can usually tell them by the 16-pin interface.89 This sketch prints “Hello World!” to the LCD and uses the10 display() and noDisplay() functions to turn on and off11 the display.1213 The circuit:14 * LCD RS pin to digital pin 1215 * LCD Enable pin to digital pin 1116 * LCD D4 pin to digital pin 517 * LCD D5 pin to digital pin 418 * LCD D6 pin to digital pin 319 * LCD D7 pin to digital pin 220 * LCD R/W pin to ground21 * 10K resistor:22 * ends to +5V and ground23 * wiper to LCD VO pin (pin 3)2425 Library originally added 18 Apr 200826 by David A. Mellis27 library modified 5 Jul 200928 by Limor Fried (http://www.ladyada.net)29 example added 9 Jul 200930 by Tom Igoe31 modified 22 Nov 201032 by Tom Igoe33 modified 7 Nov 201634 by Arturo Guadalupi3536 This example code is in the public domain.3738 http://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay3940*/4142// include the library code:43#include 4445// initialize the library by associating any needed LCD interface pin46// with the arduino pin number it is connected to47const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;48LiquidCrystal lcd(rs, en, d4, d5, d6, d7);4950void setup() {51 // set up the LCD’s number of columns and rows:52 lcd.begin(16, 2);53 // Print a message to the LCD.54 lcd.print(“hello, world!”);55}5657void loop() {58 // Turn off the display:59 lcd.noDisplay();60 delay(500);61 // Turn on the display:62 lcd.display();63 delay(500);64}

Scroll Example

This example sketch shows how to use the

and

scrollDisplayLeft()

methods to reverse the direction the text is flowing. It prints “Hello World!”, scrolls it offscreen to the left, then offscreen to the right, then back to home.

scrollDisplayRight()

1/*2 LiquidCrystal Library – scrollDisplayLeft() and scrollDisplayRight()34 Demonstrates the use a 16×2 LCD display. The LiquidCrystal5 library works with all LCD displays that are compatible with the6 Hitachi HD44780 driver. There are many of them out there, and you7 can usually tell them by the 16-pin interface.89 This sketch prints “Hello World!” to the LCD and uses the10 scrollDisplayLeft() and scrollDisplayRight() methods to scroll11 the text.1213 The circuit:14 * LCD RS pin to digital pin 1215 * LCD Enable pin to digital pin 1116 * LCD D4 pin to digital pin 517 * LCD D5 pin to digital pin 418 * LCD D6 pin to digital pin 319 * LCD D7 pin to digital pin 220 * LCD R/W pin to ground21 * 10K resistor:22 * ends to +5V and ground23 * wiper to LCD VO pin (pin 3)2425 Library originally added 18 Apr 200826 by David A. Mellis27 library modified 5 Jul 200928 by Limor Fried (http://www.ladyada.net)29 example added 9 Jul 200930 by Tom Igoe31 modified 22 Nov 201032 by Tom Igoe33 modified 7 Nov 201634 by Arturo Guadalupi3536 This example code is in the public domain.3738 http://www.arduino.cc/en/Tutorial/LiquidCrystalScroll3940*/4142// include the library code:43#include 4445// initialize the library by associating any needed LCD interface pin46// with the arduino pin number it is connected to47const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;48LiquidCrystal lcd(rs, en, d4, d5, d6, d7);4950void setup() {51 // set up the LCD’s number of columns and rows:52 lcd.begin(16, 2);53 // Print a message to the LCD.54 lcd.print(“hello, world!”);55 delay(1000);56}5758void loop() {59 // scroll 13 positions (string length) to the left60 // to move it offscreen left:61 for (int positionCounter = 0; positionCounter < 13; positionCounter++) {62 // scroll one position left:63 lcd.scrollDisplayLeft();64 // wait a bit:65 delay(150);66 }6768 // scroll 29 positions (string length + display length) to the right69 // to move it offscreen right:70 for (int positionCounter = 0; positionCounter < 29; positionCounter++) {71 // scroll one position right:72 lcd.scrollDisplayRight();73 // wait a bit:74 delay(150);75 }7677 // scroll 16 positions (display length + string length) to the left78 // to move it back to center:79 for (int positionCounter = 0; positionCounter < 16; positionCounter++) {80 // scroll one position left:81 lcd.scrollDisplayLeft();82 // wait a bit:83 delay(150);84 }8586 // delay at the end of the full loop:87 delay(1000);8889}

Serial to Display Example

This example sketch accepts serial input from a host computer and displays it on the LCD. To use it, upload the sketch, then open the Serial Monitor and type some characters and click Send. The text will appear on your LCD.

1/*2 LiquidCrystal Library – Serial Input34 Demonstrates the use a 16×2 LCD display. The LiquidCrystal5 library works with all LCD displays that are compatible with the6 Hitachi HD44780 driver. There are many of them out there, and you7 can usually tell them by the 16-pin interface.89 This sketch displays text sent over the serial port10 (e.g. from the Serial Monitor) on an attached LCD.1112 The circuit:13 * LCD RS pin to digital pin 1214 * LCD Enable pin to digital pin 1115 * LCD D4 pin to digital pin 516 * LCD D5 pin to digital pin 417 * LCD D6 pin to digital pin 318 * LCD D7 pin to digital pin 219 * LCD R/W pin to ground20 * 10K resistor:21 * ends to +5V and ground22 * wiper to LCD VO pin (pin 3)2324 Library originally added 18 Apr 200825 by David A. Mellis26 library modified 5 Jul 200927 by Limor Fried (http://www.ladyada.net)28 example added 9 Jul 200929 by Tom Igoe30 modified 22 Nov 201031 by Tom Igoe32 modified 7 Nov 201633 by Arturo Guadalupi3435 This example code is in the public domain.3637 http://www.arduino.cc/en/Tutorial/LiquidCrystalSerialDisplay3839*/4041// include the library code:42#include 4344// initialize the library by associating any needed LCD interface pin45// with the arduino pin number it is connected to46const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;47LiquidCrystal lcd(rs, en, d4, d5, d6, d7);4849void setup() {50 // set up the LCD’s number of columns and rows:51 lcd.begin(16, 2);52 // initialize the serial communications:53 Serial.begin(9600);54}5556void loop() {57 // when characters arrive over the serial port…58 if (Serial.available()) {59 // wait a bit for the entire message to arrive60 delay(100);61 // clear the screen62 lcd.clear();63 // read all the available characters64 while (Serial.available() > 0) {65 // display each character to the LCD66 lcd.write(Serial.read());67 }68 }69}

Set Cursor Example

This example sketch shows how to use the

method to reposition the cursor. To move the cursor, just call

setCursor()

with a row and column position. For example, for a 2×16 display:

setCursor()

1lcd.setCursor(0, 0); // top left2lcd.setCursor(15, 0); // top right3lcd.setCursor(0, 1); // bottom left4lcd.setCursor(15, 1); // bottom right

Here is the full example:

1/*23 LiquidCrystal Library – setCursor45 Demonstrates the use a 16×2 LCD display. The LiquidCrystal67 library works with all LCD displays that are compatible with the89 Hitachi HD44780 driver. There are many of them out there, and you1011 can usually tell them by the 16-pin interface.1213 This sketch prints to all the positions of the LCD using the1415 setCursor() method:1617 The circuit:1819 * LCD RS pin to digital pin 122021 * LCD Enable pin to digital pin 112223 * LCD D4 pin to digital pin 52425 * LCD D5 pin to digital pin 42627 * LCD D6 pin to digital pin 32829 * LCD D7 pin to digital pin 23031 * LCD R/W pin to ground3233 * 10K resistor:3435 * ends to +5V and ground3637 * wiper to LCD VO pin (pin 3)3839 Library originally added 18 Apr 20084041 by David A. Mellis4243 library modified 5 Jul 20094445 by Limor Fried (http://www.ladyada.net)4647 example added 9 Jul 20094849 by Tom Igoe5051 modified 22 Nov 20105253 by Tom Igoe5455 modified 7 Nov 20165657 by Arturo Guadalupi5859 This example code is in the public domain.6061 http://www.arduino.cc/en/Tutorial/LiquidCrystalSetCursor6263*/6465// include the library code:66#include 6768// initialize the library by associating any needed LCD interface pin69// with the arduino pin number it is connected to7071const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;7273LiquidCrystal lcd(rs, en, d4, d5, d6, d7);7475// these constants won’t change. But you can change the size of76// your LCD using them:7778const int numRows = 2;7980const int numCols = 16;8182void setup() {8384 // set up the LCD’s number of columns and rows:8586 lcd.begin(numCols, numRows);87}8889void loop() {9091 // loop from ASCII ‘a’ to ASCII ‘z’:9293 for (int thisLetter = ‘a’; thisLetter <= ‘z’; thisLetter++) {9495 // loop over the columns:9697 for (int thisRow = 0; thisRow < numRows; thisRow++) {9899 // loop over the rows:100101 for (int thisCol = 0; thisCol < numCols; thisCol++) {102103 // set the cursor position:104105 lcd.setCursor(thisCol, thisRow);106107 // print the letter:108109 lcd.write(thisLetter);110111 delay(200);112113 }114115 }116117 }118}

Text Direction Example

This example sketch shows how to use the

and

leftToRight()

methods. These methods control which way text flows from the cursor.

rightToLeft()

  • causes text to flow to the left from the cursor, as if the display is right-justified.


    rightToLeft()

  • causes text to flow to the right from the cursor, as if the display is left-justified.


    leftToRight()

This sketch prints

through

right to left, then

through

left to right, then

through

right to left again.

1/*23 LiquidCrystal Library – TextDirection45 Demonstrates the use a 16×2 LCD display. The LiquidCrystal67 library works with all LCD displays that are compatible with the89 Hitachi HD44780 driver. There are many of them out there, and you1011 can usually tell them by the 16-pin interface.1213 This sketch demonstrates how to use leftToRight() and rightToLeft()1415 to move the cursor.1617 The circuit:1819 * LCD RS pin to digital pin 122021 * LCD Enable pin to digital pin 112223 * LCD D4 pin to digital pin 52425 * LCD D5 pin to digital pin 42627 * LCD D6 pin to digital pin 32829 * LCD D7 pin to digital pin 23031 * LCD R/W pin to ground3233 * 10K resistor:3435 * ends to +5V and ground3637 * wiper to LCD VO pin (pin 3)3839 Library originally added 18 Apr 20084041 by David A. Mellis4243 library modified 5 Jul 20094445 by Limor Fried (http://www.ladyada.net)4647 example added 9 Jul 20094849 by Tom Igoe5051 modified 22 Nov 20105253 by Tom Igoe5455 modified 7 Nov 20165657 by Arturo Guadalupi5859 This example code is in the public domain.6061 http://www.arduino.cc/en/Tutorial/LiquidCrystalTextDirection6263*/6465// include the library code:66#include 6768// initialize the library by associating any needed LCD interface pin69// with the arduino pin number it is connected to7071const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;7273LiquidCrystal lcd(rs, en, d4, d5, d6, d7);7475int thisChar = ‘a’;7677void setup() {7879 // set up the LCD’s number of columns and rows:8081 lcd.begin(16, 2);8283 // turn on the cursor:8485 lcd.cursor();86}8788void loop() {8990 // reverse directions at ‘m’:9192 if (thisChar == ‘m’) {9394 // go right for the next letter9596 lcd.rightToLeft();9798 }99100 // reverse again at ‘s’:101102 if (thisChar == ‘s’) {103104 // go left for the next letter105106 lcd.leftToRight();107108 }109110 // reset at ‘z’:111112 if (thisChar > ‘z’) {113114 // go to (0,0):115116 lcd.home();117118 // start again at 0119120 thisChar = ‘a’;121122 }123124 // print the character125126 lcd.write(thisChar);127128 // wait a second:129130 delay(1000);131132 // increment the letter:133134 thisChar++;135}

Custom Character

This example demonstrates how to add custom characters on an LCD display.

Note that this example requires an additional potentiometer:

  • Outer pins connected to 5V and GND.
  • Inner pin (wiper) connected to A0.

This potentiometer controls the

variable.

delayTime

1/*2 LiquidCrystal Library – Custom Characters34 Demonstrates how to add custom characters on an LCD display.5 The LiquidCrystal library works with all LCD displays that are6 compatible with the Hitachi HD44780 driver. There are many of7 them out there, and you can usually tell them by the 16-pin interface.89 This sketch prints “I

Arduino!” and a little dancing man10 to the LCD.1112 The circuit:13 * LCD RS pin to digital pin 1214 * LCD Enable pin to digital pin 1115 * LCD D4 pin to digital pin 516 * LCD D5 pin to digital pin 417 * LCD D6 pin to digital pin 318 * LCD D7 pin to digital pin 219 * LCD R/W pin to ground20 * 10K potentiometer:21 * ends to +5V and ground22 * wiper to LCD VO pin (pin 3)23 * 10K poterntiometer on pin A02425 created 21 Mar 201126 by Tom Igoe27 modified 11 Nov 201328 by Scott Fitzgerald29 modified 7 Nov 201630 by Arturo Guadalupi3132 Based on Adafruit’s example at33 https://github.com/adafruit/SPI_VFD/blob/master/examples/createChar/createChar.pde3435 This example code is in the public domain.36 https://docs.arduino.cc/learn/electronics/lcd-displays#custom-character3738 Also useful:39 http://icontexto.com/charactercreator/4041*/4243// include the library code:44#include 4546// initialize the library by associating any needed LCD interface pin47// with the arduino pin number it is connected to48const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;49LiquidCrystal lcd(rs, en, d4, d5, d6, d7);5051// make some custom characters:52byte heart[8] = {53 0b00000,54 0b01010,55 0b11111,56 0b11111,57 0b11111,58 0b01110,59 0b00100,60 0b0000061};6263byte smiley[8] = {64 0b00000,65 0b00000,66 0b01010,67 0b00000,68 0b00000,69 0b10001,70 0b01110,71 0b0000072};7374byte frownie[8] = {75 0b00000,76 0b00000,77 0b01010,78 0b00000,79 0b00000,80 0b00000,81 0b01110,82 0b1000183};8485byte armsDown[8] = {86 0b00100,87 0b01010,88 0b00100,89 0b00100,90 0b01110,91 0b10101,92 0b00100,93 0b0101094};9596byte armsUp[8] = {97 0b00100,98 0b01010,99 0b00100,100 0b10101,101 0b01110,102 0b00100,103 0b00100,104 0b01010105};106107void setup() {108 // initialize LCD and set up the number of columns and rows:109 lcd.begin(16, 2);110111 // create a new character112 lcd.createChar(0, heart);113 // create a new character114 lcd.createChar(1, smiley);115 // create a new character116 lcd.createChar(2, frownie);117 // create a new character118 lcd.createChar(3, armsDown);119 // create a new character120 lcd.createChar(4, armsUp);121122 // set the cursor to the top left123 lcd.setCursor(0, 0);124125 // Print a message to the lcd.126 lcd.print(“I “);127 lcd.write(byte(0)); // when calling lcd.write() ‘0’ must be cast as a byte128 lcd.print(” Arduino! “);129 lcd.write((byte)1);130131}132133void loop() {134 // read the potentiometer on A0:135 int sensorReading = analogRead(A0);136 // map the result to 200 – 1000:137 int delayTime = map(sensorReading, 0, 1023, 200, 1000);138 // set the cursor to the bottom row, 5th position:139 lcd.setCursor(4, 1);140 // draw the little man, arms down:141 lcd.write(3);142 delay(delayTime);143 lcd.setCursor(4, 1);144 // draw him arms up:145 lcd.write(4);146 delay(delayTime);147}

Suggested changes

The content on docs.arduino.cc is facilitated through a public GitHub repository. You can read more on how to contribute in the contribution policy.

License

The Arduino documentation is licensed under the Creative Commons Attribution-Share Alike 4.0 license.

In this Arduino tutorial we will learn how to connect and use an LCD (Liquid Crystal Display) with Arduino. LCD displays like these are very popular and broadly used in many electronics projects because they are great for displaying simple information, like sensors data, while being very affordable.

I’ve already used them in several of my Arduino projects, and you can check them out here:

  • Arduino Security and Alarm System Project
  • DIY Vending Machine – Arduino based Mechatronics Project
  • Arduino Range Measurer and Digital Spirit Level Project

You can watch the following video or read the written tutorial below. It includes everything you need to know about using an LCD character display with Arduino, such as, LCD pinout, wiring diagram and several example codes.

Scrolling text example on 16×2 LCD and Arduino

In case we have a text with length greater than 16 characters, we can scroll the text using the scrollDisplayLeft() or scrollDisplayRight() function from the LiquidCrystal library.

Here’s an example code:


LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) void setup() { lcd.begin(16, 2); lcd.print("Scrolling Text Example"); } void loop() { lcd.scrollDisplayLeft(); delay(500); }

Code language: Arduino (arduino)

We can choose whether the text will scroll left or right, using the scrollDisplayLeft() or scrollDisplayRight() functions. With the delay() function we can set the scrolling speed.

If you want more control over how the text is scrolling, you could also make the scrolling on your own using a “for” loop. Here’s an example:


LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) void setup() { lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display } void loop() { // scroll text to the right for (int i = 0; i <= 13; i++) { lcd.setCursor(i, 0); // Sets the location at which subsequent text written to the LCD will be displayed lcd.print("LCD"); delay(500); // 1 second delay lcd.clear(); // Write a character to the LCD } // scroll text to the left for (int i = 12; i >= 1; i--) { lcd.setCursor(i, 0); lcd.print("LCD"); delay(500); lcd.clear(); } }

Code language: Arduino (arduino)

How to Use an LCD Screen with an Arduino (Lesson #21)
How to Use an LCD Screen with an Arduino (Lesson #21)

16×2 LCD Pinout

It has 16 pins and the first one from left to right is the Ground pin. The second pin is the VCC which we connect the 5 volts pin on the Arduino Board. Next is the Vo pin on which we can attach a potentiometer for controlling the contrast of the display.

Next, The RS pin or register select pin is used for selecting whether we will send commands or data to the LCD. For example if the RS pin is set on low state or zero volts, then we are sending commands to the LCD like: set the cursor to a specific location, clear the display, turn off the display and so on. And when RS pin is set on High state or 5 volts we are sending data or characters to the LCD.

Next comes the R/W pin which selects the mode whether we will read or write to the LCD. Here the write mode is obvious and it is used for writing or sending commands and data to the LCD. The read mode is used by the LCD itself when executing the program which we don’t have a need to discuss about it in this tutorial.

Next is the E pin which enables the writing to the registers, or the next 8 data pins from D0 to D7. So through this pins we are sending the 8 bits data when we are writing to the registers or for example if we want to see the latter uppercase A on the display we will send 0100 0001 to the registers according to the ASCII table. The last two pins A and K, or anode and cathode are for the LED back light.

After all we don’t have to worry much about how the LCD works, as the Liquid Crystal Library takes care for almost everything. From the Arduino’s official website you can find and see the functions of the library which enable easy use of the LCD. We can use the Library in 4 or 8 bit mode. In this tutorial we will use it in 4 bit mode, or we will just use 4 of the 8 data pins.

Conclusion

So, we have covered pretty much everything we need to know about using an LCD with Arduino. These LCD Character displays are really handy for displaying information for many electronics project. In the examples above I used 16×2 LCD, but the same working principle applies for any other size of these character displays.

I hope you enjoyed this tutorial and learned something new. Feel free to ask any question in the comments section below and don’t forget to check out my full collection of 30+ Arduino Projects.

“Hello World!”

The LiquidCrystal library allows you to control LCD displays that are compatible with the Hitachi HD44780 driver. There are many of them out there, and you can usually tell them by the 16-pin interface.

This example sketch prints “Hello World!” to the LCD and shows the time in seconds since the Arduino was reset.

output of the sketch on a 16×2 LCD

The LCDs have a parallel interface, meaning that the microcontroller has to manipulate several interface pins at once to control the display. The interface consists of the following pins:

A register select (RS) pin that controls where in the LCD’s memory you’re writing data to. You can select either the data register, which holds what goes on the screen, or an instruction register, which is where the LCD’s controller looks for instructions on what to do next.

A Read/Write (R/W) pin that selects reading mode or writing mode

An Enable pin that enables writing to the registers

8 data pins (D0 -D7). The states of these pins (high or low) are the bits that you’re writing to a register when you write, or the values you’re reading when you read.

There’s also a display constrast pin (Vo), power supply pins (+5V and Gnd) and LED Backlight (Bklt+ and BKlt-) pins that you can use to power the LCD, control the display contrast, and turn on and off the LED backlight, respectively.

The process of controlling the display involves putting the data that form the image of what you want to display into the data registers, then putting instructions in the instruction register. The LiquidCrystal Library simplifies this for you so you don’t need to know the low-level instructions.

The Hitachi-compatible LCDs can be controlled in two modes: 4-bit or 8-bit. The 4-bit mode requires seven I/O pins from the Arduino, while the 8-bit mode requires 11 pins. For displaying text on the screen, you can do most everything in 4-bit mode, so example shows how to control a 16×2 LCD in 4-bit mode.

Hardware Required

  • Arduino Board

  • LCD Screen (compatible with Hitachi HD44780 driver)

  • pin headers to solder to the LCD display pins

  • 10k ohm potentiometer

  • 220 ohm resistor

  • hook-up wires

  • breadboard

Circuit

Before wiring the LCD screen to your Arduino board we suggest to solder a pin header strip to the 14 (or 16) pin count connector of the LCD screen, as you can see in the image above. To wire your LCD screen to your board, connect the following pins:

  • LCD RS pin to digital pin 12

  • LCD Enable pin to digital pin 11

  • LCD D4 pin to digital pin 5

  • LCD D5 pin to digital pin 4

  • LCD D6 pin to digital pin 3

  • LCD D7 pin to digital pin 2

  • LCD R/W pin to GND

  • LCD VSS pin to GND

  • LCD VCC pin to 5V

  • LCD LED+ to 5V through a 220 ohm resistor

  • LCD LED- to GND

Additionally, wire a 10k pot to +5V and GND, with it’s wiper (output) to LCD screens VO pin (pin3).

click the images to enlarge

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Schematic

click the images to enlarge

image developed using Fritzing. For more circuit examples, see the Fritzing project page

Code

See Also

  • Liquid Crystal Library – Your reference for the Liquid Crystal library.

  • Blink – Control of the block-style cursor.

  • Cursor – Control of the underscore-style cursor.

  • Display – Quickly blank the display without losing what’s on it.

  • TextDirection – Control which way text flows from the cursor.

  • Scroll – Scroll text left and right.

  • Serial display – Accepts serial input, displays it.

  • SetCursor – Set the cursor position.

  • Autoscroll – Shift text right and left.

Last revision 2019/04/05 by SM

Hướng dẫn sử dụng màn hình LCD 16×2 với Arduino

Trong hướng dẫn này, các bạn sẽ tìm hiểu cách sử dụng màn hình LCD 16×2 với Arduino, bằng cách sử dụng thư viện LiquidCrystal để điều khiển màn hình.

Qua đó sẽ khám phá các chức năng cơ bản của màn hình LCD 1602 như hiển thị văn bản, di chuyển con trỏ, xóa màn hình và điều chỉnh độ sáng. Bên cạnh đó, các bạn sẽ tìm hiểu cách tạo các ký tự tùy chỉnh trên màn hình LCD arduino.

Để tạo động lực cho Team Arduino KIT ra nhiều bài viết chất lượng hơn, các bạn có thể ủng hộ mình bằng cách Donate qua MoMo, Ngân hàng, Paypal…Nhấn vào link bên dưới nhé.

Arduino LCD Tutorial | How To Control An LCD
Arduino LCD Tutorial | How To Control An LCD

Circuit

Note that this circuit was originally designed for the Arduino UNO. As the Arduino is communicating with the display using SPI, pin 11 & 12 will change depending on what board you are using. For example, on a MKR WiFi 1010, the SPI bus is attached to pin 8 & 11.

Before wiring the LCD screen to your Arduino board we suggest to solder a pin header strip to the 14 (or 16) pin count connector of the LCD screen, as you can see in the image further up.

To wire your LCD screen to your board, connect the following pins:

  • LCD RS pin to digital pin 12
  • LCD Enable pin to digital pin 11
  • LCD D4 pin to digital pin 5
  • LCD D5 pin to digital pin 4
  • LCD D6 pin to digital pin 3
  • LCD D7 pin to digital pin 2
  • LCD R/W pin to GND
  • LCD VSS pin to GND
  • LCD VCC pin to 5V
  • LCD LED+ to 5V through a 220 ohm resistor
  • LCD LED- to GND

Additionally, wire a 10k potentiometer to +5V and GND, with it’s wiper (output) to LCD screens VO pin (pin3).

Adjusting the contrast of the LCD

We can adjust the contrast of the LCD by adjusting the voltage input at the Vo pin. We are using a potentiometer because in that way we can easily fine tune the contrast, by adjusting input voltage from 0 to 5V.

Can I use the LCD without Potentiometer?

Yes, in case we don’t have a potentiometer, we can still adjust the LCD contrast by using a voltage divider made out of two resistors. Using the voltage divider we need to set the voltage value between 0 and 5V in order to get a good contrast on the display. I found that voltage of around 1V worked worked great for my LCD. I used 1K and 220 ohm resistor to get a good contrast.

There’s also another way of adjusting the LCD contrast, and that’s by supplying a PWM signal from the Arduino to the Vo pin of the LCD. We can connect the Vo pin to any Arduino PWM capable pin, and in the setup section, we can use the following line of code:


analogWrite(11,100); // Generate PWM signal at pin D11, value of 100 (out of 255)

Code language: Arduino (arduino)

It will generate PWM signal at pin D11, with value of 100 out of 255, which translated into voltage from 0 to 5V, it will be around 2V input at the Vo LCD pin.

Using LCD Displays with Arduino
Using LCD Displays with Arduino

What is LCD Character Display?

An LCD character display is a unique type of display that can only output individual ASCII characters with fixed size. Using these individual characters then we can form a text.

If we take a closer look at the display we can notice that there are small rectangular areas composed of 5×8 pixels grid. Each pixel can light up individually, and so we can generate characters within each grid.

The number of the rectangular areas define the size of the LCD. The most popular LCD is the 16×2 LCD, which has two rows with 16 rectangular areas or characters. Of course, there are other sizes like 16×1, 16×4, 20×4 and so on, but they all work on the same principle. Also, these LCDs can have different background and text color.

Code màn hình LCD 16×2 Arduino

// include the library code: #include // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD’s number of columns and rows: lcd.begin(16, 2); // Clears the LCD screen lcd.clear(); } void loop() { // Print a message to the LCD. lcd.print(” Hello world!”); // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // Print a message to the LCD. lcd.print(” LCD Tutorial”); }

Giải thích code

// include the library code: #include

Khai báo để sử dụng thư viện LiquidCrystal, cho phép tương tác với màn hình LCD 16×2.

// Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

khởi tạo đối tượng lcd từ lớp LiquidCrystal. Các tham số truyền vào định nghĩa các chân kết nối giữa Arduino và màn hình LCD. Cụ thể, chân RS (Register Select) của LCD được kết nối với chân 12 của Arduino, chân Enable được kết nối với chân 11, các chân dữ liệu D4 đến D7 được kết nối tương ứng với chân 5, 4, 3, 2 của Arduino.

// set up the LCD’s number of columns and rows: lcd.begin(16, 2); // Clears the LCD screen lcd.clear();


lcd.begin(16, 2);

Thiết lập số cột và số hàng của màn hình LCD 16×2. Trong trường hợp này, màn hình LCD có 16 cột và 2 hàng.


lcd.clear();

Xóa nội dung trên màn hình LCD Arduino.

// Print a message to the LCD. lcd.print(” Hello world!”);


lcd.print(" Hello world!");

Hiển thị chuỗi “Hello world!” lên màn hình LCD 1602. Chuỗi này sẽ được hiển thị trên dòng 0 (hàng đầu tiên) và từ cột 0 trở đi.

// set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1);


lcd.setCursor(0, 1);

Đặt vị trí con trỏ của LCD 16×2 tới cột 0, dòng 1 (hàng thứ hai).

Arduino Tutorial 48: Connecting and Using an LCD Display
Arduino Tutorial 48: Connecting and Using an LCD Display

Tổng quan về màn hình LCD 16×2

Màn hình LCD 16×2 là một loại màn hình ký tự thông dụng trong các dự án điện tử. Nó có khả năng hiển thị 16 cột và 2 hàng của các ký tự.

Màn hình này sử dụng công nghệ hiển thị Liquid Crystal Display (LCD) để hiển thị thông tin. Nó có thể hiển thị các ký tự từ bảng mã ASCII và có thể hiển thị các ký tự chữ cái, chữ số, ký tự đặc biệt và các biểu tượng khác.

Màn hình LCD 16×2 có một lưới pixel 5×8 cho mỗi ký tự. Điều này có nghĩa là mỗi ký tự được hiển thị bằng một ma trận 5×8 điểm ảnh. Nó cũng có thể hiển thị các ký tự tiếng Việt nhưng có giới hạn một số ký tự đặc biệt.

How to Connect Arduino to LCD – Wiring Diagram

Here’s how we need to connect the 16×2 LCD display to an Arduino board.

We will use just 6 digital input pins from the Arduino Board. The LCD’s registers from D4 to D7 will be connected to Arduino’s digital pins from 4 to 7. The Enable pin will be connected to pin number 2 and the RS pin will be connected to pin number 1. The R/W pin will be connected to Ground and the Vo pin will be connected to the potentiometer middle pin.

You can get these components from any of the sites below:

  • 16×2 Character LCD…………………….. Amazon / Banggood / AliExpress
  • Potentiometer ……………………………. Amazon / Banggood / AliExpress
  • Arduino Board …………………………… Amazon / Banggood / AliExpress
  • Breadboard and Jump Wires ……… Amazon / Banggood / AliExpress

Disclosure: These are affiliate links. As an Amazon Associate I earn from qualifying purchases.

Arduino | Hướng dẫn sử dụng chi tiết LCD
Arduino | Hướng dẫn sử dụng chi tiết LCD

How to Generate and Display Custom Characters on the LCD

In addition to the ASCII characters, with the LiquidCrystal library it is also possible to generate and display custom characters on the LCD.

We can specify the appearance of each character by an array of 8 bytes. Here’s an example code:


byte heart[8] = { // Array of bytes B00000, // B stands for binary formatter and the five numbers are the pixels B01010, B11111, B11111, B01110, B00100, B00000, B00000 }; byte smile[8] = { B00000, B00000, B01010, B00000, B10001, B01110, B00000, B00000 }; byte lock[8] = { B01110, B10001, B10001, B11111, B11011, B11011, B11111, B00000 }; byte character[8] = { B11111, B10101, B11111, B01010, B01110, B11111, B01110, B01110 }; LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LC object. Parameters: (rs, enable, d4, d5, d6, d7) void setup() { lcd.begin(16, 2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display lcd.createChar(0, heart); // Create a custom character lcd.createChar(1, smile); lcd.createChar(2, lock); lcd.createChar(3, character); // Clears the LCD screen lcd.clear(); // Print a message to the LCD lcd.print("Custom Character"); } void loop() { lcd.setCursor(1, 1); lcd.write(byte(0)); // Display the custom character 0, the heart lcd.setCursor(5, 1); lcd.write(byte(1)); lcd.setCursor(9, 1); lcd.write(byte(2)); lcd.setCursor(13, 1); lcd.write(byte(3)); }

Code language: Arduino (arduino)

We can notice how we can specify the appearance of the character by changing the 0s into 1s within the 5×8 pixels grid.

In the setup we have to create the custom character using the createChar() function.


lcd.createChar(0, heart); // Create a custom character

Code language: Arduino (arduino)

The first parameter in this function is a number between 0 and 7, or we have to reserve one of the 8 supported custom characters. The second parameter is the name of the array of bytes.

We write the custom character to the display using the write() function and as a parameter we use the number of the character.


lcd.write(byte(0)); // Display the custom character 0, or the heart

Code language: Arduino (arduino)

See also: Arduino Touch Screen Tutorial | TFT LCD

LCD Arduino Code

Here’s a simple code through which we can explain the working principle of the Liquid Crystal library. This is the code of the first example from the video:


/* * Arduino LCD Tutorial * * Crated by Dejan Nedelkovski, * www.HowToMechatronics.com * */ LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7) void setup() { lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display } } void loop() { lcd.print("Arduino"); // Prints "Arduino" on the LCD delay(3000); // 3 seconds delay lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed lcd.print("LCD Tutorial"); delay(3000); lcd.clear(); // Clears the display lcd.blink(); //Displays the blinking LCD cursor delay(4000); lcd.setCursor(7,1); delay(3000); lcd.noBlink(); // Turns off the blinking LCD cursor lcd.cursor(); // Displays an underscore (line) at the position to which the next character will be written delay(4000); lcd.noCursor(); // Hides the LCD cursor lcd.clear(); // Clears the LCD screen }

Code language: Arduino (arduino)

Code description:

First thing we need to do is it insert the Liquid Crystal Library. We can do that like this: Sketch > Include Library > Liquid Crystal. Then we have to create an LC object. The parameters of this object should be the numbers of the Digital Input pins of the Arduino Board respectively to the LCD’s pins as follow: (RS, Enable, D4, D5, D6, D7). In the setup we have to initialize the interface to the LCD and specify the dimensions of the display using the begin() function.

In the loop we write our main program. Using the print() function we print on the LCD.


lcd.print("Arduino"); // Prints "Arduino" on the LCD

Code language: Arduino (arduino)

The setCursor() function is used for setting the location at which subsequent text written to the LCD will be displayed.


lcd.setCursor(2,1); // Sets the location at which subsequent text written to the LCD will be displayed

Code language: Arduino (arduino)

The blink() function is used for displaying a blinking cursor and the noBlink() function for turning off.


lcd.blink(); //Displays the blinking LCD cursor

Code language: Arduino (arduino)

The cursor() function is used for displaying underscore cursor and the noCursor() function for turning off. Using the clear() function we can clear the LCD screen.


lcd.clear(); // Clears the LCD screen

Code language: Arduino (arduino)

How to Set Up and Program an LCD on the Arduino
How to Set Up and Program an LCD on the Arduino

Các chức năng chính của thư viện LiquidCrystal

Dưới đây là một số chức năng hữu ích mà bạn có thể sử dụng với đối tượng LiquidCrystal:


  • lcd.home()

    : Định vị con trỏ ở góc trên bên trái của màn hình LCD 16×2 mà không xóa nội dung hiện tại trên màn hình.

  • lcd.blink()

    : Hiển thị một khối nhấp nháy 5×8 pixel tại vị trí mà ký tự tiếp theo sẽ được viết.

  • lcd.noBlink()

    : Tắt chế độ nhấp nháy của con trỏ trên LCD 1602.

  • lcd.cursor()

    : Hiển thị một dấu gạch dưới (dòng) tại vị trí mà ký tự tiếp theo sẽ được viết.

  • lcd.noCursor()

    : Ẩn con trỏ trên LCD Arduino.

  • lcd.scrollDisplayRight()

    : Cuộn nội dung của màn hình sang phải một khoảng trống. Nếu bạn muốn văn bản cuộn liên tục, bạn có thể sử dụng chức năng này trong một vòng lặp.

  • lcd.scrollDisplayLeft()

    : Cuộn nội dung của màn hình sang trái một khoảng trống. Tương tự như chức năng trên, bạn có thể sử dụng chức năng này trong một vòng lặp để cuộn liên tục.

  • lcd.noDisplay()

    : Tắt màn hình LCD 16×2 mà không làm mất nội dung hiện đang hiển thị trên đó.

  • lcd.display()

    : Bật màn hình LCD Arduino sau khi nó đã được tắt bằng noDisplay(). Thao tác này sẽ khôi phục hiển thị nội dung (và con trỏ) trên màn hình.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách giao diện I2C LCD với Arduino và cách hiển thị các ký tự tĩnh, cuộn và tùy chỉnh trên I2C LCD. Màn hình LCD I2C này là một thiết bị 16×2 có nghĩa là nó có thể hiển thị 16 cột bằng hai hàng ký tự. Các ký tự là chữ và số, nhưng bạn có thể tạo các ký tự tùy chỉnh cho đồ họa cơ bản, biểu đồ thanh loại đó. Màn hình LCD có loại bộ điều khiển hd44780 thông thường và nó cũng có mạch I2C được kết nối với nó giúp dễ dàng kết nối với bảng Arduino. Màn hình LCD 16X2 không có mạch I2C có mười sáu chân.

Nhưng nếu chúng ta muốn kết nối bảng này trực tiếp với Arduino, chúng ta phải sử dụng ít nhất tám chân của Arduino, điều này sẽ rất lãng phí. Vì vậy, giải pháp tốt hơn là sử dụng màn hình LCD I2C thay vì màn hình LCD 16×2 thông thường. Trong hướng dẫn này, chúng tôi đang sử dụng 16×2 I2C LCD, nhưng LCD có kích thước bất kỳ cũng sẽ hoạt động giống như cách chúng ta sẽ học trong hướng dẫn này. Ưu điểm của việc sử dụng màn hình LCD I2C là chúng ta chỉ cần sử dụng bốn chân (bao gồm cả chân VCC và GND) của Arduino để kết nối với màn hình này.

Ở mặt sau của màn hình tinh thể lỏng này, bạn cũng có thể thấy một điện trở thay đổi. Biến trở này được sử dụng để sửa đổi độ sáng của màn hình LCD. Chiết áp này rất tiện dụng khi bạn đang sử dụng mô-đun hiển thị này trong các điều kiện ánh sáng khác nhau.

Vì vậy, bây giờ hãy bắt đầu với sơ đồ chân của màn hình này. Màn hình này có bốn chân:

Pin nối đất

Chân Vcc

SDA

SCL

Bây giờ hãy xem cách kết nối màn hình LCD này với Arduino UNO.

Bây giờ chúng ta sẽ thấy sơ đồ nối dây của I2C LCD với Arduino UNO. Sơ đồ nối dây rất đơn giản.

Trong mạch này, chúng tôi đang sử dụng các chân giao tiếp I2C mặc định của Arduino UNO. Trong bo mạch này, A5 là chân SCL mặc định và A4 là chân SDA mặc định cho giao tiếp I2C. Vì vậy, bạn cần kết nối A5 với chân SCL của LCD và A4 với chân SDA của màn hình tinh thể lỏng. Bạn cũng có thể kiểm tra bảng này để biết các kết nối dây.

Arduino UNO

I2C LCD

A5 ·

SCL

A4 ·

SDA

GND ·

GND ·

5V

VIN

Vì vậy, chúng tôi sẽ chuyển sang phần mã hóa. Trước khi viết code, chúng ta cần chuẩn bị Arduino IDE để viết code.

Chúng tôi sẽ giới thiệu thư viện màn hình LCD I2C trong Arduino IDE. Thư viện này không có sẵn trong trình biên dịch. Vì vậy, chúng ta cần cài đặt một thư viện bên ngoài. Có rất nhiều thư viện LCD I2C có sẵn. Bạn có thể sử dụng các thư viện khác nhau nếu muốn. Nhưng trong hướng dẫn này, chúng tôi đang sử dụng thư viện được phát triển bởi johnrickman. Bây giờ thêm thư viện này bằng cách làm theo các bước sau:

Truy cập liên kết và tải xuống thư viện LCD I2C.

Tệp mà bạn tải xuống ở bước cuối cùng sẽ là tệp nén hoặc tệp zip. Bây giờ giải nén tập tin này.

Sau khi giải nén tệp, bạn sẽ nhận được một thư mục có tên LiquidCrystal_I2C-master.

Đổi tên thư mục này LiquidCrystal_I2C-master thành LiquidCrystal_I2C.

Bây giờ hãy đóng phần mềm Arduino, nếu bạn đã mở nó.

Bây giờ sao chép thư mục này bên trong thư mục thư viện của Arduino IDE của bạn.

Bây giờ hãy mở phần mềm Arduino của bạn. Thư viện của bạn sẽ được đưa vào thành công.

Cho đến bây giờ bạn đã cài đặt thành công thư viện và tạo sơ đồ mạch.

Khi bạn kết nối màn hình I2C của mình với Arduino, bạn cần kiểm tra địa chỉ của nó. Bởi vì mọi thiết bị I2C đều có một địa chỉ được liên kết với nó. Đối với nhiều thiết bị của I2C LCD, địa chỉ mặc định được 0x27 trong đó 0x hiển thị định dạng hex của các số. Nhưng địa chỉ có thể khác nhau trong một số trường hợp. Địa chỉ này phụ thuộc vào vị trí của miếng đệm A0, A1 và A2 trên bộ điều khiển I2C trên thiết bị này. Như bạn có thể thấy, chúng tôi có ba miếng hàn, vì vậy chúng tôi có thể có 8 giá trị địa chỉ khác nhau tùy thuộc vào kết nối của miếng đệm.

Pad A0

Pad A1

Pad A2

Địa chỉ HEX

0x27

0x26

0x25

0x24

0x23

0x22

0x21

0x20

Nhưng bạn không cần phải lo lắng về các kết nối bên trong của thiết bị này; Chúng tôi sẽ sử dụng mã được cung cấp bên dưới để kiểm tra địa chỉ của bộ điều khiển. Bây giờ sao chép mã này và tải nó lên bảng của bạn.


#include

// This library includes I2C communication functions


void setup() {


Wire.begin();


Serial.begin(115200);


Serial.println("Scanning for I2C devices");


void loop() {


byte error_i2c, address_i2c;


int I2C_Devices;


Serial.println("Scanning started");


I2C_Devices = 0;


for(address_i2c = 1; address_i2c < 127; address_i2c++ )


Wire.beginTransmission(address_i2c);


error_i2c = Wire.endTransmission();


if (error_i2c == 0) {


Serial.print("I2C device found at address_i2c 0x");


if (address_i2c<16)


Serial.print("0");


Serial.println(address_i2c,HEX);


I2C_Devices++;


else if (error_i2c==4)


Serial.print("Unknow error_i2c at address_i2c 0x");


if (address_i2c<16)


Serial.print("0");


Serial.println(address_i2c,HEX);


if (I2C_Devices == 0)


Serial.println("No I2C device connected \n");


else {


Serial.println("done I2C device searching\n");


delay(2000);

Mã này sẽ tìm kiếm các thiết bị được kết nối bằng chân A4 và A5 và hiển thị kết quả của nó trên màn hình nối tiếp. Sau khi kết nối thiết bị với Arduino đúng cách, bạn sẽ nhận được thông báo này trên màn hình nối tiếp. Thông báo này hiển thị địa chỉ của màn hình tinh thể lỏng được 0x27. Rất có thể bạn sẽ nhận được cùng một địa chỉ cho LCD với 16 cột và 2 hàng.

Trong phần này, chúng ta sẽ hiển thị một thông báo tĩnh trên màn hình.


#include


int totalColumns = 16;


int totalRows = 2;


LiquidCrystal_I2C lcd(0x27, totalColumns, totalRows);


void setup(){


lcd.init();


lcd.backlight(); // use to turn on and turn off LCD back light


void loop()


lcd.setCursor(0, 0);


lcd.print("Microcontrollers");


lcd.setCursor(0,1);


lcd.print("I2C LCD tutorial");


delay(1000);


lcd.clear();


lcd.setCursor(0, 0);


lcd.print("Static text");


delay(1000);


lcd.setCursor(0,1);


lcd.print("I2C LCD tutorial");


delay(1000);


lcd.clear();

Mã này sẽ hiển thị thông báo “Vi điều khiển” ở hàng đầu tiên và “Hướng dẫn LCD I2C” ở hàng thứ hai trong một giây. Sau đó, nó sẽ xóa màn hình LCD và hiển thị “Văn bản tĩnh” ở hàng đầu tiên và “Hướng dẫn LCD I2C” ở hàng thứ hai như hình dưới đây.

Bây giờ chúng ta sẽ thấy hoạt động của code. Dòng này sẽ thêm thư viện trong mã.


#include

Hai biến này xác định tên của tổng số hàng và cột của màn hình mà trong trường hợp của chúng tôi là 16×2. Nếu bạn muốn sử dụng màn hình có kích thước khác, bạn cần thay đổi số ở đây cho phù hợp, ví dụ: màn hình 20×4.


int totalColumns = 16;


int totalRows = 2;

Dòng này được sử dụng để khởi tạo thư viện với địa chỉ LCD, tổng số cột và hàng. Đối số đầu tiên của hàm này là một địa chỉ mà chúng ta đã tìm thấy trong ví dụ trước. Đối số thứ hai và thứ ba là kích thước tính theo số cột và số hàng.


LiquidCrystal_I2C lcd(0x27, totalColumns, totalRows);

Bên trong setup(), đầu tiên chúng ta khởi tạo màn hình LCD với các tham số nêu trên.


lcd.init();

Chức năng backlight() này được sử dụng để bật hoặc tắt đèn nền. Mỗi màn hình LCD đều có đèn nền tích hợp bên trong, vì vậy bạn có thể điều khiển nó thông qua chức năng này.


lcd.backlight();

Trong phần loop(), code được sử dụng để hiển thị thông báo và cũng để xóa thông báo cho LCD. Để hiển thị bất kỳ văn bản nào trên LCD, trước tiên, bạn cần đặt vị trí con trỏ. Vị trí con trỏ xác định nơi bạn muốn hiển thị văn bản. Hàm setCursor() được sử dụng để thiết lập vị trí. Ví dụ: nếu bạn muốn đặt con trỏ thành hàng đầu tiên và cột đầu tiên, bạn sẽ sử dụng chức năng này như sau:


lcd.setCursor(0,0);

Nếu bạn muốn đặt con trỏ thành cột đầu tiên và hàng thứ hai, bạn sẽ sử dụng chức năng này như sau:


lcd.setCursor(0,1);

Giá trị đầu tiên bên trong hàm này xác định số cột và giá trị thứ hai xác định số hàng. Vì vậy, bên trong vòng lặp (), đầu tiên chúng ta đặt con trỏ thành hàng đầu tiên và cột thứ hai. Sau đó lcd.print() sẽ hiển thị thông báo “Microcontrollers” ở hàng đầu tiên.


lcd.setCursor(0, 0);


lcd.print("Microcontrollers");

Tương tự, hai dòng này sẽ đặt con trỏ đến hàng thứ hai và hiển thị văn bản “Hướng dẫn LCD I2C” trên hàng thứ hai. Trong một giây, cùng một văn bản sẽ được hiển thị ở hàng thứ nhất và thứ hai. Độ trễ() được sử dụng để thêm độ trễ của một giây.


lcd.setCursor(0,1);


lcd.print("I2C LCD tutorial");


delay(1000);


Sau khi đợi một giây, clear() sẽ xóa văn bản.


lcd.clear();

Bây giờ phần khác của mã cũng hoạt động theo cách tương tự.


lcd.setCursor(0, 0); // move cursor to starting position


lcd.print("Static text"); // display text " Static text"


lcd.setCursor(0,1); // move the curos to second row


lcd.print("I2C LCD tutorial"); //display a string


delay(1000); // add delay of 1 second


lcd.clear(); // clear the screen

Để xem trình diễn của dự án này, hãy tải mã lên bảng của bạn. Tuy nhiên, trước khi tải mã lên, hãy đảm bảo chọn Arduino Uno từ Tools > Board và cũng chọn đúng cổng COM mà bo mạch được kết nối từ Tools > Port.

Sau khi mã được tải lên bảng, hãy điều chỉnh độ sáng của màn hình thông qua chiết áp cho đến khi LCD bắt đầu hiển thị các thông báo:

Mở Arduino IDE của bạn và đi tới Tệp > Mới. Một tệp mới sẽ mở ra. Sao chép mã được cung cấp bên dưới trong tệp đó và lưu nó.

Trong phần này, chúng ta sẽ hiển thị thông báo cuộn trên màn hình.


#include


int totalColumns = 16;


int totalRows = 2;


LiquidCrystal_I2C lcd(0x27, totalColumns, totalRows);


String staticMessage = "I2C LCD Tutorial";


String scrollingMessage = "Welcome to Microcontrollerslab! This is a scrolling message.";


void scrollMessage(int row, String message, int delayTime, int totalColumns) {


for (int i=0; i < totalColumns; i++) {


message = " " + message;


message = message + " ";


for (int position = 0; position < message.length(); position++) {


lcd.setCursor(0, row);


lcd.print(message.substring(position, position + totalColumns));


delay(delayTime);


void setup(){


lcd.init();


lcd.backlight();


void loop(){


lcd.setCursor(0, 0);


lcd.print(staticMessage);


scrollMessage(1, scrollingMessage, 250, totalColumns);

Dòng này sẽ thêm thư viện trong mã.


#include

Hai biến này xác định tên của tổng số hàng và cột của màn hình mà trong trường hợp của chúng tôi là 16×2. Nếu bạn muốn sử dụng màn hình có kích thước khác, bạn cần thay đổi số ở đây cho phù hợp, ví dụ: hiển thị 20×4.


int totalColumns = 16;


int totalRows = 2;

Dòng này được sử dụng để khởi tạo thư viện với địa chỉ LCD, tổng số cột và hàng. Đối số đầu tiên của hàm này là một địa chỉ mà chúng ta đã tìm thấy trong ví dụ trước. Đối số thứ hai và thứ ba là kích thước tính theo số cột và số hàng.


LiquidCrystal_I2C lcd(0x27, totalColumns, totalRows);

Tiếp theo, chúng ta sẽ định nghĩa hai biến chuỗi sẽ giữ tĩnh và thông báo cuộn mà chúng ta sẽ hiển thị trên màn hình LCD.


String staticMessage = "I2C LCD Tutorial";


String scrollingMessage = "Welcome to Microcontrollerslab! This is a scrolling message.";

Hàm scrollMessage() do người dùng xác định sẽ được sử dụng để cuộn văn bản trên màn hình LCD. Nó có bốn lập luận. Đầu tiên là hàng mà chúng ta sẽ hiển thị thông điệp của mình. Thứ hai là thông báo sẽ được hiển thị. Thứ ba là thời gian trễ sẽ kiểm soát tốc độ của văn bản cuộn. Cuối cùng, đối số thứ tư là tổng số cột của LCD.


void scrollMessage(int row, String message, int delayTime, int totalColumns) {


for (int i=0; i < totalColumns; i++) {


message = " " + message;


message = message + " ";


for (int position = 0; position < message.length(); position++) {


lcd.setCursor(0, row);


lcd.print(message.substring(position, position + totalColumns));


delay(delayTime);

Bên trong setup(), đầu tiên chúng ta khởi tạo màn hình LCD với các tham số nêu trên.


lcd.init();

Chức năng backlight() này được sử dụng để bật hoặc tắt đèn nền. Mỗi màn hình LCD đều có đèn nền tích hợp bên trong, vì vậy bạn có thể điều khiển nó thông qua chức năng này.


lcd.backlight();

Trong phần loop(), trước tiên chúng ta sẽ thiết lập con trỏ và sau đó in thông điệp tĩnh bằng cách sử dụng lcd.print() và truyền staticMessage như một argyment bên trong nó. Sau đó gọi hàm scrollMessage () và chuyển ‘1’ làm hàng bắt đầu, ‘scrollingMessage’ làm thông báo sẽ được hiển thị, thời gian trễ 250ms và chỉ định ‘totalColumns’ của màn hình LCD.


void loop(){


lcd.setCursor(0, 0);


lcd.print(staticMessage);


scrollMessage(1, scrollingMessage, 250, totalColumns);

Để xem trình diễn của dự án này, hãy tải mã lên bảng. Tuy nhiên, trước khi tải mã lên, hãy đảm bảo chọn Arduino Uno từ Bảng > Công cụ và cũng chọn đúng cổng COM mà bo mạch được kết nối từ Công cụ > Cổng.

Sau khi mã được tải lên bảng, hãy điều chỉnh độ sáng của màn hình thông qua chiết áp cho đến khi LCD bắt đầu hiển thị các thông báo:

Trong phần này, chúng tôi sẽ hiển thị các ký tự tùy chỉnh trên màn hình LCD.

Đối với màn hình LCD 16×2 mà chúng tôi đang sử dụng, chúng tôi cũng có tùy chọn hiển thị các ký tự tùy chỉnh. Trong màn hình LCD cụ thể này, mỗi khối bao gồm 5×8 pixel. Chúng có thể được sử dụng để hiển thị các ký tự tùy chỉnh bằng cách đặt trạng thái của mỗi pixel bằng cách bên trong một biến byte.

Có một cách rất đơn giản để tạo biến byte của ký tự tùy chỉnh của riêng bạn. Đi tới trình tạo ký tự tùy chỉnh sau:

Chỉ định ký tự tùy chỉnh bạn muốn hiển thị bằng cách nhấp vào các pixel trong khối 5×8 pixel và biến byte tương ứng sẽ được tạo.

Trong trường hợp của chúng tôi, chúng tôi sẽ hiển thị ký tự ‘+’ trên màn hình. Đây là biến byte mà chúng tôi sẽ sử dụng trong mã chương trình của mình để hiển thị ký tự cụ thể này trên màn hình LCD.

Mở Arduino IDE của bạn và đi tới Tệp > Mới. Một tệp mới sẽ mở ra. Sao chép mã được cung cấp bên dưới trong tệp đó và lưu nó.

Trong bản phác thảo này, chúng tôi sẽ hiển thị một ký tự tùy chỉnh trên màn hình LCD.


#include


int totalColumns = 16;


int totalRows = 2;


LiquidCrystal_I2C lcd(0x27, totalColumns, totalRows);


byte customChar[8] = {


0b00000,


0b00100,


0b00100,


0b11111,


0b00100,


0b00100,


0b00000,


0b00000


};


void setup()


lcd.init();


lcd.backlight();


lcd.createChar(0, customChar);


void loop()


lcd.setCursor(0, 0);


lcd.write(0);

Bao gồm biến byte mà chúng tôi thu được từ trình tạo ký tự tùy chỉnh. Đây là biến byte cho ký tự ‘+’.


byte customChar[8] = {


0b00000,


0b00100,


0b00100,


0b11111,


0b00100,


0b00100,


0b00000,


0b00000


};

Bên trong hàm setup(), chúng ta sẽ tạo ký tự tùy chỉnh bằng cách gọi lcd.createChar() và truyền một số từ 0-7 (vị trí được phân bổ) và biến byte làm tham số bên trong nó.


lcd.createChar(0, customChar);


Bên trong hàm loop(), chúng ta sẽ hiển thị ký tự của mình bằng cách sử dụng lcd.write() và truyền vị trí được phân bổ làm tham số.


void loop()


lcd.setCursor(0, 0);


lcd.write(0);

Để xem trình diễn của dự án này, hãy tải mã lên bảng. Tuy nhiên, trước khi tải mã lên, hãy đảm bảo chọn Arduino Uno từ Tools > Board và cũng chọn đúng cổng COM mà bo mạch được kết nối từ Tools > Port.

Sau khi mã được tải lên bảng, hãy điều chỉnh độ sáng của màn hình thông qua chiết áp cho đến khi LCD bắt đầu hiển thị ký tự:

>>> 100+ Mã Sản Phẩm Dây Rút: https://mecsu.vn/san-pham/day-rut-nhua.5op

>>> 1000+ Mã Sản Phẩm Đầu Cosse: https://mecsu.vn/san-pham/dau-cosse.Q1j

    • Tổng tiền thanh toán:
Code test cơ bản

#include

void loop()

Code Đếm số 0 đến 9 LCD 16×2 I2C

#include

void loop()

Code test cơ bản

#include

void loop()

Code Đếm số 0 đến 9 LCD 16×2 I2C

#include

void loop()

Keywords searched by users: lcd display code arduino

How To Display Message On Lcd Using Serial Monitor Of Ardunio
How To Display Message On Lcd Using Serial Monitor Of Ardunio
Arduino Lcd Tutorial | How To Connect An Lcd To Arduino
Arduino Lcd Tutorial | How To Connect An Lcd To Arduino
How To Use An Lcd Display - Arduino Tutorial : 5 Steps (With Pictures) -  Instructables
How To Use An Lcd Display – Arduino Tutorial : 5 Steps (With Pictures) – Instructables
How To Connect I2C Lcd Display To Arduino Uno : 5 Steps (With Pictures) -  Instructables
How To Connect I2C Lcd Display To Arduino Uno : 5 Steps (With Pictures) – Instructables
How To Set Up An Lcd Display On The Arduino - Ultimate Guide To The Arduino  #30 - Youtube
How To Set Up An Lcd Display On The Arduino – Ultimate Guide To The Arduino #30 – Youtube
How To Interface I2C Lcd Display With Arduino ? - Geeksforgeeks
How To Interface I2C Lcd Display With Arduino ? – Geeksforgeeks
In-Depth Tutorial To Interface 16X2 Character Lcd Module With Arduino
In-Depth Tutorial To Interface 16X2 Character Lcd Module With Arduino
How To Control An Lcd Display With Arduino (8 Examples)
How To Control An Lcd Display With Arduino (8 Examples)
Arduino 16X2 Lcd Display With I2C - Hello World - Hackster.Io
Arduino 16X2 Lcd Display With I2C – Hello World – Hackster.Io
Arduino Lcd Tutorial | How To Connect An Lcd To Arduino
Arduino Lcd Tutorial | How To Connect An Lcd To Arduino
How To Interface I2C Lcd Display With Arduino ? - Geeksforgeeks
How To Interface I2C Lcd Display With Arduino ? – Geeksforgeeks
How To Set Up And Program An Lcd On The Arduino - Youtube
How To Set Up And Program An Lcd On The Arduino – Youtube
In-Depth: How To Use An I2C Lcd Display With Esp8266
In-Depth: How To Use An I2C Lcd Display With Esp8266
I2C Arduino Lcd Code Tutorial | Step By Step Instructions [Code, Library &  Circuit Diagram] - Youtube
I2C Arduino Lcd Code Tutorial | Step By Step Instructions [Code, Library & Circuit Diagram] – Youtube
Arduino Lcd Tutorial | How To Connect An Lcd To Arduino
Arduino Lcd Tutorial | How To Connect An Lcd To Arduino
How To Use An Lcd Display - Arduino Tutorial : 5 Steps (With Pictures) -  Instructables
How To Use An Lcd Display – Arduino Tutorial : 5 Steps (With Pictures) – Instructables
How To Use An Lcd Screen With An Arduino (Lesson #21) - Youtube
How To Use An Lcd Screen With An Arduino (Lesson #21) – Youtube
16X2 Lcd With Arduino: Code And Circuit - Electronics Fun
16X2 Lcd With Arduino: Code And Circuit – Electronics Fun
Arduino - Lcd I2C | Arduino Tutorial
Arduino – Lcd I2C | Arduino Tutorial
How To Interface I2C Lcd With Arduino Nano
How To Interface I2C Lcd With Arduino Nano
Display The Led Brightness On An Lcd 16×2 With Arduino Uno
Display The Led Brightness On An Lcd 16×2 With Arduino Uno

See more here: kientrucannam.vn

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *