2019年4月19日金曜日

Raspberry Pi でキャラクターディスプレーを使う


Raspberry Piで処理している情報を表示するために、16桁2行のモジュールを使う


Raspberry Piに接続した情報が多い これ(秋月のページ)を使う。
あと、家にあったので可変抵抗(100Ω)を使います。
V0に入力する電圧でデイスプレーの表示を調整するためです。
固定の抵抗を組み合わせてもよいし、モジュールの説明書にある回路でも良いと思います。

ところでi2c接続なので、
i2cdetect -y 1
とすると見えるはずですが「見えない」。
見えない事は気にしないで進める。
色々調べると、モジュールのPICの処理に問題があるようで0x50に出てこない。
スレーブアドレス:0x50
レジスタアドレス:
 コマンド 0x00
 データ    0x80

基本的なツールのインストール
sudo apt-get install i2c-tools python-smbus

ドライバーのインストール(これは大事です)
sudo rmmod i2c-dev i2c-bcm2708         (おまじない)
sudo modprobe i2c-bcm2708; sudo modprobe i2c-dev

ボレートを設定します。
sudo vi /boot/config.txt
dtparam=i2c_baudrate=50000

reboot

テスト表示
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
sudo i2cset -y 1 0x50 0x00 0xc0
sudo i2cset -y 1 0x50 0x80 0x42

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;sudo i2cset -y 1 0x50 0x00 0xc0;sudo i2cset -y 1 0x50 0x80 0x42

これは、Aを表示するための設定
0x01 : Clear Display
0x38 : Set 2lines
0x0c : display on, no cursor
0x06 : no shift
0xc0 : return

0x41 : 文字 A
0x42 : 文字 B


Peace !!

0 件のコメント:

コメントを投稿