Chuyển tới nội dung
Home » Lcd I2C Arduino Mega 2560 | Module I2C Arduino

Lcd I2C Arduino Mega 2560 | Module I2C Arduino

How to connect an I2C LCD Display to an Arduino MEGA 2560

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

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

How to connect an I2C LCD Display to an Arduino MEGA 2560
How to connect an I2C LCD Display to an Arduino MEGA 2560

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ế

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.

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.

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.




system





Hello,
I have arduino uno r3 and Mega2560 and displays 16×2 and 20×4 with i2c adapter . When connected in all possible configurations displayers. I have a problem after flashing/uploading a simple sample program ( with liquidcrystal_i2c ) “hello world”. LCD Backlight is blue , they were tested on different items of unfortunately for me after uploading the same thing again . I checked on windows 8.1 windows 7 x64 and windows xp 32 bit seems to me that it is not the fault of the system (on the others PC). The software version on which I tested is 1.0.5 and 1.5.5 beta . Items are 100% correct – was checked by seller. Another LCD connect by 4 bits connection (E RS R/W D4 D5 D6 D7) works fine. I checked another usb cable, set contrast and connect to external DC source 9V/1.5A.

When I connect a standard install / update the drivers from the drivers folder of the software. Please send me suggestions on where may be at issue . Thanks in advance for your help and best regards.

Edit : I intercede movie who illustrates the problem after upload the program on arduino:




system





We can not advice to you when we do not know how you wired backpack and when you not post your sketch.

Here is my

working solution

.

Note: I2C wires SDA and SCL are connected to the corresponding SDA and SCL pins on both ends




system





I have adapter with the LCDs (PCF8574T). The adapter have only 4 pins (GND, VCC, SDA, SCL) all is integred in this module.
Each looks like this

http://farm9.staticflickr.com/8046/8115486011_a99d721319_b.jpg

I know that lcds and arduino’s works fine.

Could you give me any idea to resolve this problem?


1 Like




system





xlodder:
Could you give me any idea to resolve this problem?

Without inspecting your sketch and wiring diagram: no.




system





Ok,
LCD 20×4 with I2c adapter -> Arduino Mega 2560
GND -> GND no.2 / POWER SECTION
VCC -> 5V / POWER SECTION

SDA -> SDA 20 / COMMUNICATION SECTION
SCL -> SCL 21 / COMMUNICATION SECTION

Connect in UNO in additional sketch

I2cScanner give me 0x27 adress for LCD

The first steps I followed for information from

http://test.mauroalfieri.it/en/elettronica/display-lcd-1602-i2c-pcf8574t.html

I tested it on 3 configuration:
Notebook DELL 7520 I5-3210M 2.5 GHz 12 GB DDRIII 500 GB HDD GRAPH – HD7730 1 GB + Win 8.1 N Professional x64
PC Intel Core2Duo E8500 3.16 Ghz 4 GB DDRII 500 GB HDD GRAPH – QUADRO 512 MB + Windows 7 Professional x64
PC Acer Veriton S661 Intel Core2Duo E 6500 2.6 GHz 3 GB DDRII 160 GB HDD GRAPH – Int + Windows XP SP3 Professional x32

Arduino 1.0.5 + LiquidCrystal_I2c

And I have the same problem from 1st post.




system





The wiring is correct and sketch should also work. The last thing left to check is the wiring PCF8574T – I got it as follows:

          #define I2C_ADDR 0x27 // I2C address of PCF8574A
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7

        

I did not change anything in a working example (NewLiquidCrystal library) obtained from:

https://bitbucket.org/fmalpartida/new-liquidcrystal

You use PCF8574T while I have PCF8574A, but perhaps these chips are identical.




system





Ok it’s WORK FINE!
I resolve this problem after using library from ->

http://arduino-info.wikispaces.com/file/view/LiquidCrystal_I2C2004V1.zip/341635418/LiquidCrystal_I2C2004V1.zip

I have funduino I2c adapter on PCF8574T

Thanks K5CZ !
Greetings from Poland.

You use PCF8574T while I have PCF8574A, but perhaps these chips are identical.

For your future reference the devices operate identically but they have different address ranges.

The devices with an ‘A’ in the suffix have a base address of 0x38 and a range from 0x38 to 0x3F.

The devices without an ‘A’ in the suffix have a base address of 0x20 and a range from 0x20 to 0x27.

Don




system





Thanks Don for the explanation! Hence I update “our” I2C Scanner (see attachment). There is also on

my site

.


I2C_scanner_v008.ino

(8.78 KB)




system






10

Thanks, xlodder, for posting the link to the library:

I resolve this problem after using library from ->

http://arduino-info.wikispaces.com/file/view/LiquidCrystal_I2C2004V1.zip/341635418/LiquidCrystal_I2C2004V1.zip

The above library worked for me, too. I am using a Sainsmart I2C LCD2004 20×4 display which has the PCF8574T backpack to convert the inputs to I2C.

A couple other libraries, including the LiquidCrystal_I2C, didn’t work for me (compilation errrors).

I changed the address of the LCD to 0x3F, and all the example sketches worked.

Using Mega 2560 with mega.SDA (pin 20) and mega.SCL (pin 21) connected to the corresponding LCD I2C pins.

Bộ Linh Kiện Khởi Đầu ARDUINIO Module I2C LCD 0,96 inch Sử Dụng Cho Uno R3 Mega2560

Sản phẩm bao gồm:
– Màn hình OLED 1 x 0,96 inch
– Module màn hình LCD 1×1602
– Module chuyển tiếp kênh 1×1
– 1 x cảm biến nhiệt độ và độ ấm DHT11
– 1x cảm biến siêu âm HC-SR04
– Màn hình ma trận chấm 1x 8×8
-1 x Module cần điều khiển
– Ống kỹ thuật số 1×4 chữ số
– 1 x cảm biến cảm ứng TTP223B
– 1 x cảm biến hồng ngoại HC-SR501
– 1 x cảm biến độ ẩm đất
– 1 x cảm biến tránh chướng ngại vật
-1 x động cơ servo SG90 9G
– 2 x bảng bánh mì
– 30 x điện trở(220 1k 10k Q)
– 20 x diode (màu đỏ)
– 20 x cáp DuPont (đực, cái)

– Bộ Linh Kiện Khởi Đầu ARDUINIO Module I2C LCD 0,96 inch được sử dụng phổ biến trong thực hành Arduino

Nguồn: Đặng Duy Long.

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

How to connect multiple LCD displays to one Arduino
How to connect multiple LCD displays to one Arduino

Keywords searched by users: lcd i2c arduino mega 2560

How To Connect An I2C Lcd Display To An Arduino Mega 2560 - Youtube
How To Connect An I2C Lcd Display To An Arduino Mega 2560 – Youtube
Easiest Way To Connect Lcd Screen To Arduino Mega! - Hackster.Io
Easiest Way To Connect Lcd Screen To Arduino Mega! – Hackster.Io
Como Usar O Módulo I2C Com Arduino E Display Lcd 16X2 - Arduino E Cia - Loja
Como Usar O Módulo I2C Com Arduino E Display Lcd 16X2 – Arduino E Cia – Loja
In-Depth: Interfacing An I2C Lcd With Arduino
In-Depth: Interfacing An I2C Lcd With Arduino
How To Connect An I2C Lcd Module (Liquid Crystal Display) To Arduino Mega  2560 - Youtube
How To Connect An I2C Lcd Module (Liquid Crystal Display) To Arduino Mega 2560 – Youtube
Mua Sunfounder Iic I2C Twi 1602 Serial Lcd Module Display Compatible With  Arduino R3 Mega 2560 16X2 Trên Amazon Mỹ Chính Hãng 2024 | Giaonhan247
Mua Sunfounder Iic I2C Twi 1602 Serial Lcd Module Display Compatible With Arduino R3 Mega 2560 16X2 Trên Amazon Mỹ Chính Hãng 2024 | Giaonhan247
How To Convert Lcd Display To Lcd Serial Display For Arduino
How To Convert Lcd Display To Lcd Serial Display For Arduino
Easiest Way To Connect Lcd Screen To Arduino Mega! - Hackster.Io
Easiest Way To Connect Lcd Screen To Arduino Mega! – Hackster.Io
Amazon.Com: Sunfounder Iic I2C Twi 1602 Serial Lcd Module Display  Compatible With Arduino R3 Mega 2560 16X2 : Electronics
Amazon.Com: Sunfounder Iic I2C Twi 1602 Serial Lcd Module Display Compatible With Arduino R3 Mega 2560 16X2 : Electronics
Lcd Module Blue Green Screen Iic/I2C 1602 For Arduino 1602 Lcd Uno R3  Mega2560 Lcd1602 Lcd1602+I2C - Aliexpress
Lcd Module Blue Green Screen Iic/I2C 1602 For Arduino 1602 Lcd Uno R3 Mega2560 Lcd1602 Lcd1602+I2C – Aliexpress
Wiring I2C Module On 16×2 Lcd With Scl/Sda | 14Core.Com
Wiring I2C Module On 16×2 Lcd With Scl/Sda | 14Core.Com
In-Depth: Interfacing An I2C Lcd With Arduino
In-Depth: Interfacing An I2C Lcd With Arduino
Interfacing I2C Lcd With Arduino Mega 2560 In Proteus
Interfacing I2C Lcd With Arduino Mega 2560 In Proteus
Bộ Linh Kiện Khởi Đầu Arduinio Module I2C Lcd 0,96 Inch Sử Dụng Cho Uno
Bộ Linh Kiện Khởi Đầu Arduinio Module I2C Lcd 0,96 Inch Sử Dụng Cho Uno
Easiest Way To Connect Lcd Screen To Arduino Mega! - Hackster.Io
Easiest Way To Connect Lcd Screen To Arduino Mega! – Hackster.Io
Amazon.Com: Aitrip 3 Set Iic/I2C/Twi Lcd 1602 16X2 Serial Interface Adapter  Module Green Backlight For Arduino Uno R3 Mega2560 (Green) : Electronics
Amazon.Com: Aitrip 3 Set Iic/I2C/Twi Lcd 1602 16X2 Serial Interface Adapter Module Green Backlight For Arduino Uno R3 Mega2560 (Green) : Electronics
Character I2C Lcd With Arduino Tutorial (8 Examples)
Character I2C Lcd With Arduino Tutorial (8 Examples)
How To Connect An I2C Lcd Module To Arduino Mega - Example Dht11  Temperature And Humidity Sensor - Youtube
How To Connect An I2C Lcd Module To Arduino Mega – Example Dht11 Temperature And Humidity Sensor – Youtube
Lcd Module Blue Green Screen Iic/I2C 1602 For Arduino 1602 Lcd Uno R3  Mega2560 Lcd1602 Lcd1602+I2C - Aliexpress
Lcd Module Blue Green Screen Iic/I2C 1602 For Arduino 1602 Lcd Uno R3 Mega2560 Lcd1602 Lcd1602+I2C – Aliexpress
How I Can Use Two I2C Lcd In Arduino Mega - Project Guidance - Arduino Forum
How I Can Use Two I2C Lcd In Arduino Mega – Project Guidance – Arduino Forum
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

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 *