2015年3月2日月曜日

ラズパイで液晶ディスプレイに時間を表示させてみた(作成中)

I2C通信の勉強でラズパイに液晶ディスプレイに時間を表示させてみた。
めっちゃ疲れたーーーーwwww
配線間違えて電源入いらんようになったり、パーツ足らずに代用ためしたり、配線の理屈わからなかったり。。。 電子工作険しいww
とりあえず、まとめる

I2C通信とは

I2C通信は周辺機器とシリアル通信する仕組み
具体的にはラズパイがマスタ、周辺機器(温度計、加速度センサ、気圧)がスレーブとなって、データのやり取り(温度取得、加速度取得、気圧取得)ができるようになる
しかも、通信するための線が下の2本だけでできるってのも魅力
  • データのやり取りする線(SDA)
  • タイミング調整する線(SCL)

お買い物リスト

機材個数画像
16文字×2行LCDモジュール
ACM1602N1-FLW-FBW
今回の目玉。2行の文字を表示する
1個
ハンダごて
LCDモジュールをブレッドボードに接続する道具
1個
なまり線
ハンダでLCDの接着するためのもの。接着材みたいなの
5cm
ブレッドボード
ハンダ付けとかせず、
簡単に配線ができるやつ
1個
ジャンパー線(雄雌)
ラズパイのGPIOと
ブレッドボードをつなぐ線
5個
ジャンパー線(雄雄)
ブレッドボード上で配線を するための線
X個
可変抵抗(10kΩ)
抵抗値を変化させられるやつ。今回のクセモノ。てか、軽視しすぎてた
1個
抵抗(1kΩ)
電流を安定させる為に必要
1個
テスター
電流、電圧、抵抗とか調べれる。可変抵抗を調べるときに活躍する
1個

ラズパイでI2C通信をする為の準備

  • モジュールを使えるようにする
  • 読み込みできるように設定。管理者権限がいるので注意
    $ sudo vi /etc/modules
    i2c-dev # これを追記しとく
    
    デフォルトで読み込み拒否設定ファイルにi2cがいるので、コメントアウトしとく
    $ sudo vi /etc/modprobe.d/raspi-blacklist.conf
    # blacklist i2c-bcm2708  # 行頭に#つけてコメントアウト
    
  • モジュールのインストール
  • インストール
    $ sudo apt-get install i2c-tools
    
    モジュール読み込み。ここでI2Cの動作クロック周波数を50kHzにする
    普通は100kHzが標準。でも今回使う液晶が50kHzでないと作動しないのでコレで設定
    $ sudo modprobe i2c-dev
    $ sudo modprobe i2c-bcm2708 baudrate=50000
    
    次回起動時にモジュールが動くように設定
    上で、「i2c-dev」と「i2c-bcm2708」を読みこんだけど、「i2c-bcm2708」は電源入れ直したらまた読み込みし直しになるので、自動で起動するようにする
    $ sudo vi /etc/modprobe.d/i2c.conf # ←このパスに「i2c.conf 」ファイル作って、下記を書いとけばよい
    options i2c_bcm2708 baudrate=50000
    
  • Pythonで制御するライブラリをインストール
  • $ sudo apt-get install python-smbus
    
準備完了!

配線

作成中

実装

作成中

0 件のコメント:

コメントを投稿