久しぶりにこのテーマで記事をお届けします。
今日は、Arduino CW Keyer(K3NG)で使用する LCD 1602 について、補足的な情報をお伝えします。
以前、当ブログで触れたことがありますが、LCD 1602 には製品ごとの物理的な違いがあるようで、時に「画面に何も表示されない」という問題が起こることがあると、何人かの製作者様から情報を寄せられております。
しかし、LCD がうまく表示されない場合、まず考えるべきは LCD のハードの問題よりも、まずは最初に K3NG のスケッチをコンパイルするに必要なライブラリの設定を見直すことが重要です。
今回は、LCD の表示に関わるプログラム設定について、いくつかのポイントをご紹介します。
LCD 1602 を使用するため、設定ファイル(keyer_features_and_options.h)の以下の行をコメントアウトします。// #define FEATURE_LCD_YDv1 // YourDuino I2C LCD display with old LCM 1602 V1 ic
#define FEATURE_LCD_YDv1 // YourDuino I2C LCD display with old LCM 1602 V1 ic
この状態でスケッチをコンパイルすると、LCD 表示に必要な「LiquidCrystal」というライブラリが見つからないというエラーメッセージが表示されることがあります。これは、LCD 1602 に必要なライブラリファイルが、Arduino の開発環境である IDE のライブラリフォルダ内に存在していないために起こります。
普通なら、このエラーコメントから、Arduino IDE のライブラリ一覧から「LiquidCrystal」見つけて、インストールすることになると思います。
すると今度は、keyer.ino のメインスケッチの以下の行でエラーが出て止まるはずです。
このエラーが発生したとき、普通なら問題のあったコード部分(例えば、上の行をコメントアウトする、I2C のアドレスを変更するなど)を変更したくなるものです。しかし、LCD 1602 に関する問題を解決する場合、メインのスケッチである keyer.ino を直接変更する必要はありません。
こうなる主な原因は、ライブラリの不一致です。
以前、2017年1月5日の記事で少し触れましたが、この記事中の「NewliquidCrystal」というライブラリを使えば、このエラーは解決するはずです。しかし、このライブラリを公開しているサイトは現在アクセスできない状態です。
そこで、以前ダウンロードしておいたファイルをここに載せておきますので、LCD 1602 の表示に関して問題がある方は、ぜひこのライブラリを使ってみてください。
download: NewliquidCrystal_1_3.4.zip
その他、LCD 1602 関連の設定
keyer_settings.h
LCD 1602 は、16文字×2行、合計32文字の表示となります。
LCD_COLUMNS 16、LCD_ROW 2 に修正します。
I2C モジュールのアドレスは通常 0x27 ですが、0x38 の場合もあるため、Arduino の公式ページで紹介されている「i2c_scanner」というツールを使って、手持ちの I2C アドレスを確認してください。確認できたら、そのアドレスに合わせてスケッチ内のコメントを修正してください。
ARDUINO CW KEYER(K3NG)の製作に成功されることを、心からお祈りしています!