Skip to content
Home » Arduino 16X2 Lcd I2C Code | Module I2C Arduino

Arduino 16X2 Lcd I2C Code | Module I2C Arduino

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

Wiring Diagram

This image is created using Fritzing. Click to enlarge image

LCD I2C Arduino Uno, Nano Arduino Mega
Vin 5V 5V
GND GND GND
SDA A4 20
SCL A5 21

About LCD I2C 16×2

In the previous tutorial, we had learned how to use the normal LCD. However, wiring between Arduino and the normal LCD is complicated. Therefore, LCD I2C has been created to simplify the wiring. Actually, LCD I2C is composed of a normal LCD, an I2C module and a potentiometer.

Pinout

LCD I2C uses I2C interface, so it has 4 pins:

  • GND pin: needs to be connected to GND (0V).
  • VCC pin: the power supply for the LCD, needs to be connected to VCC (5V).
  • SDA pin: I2C data signal
  • SCL pin: I2C clock signal

LCD Coordinate

LCD I2C 16×2 includes 16 columns and 2 rows. the conlums and rows are indexed from 0.

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

Các lỗi thường gặp khi sử dụng I2C LCD

  • Hiển thị một dãy ô vuông.
  • Màn hình chỉ in ra một ký tự đầu.
  • Màn hình nhấp nháy.

Các lỗi này chủ yếu là do sai địa chỉ bus, để fix lỗi các bạn thay địa chỉ mặc định là “0x27” thành “0x3F.

Trong trường hợp vẫn không được các bạn fix lỗi bằng cách nạp code tìm địa chỉ bus của I2C.

Sau khi tìm xong các bạn thay địa chỉ vừa tìm được vào vị trí “0x27” là xong.

  • Các bạn có thể tải code tìm địa chỉ bus ở đây. Tải ngay.

Các lỗi thường gặp khi sử dụng I2C LCD

  • Hiển thị một dãy ô vuông.
  • Màn hình chỉ in ra một ký tự đầu.
  • Màn hình nhấp nháy.

Các lỗi này chủ yếu là do sai địa chỉ bus, để fix lỗi các bạn thay địa chỉ mặc định là “0x27” thành “0x3F.

Trong trường hợp vẫn không được các bạn fix lỗi bằng cách nạp code tìm địa chỉ bus của I2C.

Sau khi tìm xong các bạn thay địa chỉ vừa tìm được vào vị trí “0x27” là xong.

  • Các bạn có thể tải code tìm địa chỉ bus ở đây. Tải ngay.
Giao Tiếp I2C Với LCD 16x2 Bằng Arduino Uno R3 | Điện tử DAT
Giao Tiếp I2C Với LCD 16×2 Bằng Arduino Uno R3 | Điện tử DAT

Tìm hiểu cách đếm số từ 0 đến 9 trên màn hình LCD 16×2 I2C sử dụng Arduino?

Để đếm số từ 0 đến 9 trên màn hình LCD 16×2 I2C sử dụng Arduino, bạn có thể làm theo các bước sau:Bước 1: Chuẩn bị các vật liệu- Arduino Uno- Màn hình LCD 16×2 I2C- Cáp kết nốiBước 2: Kết nối màn hình LCD 16×2 I2C với Arduino- Chân SDA của màn hình LCD kết nối với chân A4 trên Arduino- Chân SCL của màn hình LCD kết nối với chân A5 trên Arduino- Nối dây nguồn và đất từ màn hình LCD tới ArduinoBước 3: Cài đặt thư viện- Mở Arduino IDE và vào Sketch -> Include Library -> Manage Libraries- Tìm kiếm và cài đặt thư viện \”LiquidCrystal_I2C\”Bước 4: Viết code- Mở Arduino IDE và tạo một sketch mới- Đưa vào mã code sau:“`#include#includeLiquidCrystal_I2C lcd(0x27, 16, 2); // Địa chỉ I2C của màn hình LCDvoid setup() {lcd.begin(16, 2); // Khởi tạo màn hình LCDlcd.backlight(); // Bật đèn nền LCD}void loop() {for (int i = 0; i < 10; i++) {lcd.setCursor(0, 0); // Đặt con trỏ vị trí hiển thị lên dòng đầu tiên, cột đầu tiênlcd.print(\”Number: \”);lcd.setCursor(9, 0); // Đặt con trỏ vị trí hiển thị sau từ \”Number: \”lcd.print(i);delay(1000); // Đợi 1 giâylcd.clear(); // Xóa màn hình LCD}}“`Bước 5: Tải code lên Arduino- Kết nối Arduino với máy tính bằng cáp USB- Chọn board và cổng COM tương ứng trong Arduino IDE- Nhấn nút \”Upload\” để tải code lên ArduinoBước 6: Kiểm tra kết quả- Sau khi code được tải lên Arduino, màn hình LCD sẽ hiển thị số từ 0 đến 9 lần lượt mỗi giây.Chúc bạn thành công và tận hưởng quá trình thực hiện dự án của mình!

Giới thiệu LCD 16×2

Thông số kỹ thuật LCD 16×2

LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thông số.

  • LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).
  • 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
  • Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.
  • Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.

LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm.

Arduino LCD I2C - Tutorial with Arduino Uno
Arduino LCD I2C – Tutorial with Arduino Uno

Troubleshooting on LCD I2C

If the text is not displayed on LCD I2C, please check the following issues:

  1. Adjust the brightness of LCD by rotating potentiometer in the backside of LCD
  2. Depending on manufacturers, the I2C address of LCD may be different. Usually, the default I2C address of LCD is 0x27 or 0x3F. Try these values one by one. If you still failed, run the below code to find the I2C address.

The result on Serial Monitor:

Chủ đề: 16×2 lcd arduino i2c: Module LCD 16×2 I2C cho Arduino là một module tiện ích giúp hiển thị thông tin đơn giản và dễ dàng. Với chất lượng màn hình rõ ràng, số lượng chân kết nối ít, việc sử dụng module này trở nên dễ dàng hơn bao giờ hết. Bằng cách kết hợp với Arduino, có thể dễ dàng điều khiển và hiển thị các thông tin cơ bản. Module LCD 16×2 I2C đã trở thành lựa chọn hàng đầu cho các dự án và sản phẩm Arduino của nhiều người dùng.

Mục lục

  • Tìm hiểu cách đếm số từ 0 đến 9 trên màn hình LCD 16×2 I2C sử dụng Arduino?
  • Module i2c LCD 16×2 được sử dụng như thế nào trong dự án Arduino?
  • Cách kết nối và cấu hình module i2c LCD 16×2 với Arduino?
  • Mã code đơn giản để hiển thị thông tin trên màn hình LCD 16×2 i2c bằng Arduino?
  • Có những tính năng và ứng dụng nào khác của LCD 16×2 i2c trong việc làm mạch Arduino?
  • YOUTUBE: Cách sử dụng màn hình LCD I2C với Arduino | Hướng dẫn sử dụng màn hình LCD I2C Arduino rất dễ | Hướng dẫn sử dụng màn hình LCD I2C Arduino 16×2

Hardware Required

Arduino UNO or Genuino UNO
USB 2.0 cable type A/B
LCD I2C
Jumper Wires
(Optional) 9V Power Adapter for Arduino
(Recommended) Screw Terminal Block Shield for Arduino Uno
(Optional) Transparent Acrylic Enclosure For Arduino Uno

Or you can buy the following sensor kit:

DIYables Sensor Kit 30 types, 69 units
🔴 Arduino #26 | Màn Hình LCD 16x2 Kết Hợp Module I2C Hiển Thị Thông Tin
🔴 Arduino #26 | Màn Hình LCD 16×2 Kết Hợp Module I2C Hiển Thị Thông Tin

Do More with LCD

Custom Character

lcd.print() function supports only ASCII characters. If you want to display a special character or symbol (e.g. heart, angry bird), you need to use the below character generator.

LCD 16×2 can display 32 characters (2 rows and 16 columns). Each character is composed of 40 pixels (8 rows and 5 columns).

The character generator represents a character (40 pixels). You just need to do the following steps:

Result on LCD:

Multiple custom characters

We can create up to 8 custom characters (indexed 0 to 7). The below example creates and displays three characters.

Result on LCD:

Summary: how to use custom character on LCD
  • Use the above character generator to create binary code for the custom character.
  • Declare the binary code for the custom character (copy from above step)
  • Create custom character and assign to an index value (from 0 to 7) in setup() function
  • Print the custom character in LCD anytime, anywhere (in setup() or loop() function)

Other functions

Add the below functions into loop() function one by one. And add delay(5000) after each function

  • Clear LCD screen
  • Move the cursor to the upper-left of the LCD
  • Move the cursor to the a position (column, row)
  • Display the LCD cursor
  • Hides the LCD cursor.
  • Display the blinking LCD cursor
  • Turns off the blinking LCD cursor.
  • And more at LiquidCrystal Library Reference

Có những tính năng và ứng dụng nào khác của LCD 16×2 i2c trong việc làm mạch Arduino?

Một số tính năng và ứng dụng khác của LCD 16×2 i2c trong việc làm mạch Arduino bao gồm:1. Tiết kiệm chân kết nối: Với giao tiếp qua I2C, LCD 16×2 i2c chỉ cần sử dụng 2 chân (SDA, SCL) của Arduino thay vì việc kết nối đến 6 đến 10 chân khi sử dụng giao tiếp song song (parallel).2. Hiệu suất cao: Giao tiếp I2C giúp truyền dữ liệu nhanh chóng và hiệu quả, giúp tiết kiệm thời gian và tăng hiệu suất của mạch Arduino.3. Dễ sử dụng: LCD 16×2 i2c có thư viện hỗ trợ và các đoạn mã mẫu dễ tham khảo, giúp việc sử dụng và hiển thị thông tin lên màn hình LCD trở nên dễ dàng.4. Kiểm soát đèn nền: LCD 16×2 i2c có thể kiểm soát đèn nền thông qua giao diện I2C, cho phép người dùng điều chỉnh cường độ sáng tùy thích.5. Đa ngôn ngữ: LCD 16×2 i2c hỗ trợ nhiều ngôn ngữ và ký tự đặc biệt, giúp hiển thị thông tin dễ dàng và linh hoạt cho nhiều ứng dụng khác nhau.Các ứng dụng phổ biến của LCD 16×2 i2c trong việc làm mạch Arduino bao gồm hiển thị các thông số như nhiệt độ, áp suất, độ ẩm, thời gian hoặc số liệu cảm biến từ các module như module cảm biến nhiệt độ, cảm biến áp suất, cảm biến độ ẩm. Ngoài ra, LCD 16×2 i2c cũng có thể được sử dụng trong các dự án nhúng, dự án IoT, dự án điều khiển tự động và các ứng dụng khác liên quan đến hiển thị thông tin.

_HOOK_

\”Bạn muốn tìm hiểu về cách sử dụng màn hình LCD I2C với Arduino? Xem ngay video hướng dẫn chi tiết về cách kết nối màn hình LCD I2C với Arduino và tận hưởng những tính năng độc đáo mà nó đem lại trong dự án của bạn!\”

XEM THÊM:

I2C LCD not showing Text | I2C LCD Errors Fixing || 16x2 LCD not displaying Text || 1602 LCD
I2C LCD not showing Text | I2C LCD Errors Fixing || 16×2 LCD not displaying Text || 1602 LCD

Module i2c LCD 16×2 được sử dụng như thế nào trong dự án Arduino?

Module i2c LCD 16×2 là một module hiển thị ký tự được sử dụng để hiển thị thông tin trên màn hình LCD 16×2. Với module i2c, việc kết nối và sử dụng nó trên dự án Arduino trở nên dễ dàng hơn.Dưới đây là các bước để sử dụng module i2c LCD 16×2 trong dự án Arduino:1. Kết nối với Arduino: Module i2c LCD 16×2 sử dụng giao tiếp i2c để kết nối với Arduino. Bạn cần kết nối chân GND của module với GND của Arduino, chân VCC với nguồn 5V của Arduino, chân SDA với chân A4 (hoặc chân SDA trên Arduino Uno), và chân SCL với chân A5 (hoặc chân SCL trên Arduino Uno).2. Tải và cài đặt thư viện: Để sử dụng module i2c LCD 16×2, bạn cần tải và cài đặt thư viện LiquidCrystal_I2C. Bạn có thể tìm thư viện này trên trang chủ Arduino hoặc tìm kiếm trên Internet. Sau khi tải xuống, bạn cần import thư viện vào IDE Arduino bằng cách chọn \”Sketch\” -> \”Include Library\” -> \”Add .ZIP Library\” và chọn file ZIP của thư viện đã tải xuống.3. Khởi tạo đối tượng LiquidCrystal_I2C: Trong phần setup của chương trình Arduino, bạn cần khởi tạo một đối tượng LiquidCrystal_I2C với địa chỉ I2C của module (thông thường là 0x27). Ví dụ:LiquidCrystal_I2C lcd(0x27, 16, 2);Trong đó, 0x27 là địa chỉ I2C của module, 16 là số cột của màn hình LCD và 2 là số dòng của màn hình LCD.4. Hiển thị thông tin trên LCD: Bạn có thể sử dụng các phương thức của đối tượng LiquidCrystal_I2C để hiển thị thông tin trên màn hình LCD. Ví dụ:lcd.begin(16, 2); // Khởi tạo màn hình LCDlcd.print(\”Hello, world!\”); // Hiển thị \”Hello, world!\” trên LCDlcd.setCursor(0, 1); // Di chuyển con trỏ đến vị trí (0, 1) trên LCDlcd.print(\”Welcome!\”); // Hiển thị \”Welcome!\” trên LCD5. Lưu ý: Trong một số trường hợp, địa chỉ I2C của module i2c LCD 16×2 có thể khác nhau. Bạn có thể tìm hiểu và kiểm tra địa chỉ I2C của module bằng cách sử dụng công cụ I2C Scanner.Hy vọng những thông tin trên sẽ giúp bạn sử dụng module i2c LCD 16×2 trong dự án Arduino một cách dễ dàng và hiệu quả.

XEM THÊM:

    • 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()

Tổng quan LCD 16×2 và giao tiếp I2C LCD sử dụng Arduino

Arduino 16x2 i2c LCD, Nodemcu 16x2 i2c LCD Code, Library, Commands with Examples
Arduino 16×2 i2c LCD, Nodemcu 16×2 i2c LCD Code, Library, Commands with Examples

Giao tiếp I2C LCD Arduino

Module I2C LCD 16×2

Arduino UNO

GND

GND

VCC

5V

SDA

A4/SDA

SCL

A5/SCL

Sơ đồ đấu nối

Sơ đồ đấu nối giao tiếp IC2 với LCD 16×2.

Các linh kiện cần thiết cho dự án:

  • Arduino UNO: Xem sản phẩm tại đây.
  • Màn hình LCD 16×2: Xem sản phẩm tại đây.
  • Module I2C LCD 16×2: Xem sản phẩm tại đây.

Arduino Code

Quick Steps

  • Navigate to the Libraries icon on the left bar of the Arduino IDE.
  • Search “LiquidCrystal I2C”, then find the LiquidCrystal_I2C library by Frank de Brabander
  • Click Install button to install LiquidCrystal_I2C library.
  • Copy the above code and open with Arduino IDE
  • Click Upload button on Arduino IDE to upload code to Arduino
  • See the result on LCD
  • Try modifying text and position
How to use  LCD LCD1602  with I2C module for Arduino - Robojax
How to use LCD LCD1602 with I2C module for Arduino – Robojax

Giao tiếp I2C LCD Arduino

Module I2C LCD 16×2 Arduino UNO
GND GND
VCC 5V
SDA A4/SDA
SCL A5/SCL

Sơ đồ đấu nối

Các linh kiện cần thiết cho dự án:

Tên linh kiện Số lượng Shopee
Arduino UNO R3 Mua ngay
Dây cáp nạp Mua ngay
Màn hình LCD 16×2 Mua ngay
Module I2C LCD 16×2 Mua ngay
Dây cắm (Đực – Cái) Mua ngay

Bạn sẽ học được gì

  • Có kiến thức cơ bản về Robotics
  • Chế tạo Robot dò đường thông minh
  • Đánh thức nhà khoa học bên trong bạn
  • Tìm hiểu thêm về Robotics, các thuật toán Robot tự động
  • Kiến thức nền tảng để chế tạo các máy móc tự động phục vụ đời sống sinh hoạt, lao động sản xuất
  • Kiến thức để chế tạo sản phẩm, tham gia các cuộc thi khoa học công nghệ trong nước và quốc tế

Code mẫu

#include

#include LiquidCrystal_I2C lcd(0x3F,16,2); void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print(“Arduinokit.vn”); lcd.setCursor(0,1); lcd.print(“Xin chao cac ban”); } void loop() { }

Giải thích code

LiquidCrystal_I2C lcd(0x3F,16,2);

  • Đặt địa chỉ LCD là 0x3F cho màn hình LCD 16×2.
  • 16 là số cột của màn hình (nếu dùng loại màn hình 20×4) thì thay bằng 20.
  • 2 là số dòng của màn hình (nếu dùng loại màn hình 20×4) thì thay bằng 4.

lcd.init();

Khởi động màn hình LCD, bắt đầu cho phép Arduino sử dụng màn hình.

lcd.backlight();

Bật đèn nền LCD 16×2.

lcd.setCursor(2,0);

Đưa con trỏ tới hàng 1, cột 3.

Lưu ý: giá trị hàng và cột bắt đầu từ số 0 có nghĩa 0 là hàng(cột) 1.

lcd.print(“Arduinokit.vn”);

Xuất ra dòng chữ Arduinokit.vn tại vị trí con trỏ ở hàng 1, cột 3.

lcd.setCursor(0,1); lcd.print(“Xin chao cac ban”);

Đoạn code này thì tương tự như trên, xuất ra dòng chữ “Xin chao cac ban” tại vị trí con trỏ ở hàng 2, cột 1.

Bây giờ thì các bạn upload chương trình và xem kết quả nhé.

How to solder header pins to 2x16 LCD
How to solder header pins to 2×16 LCD

Giới thiệu LCD 16×2

Màn hình LCD 16×2

Thông số kỹ thuật LCD 16×2

LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thông số.

  • LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).
  • 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
  • Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.
  • Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.

LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm.

Lời kết

Qua bài hôm nay các bạn biết cách làm thế nào để hiển thị các ký tự và chuỗi ký tự lên LCD 16×2 và biết cách giao tiếp I2C.

Để nhận được nhiều kiến thức mới các bạn Đăng ký để nhận được thông báo sớm nhất.

Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino.

Nếu các bạn thấy bài viết bổ ích nhớ Like và Share cho mọi người cùng đọc nhé.

Chúc các bạn thành công.

Trân trọng.

Nguồn arduinokit.vn

Khi nhấn nút “Tải Về Máy”, bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút

————————————————————————————

DV1 – NHẬN VẼ MẠCH – LẬP TRÌNH 8051/ARDUINO/STM LẤY TRONG NGÀY

BẤM XEM CÁCH ĐẶT HÀNG TẠI ĐÂY

———————————————————————————–

DV2 – Mua linh kiện về làm mạch nhanh – Miễn phí Ship

DV3 – Kênh youtube chia sẻ kiến thức điện tử thực hành ngay

DV4 – Kênh cộng đồng Facebook Điện Tử ChipKool

CÔNG TY ECHIPKOOL – UY TÍN – CHẤT LƯỢNG – NHANH CHÓNG – BẢO MẬT

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

Hardware components
Software apps and online services

In this article I am going to interface a 16×2 I2C LCD with Arduino Uno. In my previous article is discuss about interfacing of 16×2 LCD with Arduino Uno. The difference is in number of wires. There we need more than 12 wires. But here only use just 4 wires. How ?!!!!!! Before I use parallel communication method for interfacing LCD with Arduino. But now I am using I2C Communication.

How it works ?

Here I use the same 16X2 LCD in my previous article. But additionally attach a I2C Module to the 16×2 LCD. It work as an inter mediator between the LCD and MCU (here Arduino).

Before starting you must know about I2C Serial Interface Adapter (I2C Module) , I2C communication , and Addressof I2C LCD

I2C Communication

I2C is short for Inter-IC. And it is a type of BUS. This is designed by Philips semiconductors. I2C is a synchronous, multi slave, multi master packet switched, single-ended serial bus. ie. multiple chips can be connect to the same bus.I2C uses only two bidirectional open collector or open drain lines, Serial Data Line (SDA) and Serial Clock Line (SCL), pulled up with resistors. Typical voltages used are +5 V or +3.3 V, although systems with other voltages are permitted. For more about I2C protocol click here.

I2C Serial Interface Adapter

It is also known as I2C Module. It has total of 20 male pins. 16 pins are faced to rear side and 4 pins faced towards front side. The 16 pins for connect to 16×2 LCD and the 2 pins out of 4 pins are SDA and SCL. SDA is the serial data pin and SCL is the clock pin. The rest 2 pins for power supply (Vcc and ground).There is a POT on the I2C Module. We can control the contrast of the LCD display by rotating this POT. And there is a jumber fixed on the module. When we remove the jumber, the backlight of the LCD display will go OFF.

Address of I2C LCD

Before starting we need to know about addressing of I2C devices. Every device which can attached to MCU have an address. We need to know this address for communicate with that particular device.

You can see three solder pads on the I2C module. which is labeled as A0, A1 and A2. This is Address selectors. ie, each solder pads have one upper potion and a one lower potion. if, there is a connection between upper potion with lower connection it is called “Connected” otherwise it is called “Not connected”. When A0, A1, A2 are in “Not Connected” condition ( A0 = 0, A1 = 0, A2 = 0) the address would be 0x27. In default the A0, A1, A2 are in “Not connected” condition. And some time default address is 0x3F. There is no need to change the address of the I2C module when we use only one LCD. But when we use more than one LCD, need to change the address. Because two or more different device can’t communicate with the same address. For more address see the table given below.

Step -1

Skip this Step – 1 & Step -2 if you already know the address of the LCD

In some cases A0, A1, A2 are “Not connected” state, but the address is not 0x27. We can’t communicate with this address. So we need to find the original address of that device. For that we need to run the Arduino with “I2C Scanner” code.

I2C Scanner Code

I2C Scanner code is used for find the number of I2C devices and address of I2C devices. First add the header file for include “Wire.h” library. Then in setup part, begin the “Wire” library by “Wire.begin()”. Then begin the serial monitor as the baud rate of 9600 by “Serial.begin()”. Next in loop part, define two variables with the datatype “byte” named “error” and “address”. Then define another variable with the “Integer ( int)” datatype named as “Devices”. And set initial value as 0. Next start a for loop with minimum value of 1 and maximum of 127. “address” used as loop variable. Next input the address to wire with the function “Wire.beginTransmission()”. The i2c_scanner uses the return value of the “Write.endTransmisstion()” to see if a device did acknowledge to the address. This return value store the value to the variable “error”. The return value become 0, if a device acknowledge to the address. Otherwise, the return value become 4. Next use a if. And the condition is “error==0”. Then print the particular address to the serial monitor only if the address<16. Here we print the address in Hexadecimal. The printing instruction is “Serial.print(address, HEX)”. And count the Device. The complete I2C Scanner code is given below


#include

void setup(){Wire.begin();Serial.begin(9600);Serial.println(“\nI2C Scanner”);}void loop(){byte error, address;int Devices;Serial.println(“Scanning…”);Devices = 0;for(address = 1; address < 127; address++ ){Wire.beginTransmission(address);error = Wire.endTransmission();if (error == 0){Serial.print(“I2C device found at address 0x”);if (address<16)Serial.print(“0″);Serial.print(address,HEX);Serial.println(” !”);Devices++;}else if (error==4){Serial.print(“Unknown error at address 0x”);if (address<16)Serial.print(“0”);Serial.println(address,HEX);}}if (Devices == 0)Serial.println(“No I2C devices found\n”);elseSerial.println(“done\n”);delay(5000);}

Upload the I2C Scanner Code to Arduino Uno.

Step- 2

If you have a I2C LCD please skip this step. But if you have a 16×2 LCD and a I2C Module see the step to connect this module to LCD.

Connection

First solder the I2C Module. There is no label on the I2C Module for connecting to 16×2 LCD. So solder it with the help of the image given below

After soldering connect the I2C Module to Arduino Uno.

Arduino Uno I2C module

Analog Pin 4 – SDA

Analog pin 5 – SCL

5V – Vcc

GND – GND

Connect the Arduino to computer.

Next open Serial monitor from the icon on top right corner of Arduino IDE. And set the baud rate as 9600. Please ensure the correct port. Then you can see the address of LCD in serial monitor like shown below

Finally we find the address of the I2C LCD. That is 0x27

Step – 3

Next I am going to display a text on our I2C LCD.

Before that need to add a library to Arduino IDE. Go to the link and download the library Arduino-LiquidCrystal-I2C-library. Then open Arduino IDE and go to Sketch>Include Library> Add.ZIP Library. Next select the downloaded ZIP file and click open.

Step – 4

Next create a sketch. First I include the header “Wire.h”. This library help to communicate with I2C device. Then include “LiquidCrystal_I2C.h” for better communication with display.


#include

#include

Step – 5

Next set the address, number of column and number of rows using the function “LiquidCrystal_I2C lcd(). The address is 0x27 (discovered using the I2C Scanner Code). Number of columns is 16 and number of rows is 2. After this, we can call the display using “lcd”. You can also use multiple I2C LCDs with Arduino Uno. But set different addresses and variable for each display.


LiquidCrystal_I2C lcd(0x27, 16, 2);

Step – 6

Next code the setup part. First initialize the display using the function “lcd.begin()”. If you have another display initialize them.


lcd.begin();

Step – 7

Next turn on the backlight using the function “lcd.backlight()”.


lcd.backlight();

Step – 8

Next clear the lcd using the instruction “lcd.clear()”. Then set the cursor to the position (4, 0).


lcd.clear();

lcd.setCursor(4,0);

Step – 9

Now the LCD is ready to print. The cursor is at 4th column(count from 0), and 0th row(count from 0). Then print the Message “Hackster” by the function “lcd.print()”.


lcd.print("Hackster");

Then leave the loop part as empty.

The programming is completed. Upload the sketch to Arduino and see the message on LCD. The complete code is given in the Code section of this article.

Please don’t copy-paste my code. Try to understand the code line by line and create your own sketch.

You can join our telegram group here or search INNOVATION. Any doubts about hardware or programming please feel free to ask in our telegram group.

Follow me on,

Instagram : five_volt_player

Contact : [email protected]

Share your experience and suggestions on the comment box.

Previous articles :

Interface 16×2 LCD (parallel interface) with Arduino Uno, Touchless Doorbell, Interfacing Bluetooth Module (HC-05) with Arduino Uno,Automatic Water Tap,Automatic Hand Sanitizer,Interface Ultrasonic sensor with Arduino Uno,Control Servo motor with Arduino Uno and Pushbutton,Control Servo motor with Arduino Uno and POT,Servo Motor Interface with Arduino Uno,IR Controlled Home Appliances With Saving Previous State,Touchless Hand Wash Timer

Arduino – LCD I2C

In this Arduino LCD I2C tutorial, we will learn how to connect an LCD I2C (Liquid Crystal Display) to the Arduino board. LCDs are very popular and widely used in electronics projects for displaying information. There are many types of LCD. This tutorial takes LCD 16×2 (16 columns and 2 rows) as an example. The other LCDs are similar.

Arduino LCD I2C tutorial | how to program LCD
Arduino LCD I2C tutorial | how to program LCD

Mã code đơn giản để hiển thị thông tin trên màn hình LCD 16×2 i2c bằng Arduino?

Dưới đây là một mã code đơn giản để hiển thị thông tin trên màn hình LCD 16×2 i2c bằng Arduino.1. Đầu tiên, hãy chắc chắn rằng bạn đã cài đặt thư viện Wire.h và LiquidCrystal_I2C.h trong Arduino IDE.2. Tiếp theo, kết nối mô-đun LCD 16×2 i2c vào Arduino. Mô-đun này có hai dòng và mười sáu cột. Kết nối nguồn VCC và GND của mô-đun tới nguồn điện và đất của Arduino. Kết nối chân SDA (data) của mô-đun tới chân SDA của Arduino (ví dụ: chân A4). Kết nối chân SCL (clock) của mô-đun tới chân SCL của Arduino (ví dụ: chân A5).3. Mở Arduino IDE và tạo một sketch mới.4. Thêm mã code sau vào sketch:#include#include// Địa chỉ I2C của mô-đun LCDLiquidCrystal_I2C lcd(0x27, 16, 2);void setup() {// Khởi tạo mô-đun LCDlcd.begin(16, 2);// Hiển thị nội dung mặc địnhlcd.print(\”Hello, World!\”);}void loop() {// không có gì để làm trong hàm loop}5. Biên dịch và tải mã code vào Arduino.6. Mô-đun LCD sẽ hiển thị nội dung \”Hello, World!\”.Chúc bạn thành công trong việc hiển thị thông tin trên màn hình LCD 16×2 i2c bằng Arduino!

XEM THÊM:

Code mẫu

#include

#include LiquidCrystal_I2C lcd(0x3F,16,2); void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print(“Arduinokit.vn”); lcd.setCursor(0,1); lcd.print(“Xin chao cac ban”); } void loop() { }

Giải thích code

LiquidCrystal_I2C lcd(0x3F,16,2);

  • Đặt địa chỉ LCD là 0x3F cho màn hình LCD 16×2.
  • 16 là số cột của màn hình (nếu dùng loại màn hình 20×4) thì thay bằng 20.
  • 2 là số dòng của màn hình (nếu dùng loại màn hình 20×4) thì thay bằng 4.

lcd.init();

Khởi động màn hình LCD, bắt đầu cho phép Arduino sử dụng màn hình.

lcd.backlight();

Bật đèn nền LCD 16×2.

lcd.setCursor(2,0);

Đưa con trỏ tới hàng 1, cột 3.

Lưu ý: giá trị hàng và cột bắt đầu từ số 0 có nghĩa 0 là hàng(cột) 1.

lcd.print(“Arduinokit.vn”);

Xuất ra dòng chữ Arduinokit.vn tại vị trí con trỏ ở hàng 1, cột 3.

lcd.setCursor(0,1); lcd.print(“Xin chao cac ban”);

Đoạn code này thì tương tự như trên, xuất ra dòng chữ “Xin chao cac ban” tại vị trí con trỏ ở hàng 2, cột 1.

Bây giờ thì các bạn upload chương trình và xem kết quả nhé.

How to use 16x2 LCD with Arduino : Tutorial 54
How to use 16×2 LCD with Arduino : Tutorial 54

Module I2C Arduino

LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển.

Module I2C LCD ra đời và giải quyết vấn để này cho bạn.

Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.

Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.

Ưu điểm

  • Tiết kiệm chân cho vi điều khiển.
  • Dễ dàng kết nối với LCD.

Thông số kĩ thuật

  • Điện áp hoạt động: 2.5-6V DC.
  • Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).
  • Giao tiếp: I2C.
  • Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).
  • Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.
  • Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.

Để sử dụng màn hình LCD giao tiếp I2C sử dụng Arduino thì ta cần cài đặt thư viện Liquidcrystal_I2C. Tại đây

Lời kết

Qua bài hôm nay các bạn biết cách làm thế nào để hiển thị các ký tự và chuỗi ký tự lên LCD 16×2 và biết cách giao tiếp I2C.

Để nhận được nhiều kiến thức mới các bạn Đăng ký để nhận được thông báo sớm nhất.

Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino.

Nếu các bạn thấy bài viết bổ ích nhớ Like và Share cho mọi người cùng đọc nhé.

Chúc các bạn thành công.

Trân trọng.

Vậy cách để hiển thị các ký tự các thông số lên LCD 16×2 như thế nào?

Có dễ dàng hay không?

Qua bài viết hôm nay chúng ta sẽ đi sâu vào tìm hiểu các sử dụng LCD và giao tiếp với module IC2 nhé.

EP7 – How to Program Arduino – New Menu with Class and I2C LCD
EP7 – How to Program Arduino – New Menu with Class and I2C LCD

How To Program For LCD I2C

Thanks to the LiquidCrystal_I2C library, the using LCD is a piece of cake.

  • Include the library:
  • Declare a LiquidCrystal_I2C object with I2C address, the number of columns, the number of rows:
  • Initialize the LCD.
  • Move cursor to the desired position (column_index, row_index)
  • Print a message to the LCD.

There are many things more that we can do with LCD (see Do More with LCD part)

※ NOTE THAT:

The I2C address of LCD can vary according to the manufacturers. In the code, we used 0x27 that is specified by DIYables manufacturer

Module I2C Arduino

Module I2C LCD 16×2

LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển.

Module I2C LCD ra đời và giải quyết vấn để này cho bạn.

Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.

Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.

Ưu điểm

  • Tiết kiệm chân cho vi điều khiển.
  • Dễ dàng kết nối với LCD.

Thông số kĩ thuật

  • Điện áp hoạt động: 2.5-6V DC.
  • Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).
  • Giao tiếp: I2C.
  • Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).
  • Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.
  • Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.

Để sử dụng màn hình LCD giao tiếp I2C sử dụng Arduino thì ta cần cài đặt thư viện Liquidcrystal_I2C. Tại đây

LCD Not showing Text  || 16x2 LCD Not Displaying Text | Arduino 16x2 LCD not working | Arduino Tamil
LCD Not showing Text || 16×2 LCD Not Displaying Text | Arduino 16×2 LCD not working | Arduino Tamil

Cách kết nối và cấu hình module i2c LCD 16×2 với Arduino?

Để kết nối và cấu hình module I2C LCD 16×2 với Arduino, bạn cần làm theo các bước sau:Bước 1: Kiểm tra module I2C LCD 16x2Kiểm tra và xác định địa chỉ I2C của module LCD 16×2. Thông thường, địa chỉ mặc định của module này là 0x27 hoặc 0x3F.Bước 2: Chuẩn bị vi mạch- Kết nối module LCD 16×2 với Arduino bằng cách cắm chân SDA (A4) của module vào chân SDA (Analog pin 4) trên Arduino.- Kết nối chân SCL (A5) của module vào chân SCL (Analog pin 5) trên Arduino.- Nếu cần, cấp nguồn cho module LCD 16×2.Bước 3: Cài đặt thư viện LiquidCrystal_I2C- Mở Arduino IDE và nhấn Ctrl + Shift + I để mở Library Manager.- Tìm và cài đặt thư viện LiquidCrystal_I2C của Frank de Brabander.Bước 4: Viết code cho Arduino- Mở Arduino IDE và tạo một sketch mới.- Thêm đoạn mã sau vào sketch của bạn:#include#includeLiquidCrystal_I2C lcd(0x27, 16, 2); // Thay đổi địa chỉ I2C tại đây nếu cầnvoid setup() {lcd.begin(16, 2); // Khởi tạo LCD với kích thước 16x2lcd.backlight(); // Bật đèn nền LCD}void loop() {lcd.setCursor(0, 0);lcd.print(\”Hello, World!\”);lcd.setCursor(0, 1);lcd.print(\”I2C LCD 16×2\”);delay(1000);lcd.clear(); // Xóa toàn bộ nội dung trên LCDdelay(1000);}Bước 5: Upload và chạy code- Kết nối Arduino với máy tính qua cáp USB.- Chọn board và port tương ứng trong Arduino IDE.- Nhấn nút Upload để tải code lên Arduino.- Sau khi upload thành công, LCD 16×2 sẽ hiển thị các dòng chữ \”Hello, World!\” và \”I2C LCD 16×2\” lần lượt trên hai hàng của màn hình.Bây giờ bạn đã kết nối và cấu hình module I2C LCD 16×2 với Arduino thành công. Bạn có thể thay đổi nội dung hiển thị trên LCD bằng cách chỉnh sửa đoạn code trong hàm loop(). Chúc bạn thành công!

Keywords searched by users: arduino 16×2 lcd i2c code

In-Depth: Interfacing An I2C Lcd With Arduino
In-Depth: Interfacing An I2C Lcd With Arduino
Arduino 16X2 Lcd Display With I2C - Hello World - Hackster.Io
Arduino 16X2 Lcd Display With I2C – Hello World – Hackster.Io
Tổng Quan Lcd 16X2 Và Giao Tiếp I2C Lcd Sử Dụng Arduino | Arduino Kit
Tổng Quan Lcd 16X2 Và Giao Tiếp I2C Lcd Sử Dụng Arduino | Arduino Kit
Arduino I2C Lcd 16X2 Interfacing
Arduino I2C Lcd 16X2 Interfacing
How To Interface I2C Lcd Display With Arduino ? - Geeksforgeeks
How To Interface I2C Lcd Display With Arduino ? – Geeksforgeeks
How To Use I2C Lcd With Arduino | Very Easy Arduino Lcd I2C Tutorial | Arduino  16X2 Lcd I2C Tutorial - Youtube
How To Use I2C Lcd With Arduino | Very Easy Arduino Lcd I2C Tutorial | Arduino 16X2 Lcd I2C Tutorial – Youtube
In-Depth: Interfacing An I2C Lcd With Arduino
In-Depth: Interfacing An I2C Lcd With Arduino
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
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
How To Interface I2C Lcd With Arduino Nano
How To Interface I2C Lcd With Arduino Nano
Gravity: I2C 16X2 Arduino Lcd With Rgb Font Display (Black) - Dfrobot
Gravity: I2C 16X2 Arduino Lcd With Rgb Font Display (Black) – Dfrobot
Amazon.Com: Freenove I2C Lcd 1602 Module (2 Pack), New Type Iic Twi Serial  16X2 Display, Compatible With Arduino Raspberry Pi Pico Esp32 Esp8266 :  Electronics
Amazon.Com: Freenove I2C Lcd 1602 Module (2 Pack), New Type Iic Twi Serial 16X2 Display, Compatible With Arduino Raspberry Pi Pico Esp32 Esp8266 : Electronics
I2C 16X2 Arduino Lcd Display Module | The Pi Hut
I2C 16X2 Arduino Lcd Display Module | The Pi Hut
Interface I2C 16X2 Lcd With Arduino Uno (Just 4 Wires) - Hackster.Io
Interface I2C 16X2 Lcd With Arduino Uno (Just 4 Wires) – Hackster.Io
Hd44780 1602 Lcd Module Display Bundle With I2C Interface 2X16 Characters  Compatible With Arduino And Raspberry Pi
Hd44780 1602 Lcd Module Display Bundle With I2C Interface 2X16 Characters Compatible With Arduino And Raspberry Pi
Arduino Lcd I2C Simple Use And Direct Write From Serial Monitor – Surtr  Technology
Arduino Lcd I2C Simple Use And Direct Write From Serial Monitor – Surtr Technology
In-Depth: Interfacing An I2C Lcd With Arduino
In-Depth: Interfacing An I2C Lcd With Arduino
Tổng Quan Lcd 16X2 Và Giao Tiếp I2C Lcd Sử Dụng Arduino | Arduino Kit
Tổng Quan Lcd 16X2 Và Giao Tiếp I2C Lcd Sử Dụng Arduino | Arduino Kit

See more here: kientrucannam.vn

Leave a Reply

Your email address will not be published. Required fields are marked *