はじめに
LPC812に3軸加速度センサーを動作させてみました。このセンサーはx,y,z方向の速度の変化を計測するものです。結果はシリアル通信をへて認識したポートにて通信をし、データの結果をteratermにて表示させます。
3軸加速度センサーでの注意点
ピン配置について
・CSはI2Cを使うのでハイレベルにつないでください。
・SDOはアドレス0x1dを使用するのでハイレベルに接続します。
※LOレベルにするとアドレスは0x53になります。使用するソースが0x1dを使用しているので、HIレベルにします。
LPC812側ではI2Cを使うので以下のようにします。
・SDAはPIO10(9番ピン)を、SCLはPIO11(8番ピン)を使用します。
プログラムは流用
こちらも、ラトルズの「ボクのlpc810工作ノート」の”LPC810のプログラムのrutles_lpc810_projects.zip”からalcProtoを使います。各自でインポートしてください。
http://www.rutles.net/download/433/
※インポートにlpc_chip_8xxなどもインポートが必要です。
main.cから
コメントアウトするのは49~50行あたりの2行です。
Chip_SWM_MovablePinAssign(SWM_I2C_SDA_IO, 2);
Chip_SWM_MovablePinAssign(SWM_I2C_SCL_IO, 3);
代わりに以下のコードに挿入します・
Chip_SWM_MovablePinAssign(SWM_I2C_SDA_IO, 10);//LPC812
Chip_SWM_MovablePinAssign(SWM_I2C_SCL_IO, 11);//LPC812
Chip_SWM_DisableFixedPin(SWM_FIXED_ACMP_I1);
また、uart.cの20行目を以下のよう1から2にします。
※ボートレートを9600にする変更です。
Chip_Clock_SetUARTClockDiv(2);
ソースの変更は以上です。
実行させる
実行させるにはちょっとコツがいるかもしれませんが、3軸加速度センサーのX,Y,Zが一定時間置きに表示されます。
※AE-FX231Xの3.3Vを外してPCに接続することでCOMポートを認識させてからTraTermを起動して、例ではCOM4に接続してます。そして、外していた3.3Vの線(ジャンパーワイヤー)を差すことでLPC812を起動させるようにするタイミングで実行させました。
最後に
意外とブレッドボートに差す線(ジャンパーワイヤー)が不良で、はじめはLPC812にプログラムを書いてくれずに何日もなやみました。ところが、まさかと思い線(ジャンパーワイヤー)を変えたとたんに動作するということがありました。つまりは、ジャンパーワイヤーの初期不良が原因でした。
以上、簡単にですが3軸加速度センサーが動作したので報告します。