Mục lục:

Sử dụng LCD 16x2 với I2C: 4 bước
Sử dụng LCD 16x2 với I2C: 4 bước

Video: Sử dụng LCD 16x2 với I2C: 4 bước

Video: Sử dụng LCD 16x2 với I2C: 4 bước
Video: Giao Tiếp I2C Với LCD 16x2 Bằng Arduino Uno R3 | Điện tử DAT 2024, Tháng bảy
Anonim
Sử dụng LCD 16x2 với I2C
Sử dụng LCD 16x2 với I2C
Sử dụng LCD 16x2 với I2C
Sử dụng LCD 16x2 với I2C
Sử dụng LCD 16x2 với I2C
Sử dụng LCD 16x2 với I2C

Trong một trong những Người có thể hướng dẫn trước đây của tôi, tôi đã hướng dẫn bạn cách kết nối và giao diện màn hình LCD với Arduino Uno và hiển thị các giá trị trên đó. Nhưng theo quan sát, có rất nhiều kết nối và nếu dự án bắt đầu sẽ trở nên lộn xộn do quá nhiều dây.

Trong Tài liệu hướng dẫn này, tôi sẽ chỉ cho bạn cách kết nối màn hình LCD với I2C, thiết bị này sẽ chỉ có 4 chân để điều khiển và sử dụng màn hình LCD. Vậy hãy bắt đầu.

Bước 1: Các thành phần bắt buộc

Thành phần bắt buộc
Thành phần bắt buộc
Thành phần bắt buộc
Thành phần bắt buộc
Thành phần bắt buộc
Thành phần bắt buộc

Đối với dự án này, bạn sẽ cần:

  • Arduino Uno
  • LCD 16x2
  • I2C cho màn hình LCD 16x2
  • Dây móc

Với tất cả những điều này, chúng ta hãy đi vào phần kết nối.

Bước 2: Kết nối

Kết nối
Kết nối
Kết nối
Kết nối
Kết nối
Kết nối
Kết nối
Kết nối

Tham khảo các hình ảnh và thực hiện các kết nối. Nó khá đơn giản, bạn chỉ cần cắm I2C vào các cổng của màn hình LCD và hàn nó vào vị trí. Sau đó kết nối chân SCL với chân A4 trên Arduino và chân SDA với chân A5 trên Arduino.

Tôi không hàn I2C vì tôi đã hàn các chân tiêu đề trên màn hình LCD. Nhưng tôi khuyên bạn nên hàn I2C trên màn hình LCD

Bước 3: Mã

Có một thư viện chính LCD I2C được bao gồm trong Arduino IDE. Nhưng có một vấn đề nhỏ với mã trong đó. Tất cả các ví dụ trong thư viện này giả định địa chỉ mặc định của I2C là 0x27. Vì vậy, trước tiên chúng ta phải tìm ra địa chỉ I2C của chúng ta là gì. Chúng tôi có thể làm điều này bằng cách sử dụng mã máy quét I2C. Khi chúng ta có địa chỉ I2C, chúng ta có thể thay thế giá trị này trong mã ví dụ và bắt đầu sử dụng nó.

Mã máy quét I2C:

#bao gồm

void setup () {Wire.begin (); Serial.begin (9600); while (! nối tiếp); // đợi màn hình nối tiếp Serial.println ("\ nI2C Scanner"); } void loop () {lỗi byte, địa chỉ; int nDevices; Serial.println ("Đang quét…"); nDevices = 0; for (address = 1; address <127; address ++) {// i2c_scanner sử dụng giá trị trả về của // Write.endTransmisstion để xem liệu // một thiết bị có xác nhận địa chỉ hay không. Wire.beginTransmission (địa chỉ); error = Wire.endTransmission (); if (error == 0) {Serial.print ("Tìm thấy thiết bị I2C tại địa chỉ 0x"); if (địa chỉ <16) Serial.print ("0"); Serial.print (địa chỉ, HEX); Serial.println ("!"); nDevices ++; } else if (error == 4) {Serial.print ("Lỗi không xác định tại địa chỉ 0x"); if (địa chỉ <16) Serial.print ("0"); Serial.println (địa chỉ, HEX); }} if (nDevices == 0) Serial.println ("Không tìm thấy thiết bị I2C / n"); else Serial.println ("xong / n"); chậm trễ (5000); // đợi 5 giây cho lần quét tiếp theo}

Mã ví dụ (Để hiển thị các ký tự đã nhập trong Màn hình nối tiếp):

#include #include

Màn hình LCD LiquidCrystal_I2C (0x3F, 20, 4); // đặt địa chỉ LCD thành 0x27 để hiển thị 16 ký tự và 2 dòng

void setup ()

{lcd.init (); // khởi tạo lcd lcd.backlight (); Serial.begin (9600); }

void loop ()

{// khi các ký tự đến cổng nối tiếp… if (Serial.available ()) {// đợi một chút để toàn bộ thông báo đến độ trễ (100); // xóa màn hình lcd.clear (); // đọc tất cả các ký tự có sẵn while (Serial.available ()> 0) {// hiển thị từng ký tự ra màn hình LCD lcd.write (Serial.read ()); }}}

Bước 4: Đầu ra

Đầu ra
Đầu ra
Đầu ra
Đầu ra

Khi bạn đã tải lên mã, bạn đã sẵn sàng. Đối với phần Có thể hướng dẫn này, tôi đã lấy ví dụ về Mã in nối tiếp. Vì vậy, bây giờ sau khi tải lên mã, hãy mở Trình theo dõi nối tiếp và nhập một từ và nhấp vào "gửi". Bây giờ bạn sẽ thấy giá trị này được hiển thị trên màn hình LCD.

Đề xuất: