LoginSignup
0
0

More than 5 years have passed since last update.

3軸加速度センサモジュール(ADXL345)をマイコン(LPC812)にて動かす

Last updated at Posted at 2018-12-28

はじめに

LPC812に3軸加速度センサーを動作させてみました。このセンサーはx,y,z方向の速度の変化を計測するものです。結果はシリアル通信をへて認識したポートにて通信をし、データの結果をteratermにて表示させます。

P_20181228_164231_vHDR_Auto.jpg

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が一定時間置きに表示されます。

P_20181228_031520_vHDR_Auto.jpg

P_20181228_163953_vHDR_Auto.jpg

※AE-FX231Xの3.3Vを外してPCに接続することでCOMポートを認識させてからTraTermを起動して、例ではCOM4に接続してます。そして、外していた3.3Vの線(ジャンパーワイヤー)を差すことでLPC812を起動させるようにするタイミングで実行させました。

最後に

意外とブレッドボートに差す線(ジャンパーワイヤー)が不良で、はじめはLPC812にプログラムを書いてくれずに何日もなやみました。ところが、まさかと思い線(ジャンパーワイヤー)を変えたとたんに動作するということがありました。つまりは、ジャンパーワイヤーの初期不良が原因でした。

以上、簡単にですが3軸加速度センサーが動作したので報告します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0