めっちゃ疲れたーーーーwwww
配線間違えて電源入いらんようになったり、パーツ足らずに代用ためしたり、配線の理屈わからなかったり。。。 電子工作険しいww
とりあえず、まとめる
I2C通信とは
I2C通信は周辺機器とシリアル通信する仕組み具体的にはラズパイがマスタ、周辺機器(温度計、加速度センサ、気圧)がスレーブとなって、データのやり取り(温度取得、加速度取得、気圧取得)ができるようになる
しかも、通信するための線が下の2本だけでできるってのも魅力
- データのやり取りする線(SDA)
- タイミング調整する線(SCL)
お買い物リスト
ラズパイで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
$ sudo apt-get install python-smbus準備完了!
0 件のコメント:
コメントを投稿