표준 16x2 LCD 디스플레이 (히타치 HD44780 호환-아래 요약 및 사양 참조)가 여기 에 설명 된 것처럼 4 개의 데이터 핀을 사용하여 Arduino Uno에 연결되어 있지만 2x 220ohm 저항을 병렬로 추가했지만 핀 16 (백라이트 접지)에서 110ohm 저항)을 사용하고 Pot을 정적 저항으로 교체하여 Vo에서 4V를 생성합니다.
요컨대, RW는 접지에 연결되고 RS, Enable 및 Data4-7은 Arduino 핀에 연결되고 Data 0-3은 플로팅됩니다.
Arduino의 다른 핀에 연결된 다른 것들 (센서, 광 절연 SSR이있는 트랜지스터 및 전원 릴레이, 일부 버튼)이 있습니다. 내가 사용하는 코드는 1 초에 여러 번 텍스트를 디스플레이에 작성하며 일반적으로 디스플레이가 완벽하게 작동합니다.
그러나 릴레이 가 닫히면 (약 10ma가 걸리고, Arduino 핀 중 하나에서 제어되는 트랜지스터로 제어 됨) 때때로 LCD가 깨질 수 있습니다. 일반적으로 다음에 릴레이가 닫힐 때까지, 또는 때때로 릴레이가 열릴 때 또는 리셋을 위해 몇 번의 열기 / 닫기주기 후에 깨진 상태로 유지됩니다. 계전기는 항상 릴레이가 열리거나 닫힐 때 동시에 시작 및 중지됩니다.
"garbled"는 영어 문자를 쓰지 않고 문자가 깨져서 쓰러 질 때마다 데이터 시트에서 식별 할 수없는 문자열을 얻습니다 (일부는 가능하지만). 이 잘못된 문자들은 LCD에 새 텍스트를 쓸 때 화면을 따라 왼쪽으로 이동하는 경향이 있습니다.
직렬 모니터에 동일한 텍스트를 동시에 쓰면 Arduino 자체가 혼란스러워하지 않는다고 확신하며 깨지지 않습니다.
그 후 RW 핀을 Arduino 출력에 연결하고 Data0-3을 접지에 연결하는 방법을 실험했지만 도움이되지 않습니다. 9V 배터리 또는 USB로 전체 장치에 전원을 공급했는데 도움이되지 않습니다. 배터리를 교체했습니다 ... 변경 사항이 없습니다.
작동하는 것으로 보이는 유일한 것은 릴레이에 부하가 걸리지 않는 것입니다.
신호 분석기 나 멀티 미터, 랩톱 및 arduino보다 더 정교한 것이 없습니다. 이것을 디버깅하는 데 도움이되는 힌트가 있습니까?
LCD 요약 시트 : http://oomlout.com/LCDD/LCDD-SUMM-BC1602A.pdf
LCD 사양 : http://oomlout.com/LCDD/LCDD-DATA-BC1602A.pdf
왜곡 된 텍스트의 예 :