前回、温度湿度気圧センサーでI2Cを使いましたね
今回使うのは、こちら!
I2C接続キャラクタLCDモジュール 16x2行 白色バックライト付
英数字・カタカナも表示可能!万能!
秋月電子で購入⇒秋月電子で購入。
半固定抵抗も購入(100kΩ)⇒秋月電子で購入。
LCDセグメントドライバIC(ST7066)に加えインタフェース変換用のプログラム済み PICマイコン、バックライトLEDの電流制限抵抗が実装されています。 コネクタが1列構成ですので、ブレッドボードでもお使いいただけます。ピン数の少ないマイコンや、 既に他の用途にピンを多く使用してしまった場合でも、2本のI/Oピンがあれば接続できます。
仕様
・表示領域:16文字x2行(64.5x16.4mm)
・液晶タイプ:反透過型F-STN液晶
・電源電圧:3.3V>(絶対最大定格5.5V)
・バックライト:白色LED
(5Vで動作させる場合や明るさを調整する場合は抵抗を外付けします)
・インタフェース:I2C(2線式シリアル通信)
・寸法:85x33.5x13.5mm
セット内容:○ACM1602NI ○細ピンヘッダ1x7 ○丸ピンソケット1x7
ですね。
これがまた1000円ちょいするのですが、
1000円分の価値、ぜんぜんあります!
ラズベリーパイと、以下のように接続します。
こんな風に接続します。
ほとんどが、電源とGNDに接続しているので、意外に簡単です。
半固定抵抗はないと動きません。
半固定抵抗は100kΩを使用してください。
必要なライブラリのインストール
sudo apt-get install i2c-tools python-smbus
コマンドを実行。
ドライバーのロード
sudo modprobe i2c-bcm2708 sudo modprobe i2c-dev
baudrate を 50000に変更する必要がある。
など、素人に扱いにくいと判明。
けど、使ってみる。
この記事では丁寧に解説しますのでご安心を。
さあ、ここから大変。
また書きますが、この記事では丁寧に解説しますのでご安心を。
テキストファイルを編集して、速度を低下させましょか(通信の)
今回はnanoと言うテキストエディタを使い編集します。
nanoの使い方は後日また記事に書きます。簡単な使い方は解説します。
viやらなんやら使う方もいますが、個人的にはnanoが一番使いやすいなおかつ初心者向けなので、nanoを使います。
コマンド実行。
sudo nano /boot/config.txt
すると、こんな画面になります。
だん!!!!
初めて見た方もいらっしゃるでしょうか?
そうしましたら、
マウスのスクロールホイールまたはキーボードの↓ボタンを押し、
一番下までスクロールします。
そして、一番下に以下のように追記します。
dtparam=i2c_baudrate=50000
って追記します。
追記するとこうなる。
拡大。
こんな感じ。
追記が終わったらキーボードのCtrl(コントロール)キーを押しながら、Xキーを押します。
すると、こんな感じになります。
ここでは、yと入力します。
yと入力した瞬間、こうなります。
そしたら変更せずに、エンターキーを押します。
すると、元に戻ります。
これで第一関門はクリア。
さあ、早速使おう!
LCDの動作テスト
以下のコマンドを実行し、LCDにA
と表示されることを確認します。
$ sudo i2cset -y 1 0x50 0x00 0x01 $ sudo i2cset -y 1 0x50 0x00 0x38 $ sudo i2cset -y 1 0x50 0x00 0x0c $ sudo i2cset -y 1 0x50 0x00 0x06 $ sudo i2cset -y 1 0x50 0x80 0x41
Aって表示されましたか?
表示されない場合は、接続、先ほどのconfig.txtを見直してね!
それでも動かない場合、無視して次行ってもいいです(私も正直ここ失敗したけど無視して進んだらいけた)
ところが、このLCDを本格的にいじるなら、Raspserry Pi側でその通信を読み込むためのプログラムを組む必要がある。
えっ、そんなの素人の私には無理ですぅ…
と思っていたんだけど、今の時代は凄い。できる人が用意してくれている。
なので有難くそれを使わせてもらおう。
・最近のラズパイはもとからはいってるけどいちようgitをインストール
まあいいとして、早速本題。 プログラミングをDL。
・プログラムをインストール git clone https://github.com/yuma-m/raspi_lcd_acm1602ni.git ・早速使う。 ① cd raspi_lcd_acm1602ni ② sudo python raspi_lcd.py "Hello world!" LCDにHello world!と表示されただろうか? されてない場合、配線やconfig.txtを見直して。 それでも動かない場合コメント欄で相談してね さあ、カタカナを表示してみよう。 ① cd raspi_lcd_acm1602ni ② sudo python raspi_lcd.py "ラズベリーパイデ、" "ニホンゴヲLCDヒョウジ!" できたかな? 私の場合は 「今ラズパイ電源つけてたっけ?」 てときのために、 sudo python raspi_lcd.py "ラズベリーパイハ、" "セイジョウデス" って常にやっています。 でわ!また今度! そうそう。 実行する前は cd raspi_lcd_acm1602ni とやってからね。 |