Raspberry Pi 2のPython3で加速度センサーを動かす。

前回では、ラズパイのPython3でI2Cの設定をしました。
今回は、I2CにGセンサーを取り付けてみます。


Gセンサーは、ストロベリー・リナックスが出している3軸加速度センサモジュール MMA8451Qを利用してみます。価格は800円/個で、RSコンポーネントでもチップ単体で販売しています。
・ストロベリー・リナックスの該当ページ
・RSコンポーネントの該当ページ
・フリースケールの該当ページ

MMA8451Qはフリースケール社が出している、I2Cで通信をする3軸加速度センサーで、14bitの分解能を持った±2/±4/±8Gを計測できます。

I2Cのアドレスは、0x1cと0x1dのどちらかを利用できます。今回は、SA0をGNDに接続して0x1cで利用してみます。

ちょっと汚いですが、こんな感じで配線してみます。

112

左上のArduinoDueは、パルス信号作成用に使っています。
加速度センサーの基盤自体は、8ピンですのでかなり小さいのです。I2CのSCL、SDAはそれぞれ5.6kΩでプルアップをしています。

ラズパイのGPIOとの接続は

Pin.No 名称1 用途 利用
1 3.3V Power 電源
3 GPIO02 SDA I2Cデータ
5 GPIO03 SCL I2Cクロック
9 GND GND GND

ラズパイで確認してみます。

113

0x1cに、加速度センサーが見えています。


Python3でプログラムを組んでみます。
50Hzの周期、最大±2Gで読んでみます。

出力は、ポーリング回数、実データ回数、X軸最大、X軸最小、Y軸最大、Y軸最小、Z軸最大、Z軸最小です。下4桁で切り捨てています。

出力例)
114

いろいろ傾けています。Z軸に1Gがかかっているのがわかります。
これで、シングルコアCPUで利用率が3%弱です。

意外と簡単にI2Cでデータ取得できました。

次回は、Python以外の言語を利用してみます。


第 1回 Raspberry Pi 2 の初期設定をしてみる-1
第 2回 Raspberry Pi 2 の初期設定をしてみる-2
第 3回 Raspberry Pi 2 の初期設定をしてみる-3
第 4回 Raspberry Pi 2 にWifiの設定をする
第 5回 Raspberry Pi 2 不要サービス停止
第 6回 Raspberry Pi 2 RAMディスクの設定
第 7回 Raspberry Pi 2 コンソールの設定
第 8回 Raspberry Pi 2 にウォッチドッグタイマーを導入する
第 9回 Raspberry Pi 2 でPythonの設定をする。
第10回 Raspberry Pi 2 でSambaの設定をする。
第11回 Windows10でPythonの開発環境を構築する。
第12回 Raspberry Pi 2のPython3でGPIOのパルスを取得する。
第13回 Raspberry Pi 2のPythonでGPIOを調べてみる。
第14回 Raspberry Pi 2のPythonでGPIOの割り込み処理をする。
第15回 Raspberry Pi 2のPython3でI2Cを設定する。
第16回 Raspberry Pi 2のPython3で加速度センサーを動かす。
第17回 Raspberry Pi 2にmonoをインストールしてC#を利用する。
第18回 Raspberry Pi 2にgoをインストールしてみる。
第19回 Raspberry Pi 2のGPIOをC#(mono)でパルス取得する。
第20回 Raspberry Pi 2のGPIO読み込みを、mono(C#)とPythonで比較する。

コメントを残す

メールアドレスが公開されることはありません。