Arduinoでの16x2 LCDディスプレイのデバッグ
標準の16x2 LCDディスプレイ(日立HD44780と互換性があると思います。以下の概要と仕様を参照してください)は、ここで説明するように、4つのデータピンを使用してArduino Unoに接続しますが、2x 220オームの抵抗を並列に追加しました(つまり、 110オーム抵抗)をピン16(バックライトグランド)に接続し、ポットを静的抵抗に置き換えて、Voで4Vを作成します つまり、RWはグランドに配線され、RS、Enable、Data4-7はArduinoピンに接続され、Data 0-3はフローティングです。 Arduinoの別のピンに接続されている他のもの(センサー、光絶縁されたSSRを備えたトランジスター、主電源リレー、いくつかのボタン)があります。私が使用するコードは、1秒間に数回テキストをディスプレイに書き込み、通常、ディスプレイは完全に機能します。 ただし、リレーが閉じると(約10mAかかり、Arduinoピンの1つから順に制御されるトランジスタによって制御されます)、LCDが文字化けすることがあります。通常は次にリレーが閉じるまで文字化けしますが、リレーが開いたとき、またはリセットのために開閉がさらに数回繰り返された後も時々発生します。リレーが開くか閉じると、常にガーブリングが開始および停止します。 「文字化け」とは、文字化けした後にそれに書き込むたびに、英語の文字を書くのではなく、通常はデータシートで識別できない文字列を取得することを意味します(一部は可能です)。この文字化けした文字列は、新しいテキストを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 文字化けしたテキストの例: