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.
Code mẫu
#include
#includeLiquidCrystal_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
Code mẫu
#include
#includeLiquidCrystal_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é.
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.
CHI TIẾT BÀI VIẾT
HƯỚNG DẪN CƠ BẢN ARDUINO UNO R3 KẾT NỐI I2C HIỂN THỊ THÔNG BÁO TRÊN LCD
1. Giới thiệu
Bài viết hướng dẫn các bạn cách kết nối board mạch Arduino Uno R3 kết nối với I2C và LCD và thực hiện lập trình trên Arduino để hiển thị thông báo trên màn hình LCD
2. Thiết bị phần cứng
- Arduino Uno R3
- Mạch điểu khiển LCD
Điện áp MAX : 7V
Điện áp MIN : – 0,3V
Hoạt động ổn định : 2.7-5.5V
Điện áp ra mức cao : > 2.4
Điện áp ra mức thấp : <0.4V
Dòng điện cấp nguồn : 350uA – 600uA
Nhiệt độ hoạt động : – 30 – 75 độ C
- Module giao tiếp I2C
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 sử dụng 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.
3. Kết nối các thiết bị
4. Kết nối Arduino Uno R3 với máy tính
Kết nối cổng USB từ Arduino đến máy tính
Xác định Port Kết nối : Chuột phải vào My computer trên máy tính 🡪 manager 🡪 Device manager 🡪 check Port ( COM & LPT )
Cấu hình trên phần mềm Arduino 🡪 mở phần mềm Arduino 🡪 chọn tool 🡪 chọn Board
Ở đây mình sử Dụng Board Arduino Uno R3 🡪 chọn Arduino /Genuino Uno
Nhập code
#include LiquidCrystal_I2C lcd(0x27,16,2); void setup() lcd.init(); lcd.backlight(); lcd.setCursor(4,0); lcd.print(“ITSTARVN”); lcd.setCursor(0,1); lcd.print(“Xin chao cac ban”); void loop() |
Thực hiện upload code trên thiết bị Arduino
Kết quả hiển thị thông báo trên màn hình LCD
Thực hiện: Nguyễn Mạnh Cương
LCD 1602 kèm module I2C
LCD 1602 with I2C – Green
51.000₫ – 56.000₫
– Điện áp hoạt động là 5 V– Địa chỉ I2C: 0x27 (có thể thay đổi theo đơn hàng của nsx)– Kích thước lỗ bắt ốc: 74mmx30mm– Kích thước của mạch: 80mmx36mmx19m– Trọng lượng: 38g
CHỌN BIẾN THỂ
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
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
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ế
Chi tiết sản phẩm
Để sử dụng các loại LCD có driver là HD44780 (LCD 1602, LCD 2004,… ) cần có ít nhất 6 chân của MCU kết nối với các chân RS, EN, D7, D6, D5 và D4 để có thể giao tiếp với LCD.
Nhưng với mạch chuyển đổi giao tiếp I2C cho LCD, các bạn chỉ cần 2 chân (SDA và SCL) của MCU kết nối với 2 chân (SDA và SCL) của module là đã có thể hiển thị thông tin lên LCD. Ngoài ra có thể điều chỉnh được độ tương phản bởi biến trở gắn trên module.
THÔNG SỐ MẠCH CHUYỂN ĐỔI GIAO TIẾP I2C
- Kích thước: 41.5mm(L)X19mm(W)X15.3MM(H)
- Trọng lượng: 5g
- Điện áp hoạt động: 2.5v-6v
- Jump chốt: Cung cấp đèn cho LCD hoặc ngắt
- Biến trở xoay độ tương phản cho LCD
Lưu ý : Các phiên bản cũ địa chỉ của bus i2c là 0X27, loại mới là 0x3F
Module được thiết kế dễ dàng cắm vào màn hình LCD theo các chân định sẵn, xem LCD 1602 để biết cách kết nối với Arduino
Sơ đồ chân:
Sơ đồ kết nối:
————————CODE THAM KHẢO———————
/*************************************************** Kết nối: I2C UNO R3 MEGA VIN 5V 5V GND GND GND SCL A5 SCL SDA A4 SDA Nạp code mở Serial Monitor chọn No line ending, baud 9600. ****************************************************/ #include
//————————————————————————— void setup() { Wire.begin(); Serial.begin(9600); while (!Serial); // Leonardo: wait for serial monitor Serial.println(” I2C Scanner”); } //————————————————————————– void loop() { byte error, address; int nDevices; Serial.println(“Scanning…”); nDevices = 0; for(address = 1; address < 127; address++ ) { // The i2c_scanner uses the return value of // the Write.endTransmisstion to see if // a device did acknowledge to the 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(” !”); nDevices++; } else if (error==4) { Serial.print(“Unknown error at address 0x”); if (address<16) Serial.print(“0”); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println(“No I2C devices found “); else Serial.println(“done “); delay(5000); // wait 5 seconds for n }
Kết quả
Hình ảnh sản phẩm
Nshopvn.com · 07/03/2019 10:43 AM
Mạch Chuyển Đổi Giao Tiếp I2C Cho LCD giá chỉ 18.000₫
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é.
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.
-
- Tổng tiền thanh toán:
|
#include void loop() |
|
#include void loop() |
|
#include void loop() |
|
#include void loop() |
Chi tiết sản phẩm
Màn hình text LCD 1602 kèm module I2C sử dụng driver HD44780, có khả năng hiển thị 2 dòng với mỗi dòng 16 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ố kỹ thuật của LCD 1602 kèm module I2C
- Điện áp hoạt động là 5 V.
- Địa chỉ I2C: 0x27 (có thể là 0X3F thay đổi theo đơn hàng của nhà sản xuất)
- Màu: Xanh lá || Xanh dương (tùy chọn)
- Kích thước lỗ bắt ốc: 74mm x 30mm
- Kích thước của mạch: 80mm x 36mm x 19m
- Trọng lượng 38g
Sơ đồ kết nối i2C với Arduino UNO:
- VCC: 5V
- GND: GND
- SCL: A5
- SDA: A4
Code test with Arduino
/* * 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.h > LiquidCrystal_I2C lcd(0x27, 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… }
Hình ảnh sản phẩm LCD 1602 kèm module I2C
Phản hồi khách hàng
Nshopvn.com · 15/08/2020 6:52 PM
LCD 1602 kèm module I2C giá chỉ 51.000₫
Mạch Chuyển Đổi Giao Tiếp I2C Cho LCD
LCD I2C Interface Adapter
Mã sản phẩm: BZOZ
Sản phẩm hiện đang hết hàng.
Xem chi nhánh còn hàng
Mạch chuyển đổi giao tiếp I2C cho LCD. Điện áp hoạt động: 2.5V-6V. Biến trở xoay độ tương phản cho LCD. Kích thước: 41.5mm(L)X19mm(W)X15.3MM(H)
- Cộng thêm 1 đ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.
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.
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.
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.
Keywords searched by users: i2c module lcd arduino
Categories: Cập nhật 35 I2C Module Lcd Arduino
See more here: kientrucannam.vn
See more: https://kientrucannam.vn/vn/