Skip to content
Home » Lcd 2004 I2C Arduino | Giới Thiệu Lcd 16×2

Lcd 2004 I2C Arduino | Giới Thiệu Lcd 16×2

How to use IIC I2C 2004 204 20 x 4 Character LCD with Arduino

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ế

TEST LCD 20×4

Đầu tiên, chúng ta sẽ kết nối màn hình LCD với Arduino để hiển thị một số mẫu văn bản và tìm hiểu cách hoạt động của nó

Sơ đồ nguyên lý

Kết nối chân GND với chân Arduino GND, VCC với chân 5V trên Arduino, SDA với chân A4, và cuối cùng là SCL với chân A5.

Code

Trước tiên, chúng ta cần tải xuống thư viện của màn hình, bao gồm tất cả các chức năng cần thiết để cấu hình và ghi dữ liệu. Bạn có thể tải ở đây.

Giải nén thư viện và copy nó vào thư mục thư viện của Arduino trong Document.

Copy toàn bộ code dưới đây vào Arduino IDE và chạy thử.

//Written by Nick Koumaris //[email protected] //educ8s.tv #include

#include LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address void setup() { lcd.begin(20,4); // Initialize LCD lcd.setCursor(3,0); // Set the cursor at the 4th column and 1st row lcd.print(“Hello YouTube!”); lcd.setCursor(8,1); // Set the cursor at the 9th column and 2nd row lcd.print(“****”); lcd.setCursor(0,2); // Set the cursor at the 1st column and 3rd row lcd.print(“This is a demo text”); lcd.setCursor(8,3); // Set the cursor at the 9th column and 4th row lcd.print(“****”); } void loop() { }

Giải thích

lcd.setCursor(3,0);

Đoạn code trên dùng để đặt con trỏ của màn hình LCD ở vị trí được chỉ định. Ở đây là đặt con trỏ ở cột thứ 4 – hàng thứ nhất.

lcd.print(” “);

Đoạn này sẽ hiển thị văn bản trong dấu nháy kép ra màn hình tại vị trí con trỏ hiện tại, hãy chú ý vì các ký tự bị tràn (Vượt quá 20 ô) sẽ bị loại bỏ.

How to use IIC I2C 2004 204 20 x 4 Character LCD with Arduino
How to use IIC I2C 2004 204 20 x 4 Character LCD with Arduino

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.

MODULE

Đây là màn hình tinh thể lỏng với 4 dòng và 20 ô hiển thị trên mỗi dòng nhưng không thể hiển thị được đồ họa (Ví dụ như vẽ đồ thị).

Ban đầu, màn hình có 16 pin nhưng sau khi lắp Module LCD I2C chuyển đổi thì chỉ còn lại 2 chân nguồn và 2 chân tín hiệu SCL SDA để kết nối với Arduino dễ dàng hơn.

Để hiển thị thời gian chính xác, module thời gian thực DS3231 được sử dụng ở bài viết này.

Module DS3231 có độ chính xác rất cao và có kèm pin dự phòng khi mất điện, thiết bị vẫn duy trì chính xác thời gian.

Module RTC sẽ duy trì thông tin giây, phút, giờ, ngày, tháng, và năm. Các ngày trong tháng, ngày kết thúc của tháng sẽ được tự động điều chỉnh nếu 31 ngày hoặc dưới 31 ngày, bao gồm cả các điều chỉnh cho năm nhuận.

Introduction to LCD2004 LCD display with I2C module for Arduino
Introduction to LCD2004 LCD display with I2C module for Arduino

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.

IoT – Internet of Things

Artificial Intelligence

Single Board Computer

STEM EDUCATION

Mạch điện – Module

  • Mạch thu phát sóng RF
  • Màn hình LCD
  • Mạch điều khiển động cơ
  • Điều khiển & Bàn phím & Joystick
  • Dimmer & phát xung PWM
  • Giao tiếp & Chuyển đổi
  • Âm thanh & Khuếch đại Amply
  • Đóng ngắt & Relay
  • Nguồn xung & Giảm, tăng áp & Sạc pin
  • Thời gian & Hiển thị & Còi, Buzzer
  • Kit phát triển & Mạch nạp
  • Đế chuyển Adapter

Cảm biến – Sensor

  • Ánh sáng & Âm thanh & Màu sắc
  • Chuyển động & Rung
  • Đo Dòng điện & Điện thế
  • Dò line & Encoder & Vận tốc
  • Gia tốc & Góc nghiêng & La bàn
  • Sinh học & Môi trường
  • Hình ảnh & Barcode, QR
  • Từ trường & Kim loại & Điện dung
  • Nhiệt độ & Độ ẩm & Mưa
  • Áp suất & Lưu lượng & Cân nặng
  • Khoảng cách & Vật cản & Radar
  • Sò nóng lạnh Peltier

Robot – Điều khiển

  • Khung Robot
  • Phụ kiện Robot
  • Bánh xe
  • Động cơ
  • Động cơ bơm, thổi & Van điện từ
  • Mạch điều khiển Động cơ
  • Pin & Sạc
  • Pin Năng Lượng Mặt Trời Solar Panel
  • Máy in 3D & CNC Mini

Phụ kiện và dụng cụ

Thương hiệu phân phối

Màn hình text LCD2004 xanh lá sử dụng driver HD44780, có khả năng hiển thị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng. Đặc biệt có thêm Module Chuyển Đổi I2C thích hợp cho những người mới học và làm dự án.

Kích thước: 41.5(L) x 19(W) x 15.3mm(H)

Trọng lượng: 5g.

Điện áp hoạt động :2.5-6V.

Giao tiếp I2C

Jump Chốt: Cung cấp đèn cho LCD hoặc ngắt.

Biến trở xoay độ tương phản cho LCD.

Tiết kiệm chân cho vi điều khiển.

Kết nối LCD vs vi điều khiển dễ dàng nhất.

Chế độ bảo hành

Chế độ bảo hành sản phẩm của Linh Kiện Điện Tử 3M

Bảo đảm chất lượng

Sản phẩm được Test, dán Tem trước khi được đóng gói Kĩ Càng gửi cho Quý Khách

Cước vận chuyển

Cước vận chuyển được tự động đồng bộ đơn vị vận chuyển, Sản phẩm phát ngay trong ngày. Hỗ trợ đơn hàng: 02420214848

Hỗ trợ kỹ thuật

Tư vấn kĩ thuật: 0969.477.417 Khi khách hàng gặp khó khăn trong quá trình sử dụng

Thành tiền:

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é.

[Lập trình Arduino - KCQ - 5.1] - Giao tiếp LCD 2004(I2C)
[Lập trình Arduino – KCQ – 5.1] – Giao tiếp LCD 2004(I2C)

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.

Hiển thị ngày và giờ lên LCD

Bây giờ chúng ta sẽ sử dụng mô-đun RTC với màn hình LCD để hiển thị ngày và giờ hiện tại

Sơ đồ nguyên lý

Chân SCL của LCD sẽ nối chung với chân SCL của module thời gian DS3231 và kết nối với chân A5 của mạch Arduino.

Tương tự, chân SDA của 2 module trên cũng sẽ nối với chân A4 của mạch Arduino.

Code

Trước khi bắt đầu, chúng ta phải tải xuống thư viện RTC và cài đặt thời gian cho module DS3231 (Module khi mới mua thời gian đang bị sai). Thư viện có sẵn tại github.

Giải nén thư viện và copy nó vào thư mục thư viện của Arduino trong Document.

Mở Arduino IDE -> Examples. Chọn ‘setTime’ từ thư viện DS1307.

Cuối cùng upload code vào module RTC DS3231 được kết nối thông qua Arduino và nó sẽ đặt thời gian của module RTC trùng khớp với thời gian trên máy tính.

Bên trong hàm loop, thời gian được đọc ra từ module RTC và đưa ra hiển thị ngoài màn hình.

Bây giờ chúng ta sẽ giải thích từng phần code nhé!

Đầu tiên, gọi ra 3 thư viện: I2C, LCD và RTC và cài đặt địa chỉ của LCD.

Sau hàm khởi tạo cho LCD, hàm createCustomCharacters() được gọi ra và xuất ra màn hình.

#include

#include #include

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address void setup() { lcd.begin(20,4); createCustomCharacters(); printFrame(); }

Mỗi ký tự có chiều rộng tối đa 5 pixel và chiều cao 8 pixel. Vì vậy, để tạo một ký tự tùy chỉnh, chúng ta cần tạo một byte mới.

Bên trong hàm createCustomCharacters(), chúng ta gọi hàm lcd.createChar(#, byte array)

Màn hình LCD hỗ trợ tối đa 8 ký tự tùy chỉnh được đánh số từ 0 đến 7.

byte verticalLine[8] = { B00100, B00100, B00100, B00100, B00100, B00100, B00100, B00100 }; byte char2[8] = { B00000, B00000, B00000, B11100, B00100, B00100, B00100, B00100 }; byte char1[8] = { B00000, B00000, B00000, B00111, B00100, B00100, B00100, B00100 }; byte char3[8] = { B00100, B00100, B00100, B00111, B00000, B00000, B00000, B00000 }; byte char4[8] = { B00100, B00100, B00100, B11100, B00000, B00000, B00000, B00000 }; void createCustomCharacters() { lcd.createChar(0, verticalLine); lcd.createChar(1, char1); lcd.createChar(2, char2); lcd.createChar(3, char3); lcd.createChar(4, char4); }

Sau khi chuẩn bị các ký tự, bây giờ chúng ta sẽ tạo khung.

Hàm này rất đơn giản, nó sử dụng hàm lcd.setCursor (#, #) để di chuyển con trỏ và lcd.print (“”) để hiển thị chuỗi ra LCD.

Hàm sẽ hiển thị ra LCD các dòng ngang trên cùng và dưới cùng, sau đó đến các ký tự tùy chỉnh khác.

void printFrame() { lcd.setCursor(1,0); lcd.print(“——————“); lcd.setCursor(1,3); lcd.print(“——————“); lcd.setCursor(0,1); lcd.write(byte(0)); lcd.setCursor(0,2); lcd.write(byte(0)); lcd.setCursor(19,1); lcd.write(byte(0)); lcd.setCursor(19,2); lcd.write(byte(0)); lcd.setCursor(0,0); lcd.write(byte(1)); lcd.setCursor(19,0); lcd.write(byte(2)); lcd.setCursor(0,3); lcd.write(byte(3)); lcd.setCursor(19,3); lcd.write(byte(4)); }

Như chúng ta đã thảo luận trước đó, mỗi giây hàm loop sẽ lấy thông số ngày – giờ và làm mới chúng trên màn hình.

Đầu tiên, chúng ta xác định phần tử thời gian “tm” có chứa dữ liệu thời gian hiện tại. Nếu thời gian là chính xác và mô-đun RTC hoạt động tốt thì ngày và giờ sẽ được xuất ra ngoài LCD.

void loop() { tmElements_t tm; if (RTC.read(tm)) { printDate(5,1,tm); printTime(6,2,tm); } else { if (RTC.chipPresent()) { //The DS1307 is stopped. Please run the SetTime } else { //DS1307 read error! Please check the circuitry } delay(9000); } delay(1000); }

Hàm PrintTime sử dụng ba đối số, cột và dòng nơi nó sẽ hiển thị thời gian lên LCD và phần tử thời gian.

Hàm lcd.print (tm.Hour) sẽ hiển thị giờ lên LCD, nếu phút và giây nhỏ hơn 10 chúng ta sẽ thêm số 0 vào bên trái. Phương pháp tương tự được sử dụng để hiển thị ngày.

void printTime(int character,int line, tmElements_t tm) { String seconds,minutes; lcd.setCursor(character,line); lcd.print(tm.Hour); lcd.print(“:”); if(tm.Minute<10) { minutes = “0”+String(tm.Minute); lcd.print(minutes); }else { lcd.print(tm.Minute); } lcd.print(“:”); if(tm.Second<10) { seconds = “0”+String(tm.Second); lcd.print(seconds); }else { lcd.print(tm.Second); } } void printDate(int character,int line, tmElements_t tm) { lcd.setCursor(character,line); lcd.print(tm.Month); lcd.print(“/”); lcd.print(tm.Day); lcd.print(“/”); lcd.print(tmYearToCalendar(tm.Year)); }

Mọi thứ đã sẵn sàng, hãy nạp code vào Arduino của bạn và tận hưởng đồng hồ mới.

Bạn có thể tải code và thư viện Arduino trong các tệp đính kèm bên dưới.

ARDUINO 20x4 LCD i2c Tutorial | How to Print Text On LCD Display
ARDUINO 20×4 LCD i2c Tutorial | How to Print Text On LCD Display

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

LCD 2004 kèm module I2C

LCD Display LCD2004 Module Green Screen with I2C

Mã sản phẩm: 7R16

Sản phẩm hiện đang còn hàng.

Xem chi nhánh còn hàng

LCD 2004 kèm module I2C điện áp hoạt động là 5V. Kích thước: 98 x 60 x 13.5 mm

  • Cộng thêm 10 điểm tích lũy
  • TP.HCM: Miễn phí vận chuyển đơn hàng từ 300k

    Tỉnh thành khác: Miễn phí vận chuyển đơn hàng từ 500k

    Xem thêm các khuyến mãi vận chuyển khác.

  • Bảo hành: 7 ngày

Differents Types Text Style Arduino 20x4 I2C Lcd Display || Scrolling, Blinking, Simple Text
Differents Types Text Style Arduino 20×4 I2C Lcd Display || Scrolling, Blinking, Simple Text

Chi tiết sản phẩm

Màn hình text LCD 2004 kèm module I2C sử dụng driver HD44780, có khả năng hiển thị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án.

Màn hình LCD được hàn sẵn module giao tiếp I2C giúp việc giao tiếp được dễ dàng và nhanh chóng hơn rất nhiều, người dùng không phải tốn công hàn i2c, mà giá thành lại rẻ hơn mua từng món.

THÔNG SỐ LCD 2004 KÈM MODULE I2C

  • Điện áp hoạt động là 5 V.
  • Kích thước: 98 x 60 x 13.5 mm

Sơ đồ kết nối i2C với Arduino UNO:

VCC : 5V

GND : GND

SCL : A5

SDA : A4

CODE MẪU LCD 2004 KÈM MODULE I2C

Thư viện LiquidCrystal_I2C.h : https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c

/* * Kết nối: * I2C Uno Mega * GND GND GND * VCC 5V 5V * SDA A4 (SDA) SDA * SCL A5 (SCL) SCL * */ #include

#include LiquidCrystal_I2C lcd(0x3F, 16, 2); //0X3F thay đổi tùy theo địa chỉ I2C, có thể là 0x3F hoặc 0x27 void setup() { // initialize the LCD lcd.begin(); lcd.backlight(); lcd.print(” Dien Tu NSHOP “); lcd.setCursor(0,1); lcd.print(” Xin Kinh Chao “); } void loop() { // Do nothing here… }

Nshopvn.com · 07/03/2019 10:50 AM

LCD 2004 kèm module I2C giá chỉ 103.000₫

Màn hình LCD 2004 + Module I2C là combo kết hợp bao gồm:

  • 01 Màn hình LCD 2004;
  • 01 Module I2C LCD.

Với việc kết hợp Màn hình LCD 2004 + Module I2C giúp tiếp kiệm chân trong giao tiếp LCD2004 với Arduino, Raspberry (chỉ 4 pin). Bên cạnh đó sử dụng màn hình LCD2004 tích hợp I2C mang lại tiện lợi khi sử dụng

Màn hình LCD 2004 là màn hình 4 dòng, mỗi dòng hiển thị 20 ký tự. Màn hình Màn hình LCD 2004 được sử dụng phổ biến trong các ứng dụng: máy photo, máy fax, máy in laser, các thiết bị công nghiệp, thiết bị mạng như router, thiết bị lưu trữ… Ngoài ra màn hinh LCD 2004 cũng được sử dụng phổ biến trong học giao tiếp hiển thị với vi điều khiển, Arduino, Raspberry Pi, STM32,…

Thông số kỹ thuật màn hình LCD 2004 :

  • Dạng hiển thị: 4 dòng, mỗi dòng 20 ký tự
  • Dạng hiển thị: ký tự
  • Màu đèn nền: Màu xanh dương
  • Góc quan sát rộng với độ tương phản cao
  • Bên trong tích hợp chip HD44780 cho điều khiển LCD
  • Điện áp hoạt động: 5V DC.
  • Kích thước Module: 98mm x 60mm x 12mm.

Other Arduino Codes and Videos by Robojax

دروس آردوینو به فارسی

In this page we have got two Arduino sketch. There are various code to display data on LCD2004-I2C. You need to download the Liquid Crystal library.

This code prints simple Hello World text on screen


/* * Download library: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library * * Updated by Ahmad Shamshiri on July 08, 2018 at 19:14 in Ajax, Ontario, Canada * for Robojax.com * Get this code from Robojax.com * Watch video instruction for this code at:https://youtu.be/DKmNSCMPDjE * */ #include

#include // Set the LCD address to 0x27 for a 20 chars and 4 line display LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { // initialize the LCD lcd.begin(); // Turn on the blacklight and print a message. lcd.backlight(); lcd.print("Hello, world!"); } void loop() { // Do nothing here... }

This code prints values from variable or sensors with texts on the same line or in multiple lines.


/* * * * Download library: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library * This code is basic usage of LCD2004 display with I2C * It will display text in 4 lines each with 20 characters * It Displays multiple float values and text on the same line * * * * Updated by Ahmad Shamshiri on July 08, 2018 at 09:20 in Ajax, Ontario, Canada * for Robojax.com * Get this code from Robojax.com * Watch video instruction for this code at:https://youtu.be/DKmNSCMPDjE * */ #include

#include // Set the LCD address to 0x27 for a 20 chars and 4 line display LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { // initialize the LCD, lcd.begin(); // Turn on the blacklight and print a message. lcd.backlight(); lcd.clear(); lcd.setCursor (0,0); // lcd.print("Robojax LCD2004 Test"); lcd.setCursor (0,1); // lcd.print("Please Wait - 3"); lcd.setCursor (0,1); // delay(1000); lcd.print("Please Wait - 2"); delay(1000); lcd.setCursor (0,1); // lcd.print("Please Wait - 1"); delay(1000); } void loop() { // Robojax.com LCD2004 with I2C custom code lcd.clear();// clearn previous values from screen lcd.setCursor (0,0); //character zero, line 1 lcd.print("LCD2004 I2C Example"); // print text lcd.setCursor (4,1); //character 4, line 2 lcd.print("Robojax.com"); // print text lcd.setCursor (0,2); //character 0, line 3 lcd.print("Voltage: "); // print text float v = 8.254;// define or get voltage char VoltageStr[5]; dtostrf(v, 5, 3, VoltageStr ); lcd.setCursor (9,2); //character 9, line 3 lcd.print(VoltageStr); // print voltage lcd.setCursor (14,2); //character 14, line 3 lcd.print("V"); // print V at the end of voltage lcd.setCursor (0,3); //character 0, line 4 lcd.print("X: "); // print x float xdeg = -123.87;// define or get x degree (just example) lcd.setCursor (3,3); //character 8, line 3 lcd.print(xdeg); // print xdeg value lcd.setCursor (12,3); //character 12, line 4 lcd.print("Y: "); // print Y float ydeg = 32.8;// define or get y degree (just example) lcd.setCursor (15,3); //character 15, line 4 lcd.print(ydeg); // print ydeg value delay(100); }// loop end

This code will display blinking cursor on the screen.


/* * * Download library: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library * This code is basic usage of LCD2004 display with I2C * It will display blinking cursor on screen * * Get this code from Robojax.com * Watch video instruction for this code at:https://youtu.be/DKmNSCMPDjE * */ #include

#include // Set the LCD address to 0x27 for a 20 chars and 4 line display LiquidCrystal_I2C lcd(0x27, 20, 4); void setup() { // initialize the LCD lcd.begin(); } void loop() { bool blinking = true; lcd.cursor(); while (1) { if (blinking) { lcd.clear(); lcd.print("No cursor blink"); lcd.noBlink(); blinking = false; } else { lcd.clear(); lcd.setCursor(0,1); lcd.print("Your name: "); lcd.blink(); blinking = true; } delay(4000); } }

This code prints characters you type on the serial monitor.


/* * * Download library: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library * This code is basic usage of LCD2004 display with I2C * It code will allow you to enter character on the serial monitor and display it on this screen * * Updated by Ahmad Shamshiri on July 08, 2018 at 09:20 in Ajax, Ontario, Canada * for Robojax.com * Get this code from Robojax.com * Watch video instruction for this code at:https://youtu.be/DKmNSCMPDjE * */ #include

#include // Set the LCD address to 0x27 for a 20 chars and 4 line display LiquidCrystal_I2C lcd(0x27, 20, 04); char lastChar ='_'; void setup() { lcd.begin(); lcd.backlight(); lcd.print("Robojax.com Test"); // Initialize the serial port at a speed of 9600 baud Serial.begin(9600); } void loop() { lcd.clear(); lcd.setCursor(0,1); lcd.print("Enter Letter: "); lcd.setCursor(13,1); // If characters arrived over the serial port... if (Serial.available()) { // Wait a bit for the entire message to arrive delay(100); // Write all characters received with the serial port to the LCD. while (Serial.available() > 0) { lastChar =Serial.read(); Serial.print("Entered: "); Serial.println(lastChar); }//while end }// if end lcd.write(lastChar);// display last entered character delay(1000); }// loop end

If you found this tutorial helpful, please support me so I can continue creating content like this. support me via PayPal

Số lượng mua (Cái)

Đơn giá (VND)

1+ 16.000

Giao hàng toàn quốc

Thanh toán khi nhận hàng

Cam kết đổi/trả hàng

Thuộc tính Giá trị Tìm kiếm

Thương hiệu

OEM

Sử dụng cho

LCD ký tự

Loại giao tiếp

I2C

RoHS
8 Sản phẩm tương tự

Chat

Noobie here experimenting with an i2c lcd 2004 (20×4). I am hopeful that someone can bump me in the right direction.

I was reading this thread — IIC/I2C/TWI 2004 20X4 Character LCD Module Display – #16 by system — and could not follow what library the poster bperrybap was referencing when he mentions “fm’s library”?

I have an LCD with an I2c module attached that I purchased from HiLetGo (https://www.amazon.com/gp/aw/d/B01DKETWO2?psc=1&ref=ppx_pop_mob_b_asin_title). I am trying to determine the correct lcd/i2c libraries to use.

Can I use (and should I use) the Extensible hd44780 library (at the following link)?

alternatively, what Liquidcrystal_i2s should I use?

Thanks in advance for any help.

Đã được đăng vào 01/06/2021 @ 17:16

Ở bài viết trước, mình đã hướng dẫn các bạn Hiển thị thời gian thực (RTC DS1307) lên LCD16x2 bằng giao tiếp I2C trong môi trường Arduino

Bài viết hôm nay cũng hướng dẫn các bạn hiển thị thời gian thực lên LCD qua I2C bằng Arduino nhưng khác ở chỗ dùng LCD 2004 (LCD 20×4) và dùng module thời gian độ chính xác cao DS3231.

Để hiểu hơn về bài viết hôm nay các bạn đọc lại bài viết bên dưới rồi chúng ta tiếp tục nha.

  • Đọc thêm: Tổng quan LCD 16×2 và giao tiếp I2C LCD sử dụng Arduino
  • Đọc thêm: Đồng hồ thời gian thực (Read Time Clock – DS1307) sử dụng Arduino

Keywords searched by users: lcd 2004 i2c arduino

See more here: kientrucannam.vn

Leave a Reply

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