Tôi có màn hình LCD 16x2 tiêu chuẩn (tôi tin rằng nó tương thích với Hitachi HD44780 - xem tóm tắt và thông số kỹ thuật bên dưới), được nối với Arduino Uno bằng 4 chân dữ liệu, như được mô tả ở đây , mặc dù tôi đã thêm song song các điện trở 220 220m (tức là Điện trở 110ohm) trên chân 16 (Đèn nền) và thay thế Pot bằng điện trở tĩnh để tạo 4V trên Vo.
Nói tóm lại, RW được nối đất và RS, Enable và Data4-7 được kết nối với các chân Arduino, trong khi Dữ liệu 0-3 đang trôi nổi.
Tôi có những thứ khác (cảm biến, bóng bán dẫn có SSR bị quang và rơle chính, một số nút) được kết nối với các chân khác nhau trên Arduino. Mã tôi sử dụng ghi văn bản vào màn hình một số lần trong một giây và thông thường, màn hình hiển thị hoạt động hoàn hảo.
Tuy nhiên, khi rơle đóng (mất khoảng 10ma và được điều khiển bởi một bóng bán dẫn lần lượt được điều khiển từ một trong các chân Arduino), đôi khi LCD bị cắt xén. Nó vẫn bị cắt xén thường cho đến khi rơle tiếp theo đóng lại, nhưng đôi khi khi rơle mở ra, hoặc sau một vài chu kỳ mở / đóng để thiết lập lại. Việc cắt xén luôn bắt đầu và dừng cùng lúc với rơle mở hoặc đóng.
Bằng cách "bị cắt xén", ý tôi là mỗi lần tôi viết cho nó theo sau nó bị cắt xén, thay vì viết các ký tự tiếng Anh, tôi nhận được một chuỗi ký tự, mà tôi thường không thể xác định được trong biểu dữ liệu (mặc dù tôi có thể xác định được một số). Chuỗi ký tự bị cắt xén này có xu hướng di chuyển sang trái dọc theo màn hình khi tôi viết văn bản mới lên màn hình LCD.
Tôi tự tin rằng đó không phải là bản thân Arduino bị nhầm lẫn, vì tôi viết cùng một văn bản cho màn hình nối tiếp cùng một lúc và nó không bị cắt xén.
Kể từ đó, tôi đã thử nghiệm nối dây chân RW với đầu ra Arduino và Data0-3 nối đất, nhưng điều này không có ích. Tôi đã cấp nguồn cho toàn bộ thiết bị bằng pin 9V hoặc bằng USB và không có ích gì. Tôi đã thay pin ... không thay đổi.
Điều duy nhất có vẻ hoạt động là không có tải cắm vào rơle, nhưng điều đó đánh bại mục đích :-)
Tôi không có bộ phân tích tín hiệu hoặc bất cứ thứ gì tinh vi hơn đồng hồ vạn năng, máy tính xách tay và arduino ... Có ai có bất kỳ gợi ý nào để giúp tôi gỡ lỗi này không?
Bảng tóm tắt LCD: http://oomlout.com/LCDD/LCDD-SUMM-BC1602A.pdf
Thông số kỹ thuật LCD: http://oomlout.com/LCDD/LCDD-DATA-BC1602A.pdf
Ví dụ về văn bản bị cắt xén: