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

Như bạn đã biết, màn hình LCD thông thường khi giao tiếp “thuần chay” với Arduino cần rất nhiều chân cắm và để khắc phục tình trạng này, mô-đun LCD I2Csinh ra. Nó giao tiếp với Arduino chỉ bằng 2 chân cắm, tuy nhiên trong quá trình sử dụng có thể bạn sẽ gặp rất nhiều lỗi. Như sau:

Lỗi chữ cũ được lưu khi in chữ mới có độ dài ngắn hơn chữ cũ

Đã có nhiều trường hợp gặp phải lỗi này, biểu hiện của nó là hiển thị%. Ví dụ ban đầu in ra 100%, sau đó cảm biến tụt xuống, thông số in là 70% nhưng thay vì in ra 70% thì lại in ra 700%.

LCD-i2C-1

LCD i2C

Thực ra đây không phải là lỗi, nguyên nhân xảy ra là do một ô trong LCD i2C khi bạn chưa xóa thì nó vẫn còn, khi bạn gọi ô mới thì chỉ có ô cũ bị thay thế trong khi ký tự của ô đó được thay thế. nó vẫn như cũ. Áp dụng trong trường hợp trên để in ô mới và in khoảng trắng ở ô cũ không dùng đến (ví dụ: số 0 của số cũ 100 bị thừa khi số mới hiển thị chỉ có 70, lúc này màn hình màn hình sẽ hiển thị “70%”; nếu bạn in thụt lề 1 ô, đồng thời in khoảng trắng cho ô trước đó, màn hình sẽ hiển thị “700%”).

Lỗi khi in, làm trễ cả chương trình, làm chương trình hoạt động chậm:

Đây là một lỗi cực kỳ nguy hiểm khi sử dụng thư viện I2C LCD.

Ví dụ cho một chức năng là đọc cảm biến A và điện áp B, nếu A> B, đèn LED X sẽ sáng. Một chức năng là “hienthitrietap” để hiển thị thông số của chiết áp như sau:

  1. void loop ()

  2. {

  3. A = analogRead (A0);

  4. B = analogRead (A1);

  5. hienthitrietap (b);

  6. if (a> b) {

  7. digitalWrite (13, CAO);

  8. chậm trễ (100);

  9. digitalWrite (13, THẤP);

  10. }

  11. }

LCD-i2c-2

LCD i2C

Khi chạy thực tế, giá trị của A đã lớn hơn B rồi, nhưng vẫn phải đợi độ trễ khoảng 1-3 giây để đèn 13 sáng. Vì khi đoạn mã trên thực thi sẽ có độ trễ do phải in thông số ra màn hình liên tục. Đối với những dự án không yêu cầu nhanh thì không thành vấn đề, nhưng đối với những dự án cần tác động tức thì, sự chậm trễ khiến hệ thống gần như tụt dốc.

Lỗi “Ám ảnh H” và dòng đầu tiên “Màu đen” thường gặp khi sử dụng LCD I2C.

Như bạn đã biết 0x27 là địa chỉ màn hình trong bus I2C. Tuy nhiên hiện nay các LCD i2C không chạy theo 0x27 nữa, khi đó chương trình sẽ báo lỗi như lỗi “H”, các bạn chơi qua LCD I2C có mã mẫu trên ARDUINO.VN hầu như đều gặp phải lỗi này, và chắc chắn là lần sau. nó vẫn sẽ thay đổi nhiều hơn, vì vậy cần một cách thông thường để sửa lỗi.

Lỗi ký tự “H” là khi bạn sử dụng LCD kết hợp với i2C khi in ra màn hình một ký tự hoặc chuỗi ký tự nào đó nhưng lại xuất hiện chữ “H” hoặc dòng trên cùng màn hình xuất hiện màu đen. Lỗi này chủ yếu là do địa chỉ bus của LCD trong i2C bị sai, để khắc phục lỗi này bạn cần nạp mã để tìm địa chỉ, khi đó địa chỉ bus LCD “thật” của bạn xuất hiện, bạn copy đoạn mã này thay cho dòng “0x27” đó là nó.

Trên đây là một số lỗi thường gặp khi sử dụng i2C LCD mà bạn có thể tham khảo. Nếu gặp lỗi hãy đến ngay các trung tâm uy tín để được giúp đỡ và hỗ trợ.

Nguồn : suachualaptop24h.com