広報部自由研究 ー Raspberry Pi+1602A(16×2行LCD)でハマる(1)

広報部です。こんばんは。

本日は自由研究ネタです。

前回のネタがない、の中でチラ見せした、1602A(16×2行キャラクターLCD)です。やっとハマりから抜け出せたので晴れてネタ化します。

あらすじ

ラズパイを使う場合、ディスプレイを繋がないでSSHでログインしてコンソールだけで使うことが多いです。そうなると問題になるのは、ディスプレイが無い故にIPアドレスがわからないということ。

なので、小さいLCDを繋いでそこにIPアドレスを表示できれば…と思ったわけです。すでに先人がやっているようですし、以前買ったラズパイ用の入門キットに16×2行のキャラクターLCDがあるのでこれで解決じゃん!

…と早合点したのですが、これが大間違いでした。

I2C化

調べてみると、結構たくさん結線が必要でポートもたくさん使うのと、コントラスト調整用に可変抵抗が必要だったりとちょっとめんどくさそうです。
で、更に調べていると、I2Cモジュールを使うのがどうやら簡単そう、ということがわかりました。

というわけで、この部品をAmazonでポチりました。
(120〜130円でしたが、中国からの発送で結構時間がかかりました)

動作テストで、参考サイトのまんまArduinoでやった場合は何の問題もなく成功。

動くことはわかったので、1602AとI2Cモジュールをジョイントします。
裏側につける場合が多いみたいですが、今回は表側にしてみました。

ネジで足をつけて安定化。

ライブラリがない

ただ、今回はラズパイのIPアドレスを表示するのが目的ですので、同じことをラズパイでやらないといけません。
参照サイトでは”LiquidCrystal I2Cライブラリ”と言うものを使っていますが、これはArduino用のライブラリなので、ラズパイではそのままでは使えません。

というわけでラズパイでやり方を探す。

なんだ、同じようなことやってる人いるんじゃん!
使ってるLCDは違うやつだけど、だいたい一緒だよね!

  • ラズパイの設定でic2を有効にして、
  • i2c-toolsをインストールして、
  • i2cdetectでLCDが検出されること&アドレスを確認して

ここまではここを参照して作業。

あとはスクリプトをコピペして少し改変してやれば…

 

でき…ないぞ????

明るくついていたLCDのバックライトが何故か消えてしまい、何も映っていないLCDが佇むだけ…

ここから長い戦いの始まりです。

 

つづく

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です