![](/media/cache/profiles/cc38c8ffd23cef2e3e5c21d20c1db636.jpg.50x50_q85.png)
all publish
main.cpp
- Committer:
- daikinect
- Date:
- 2019-05-06
- Revision:
- 0:4c5353013c5f
File content as of revision 0:4c5353013c5f:
#include "mbed.h" #include <ADXL345.h> #define MOSI D11 #define MISO D12 #define SCK D13 #define CS D10 DigitalOut led_1(A2); DigitalOut led_2(A3); ADXL345 aMeter(MOSI,MISO,SCK,CS); Serial pc(USBTX, USBRX,230400); void aSetup() { //pc.printf("Device ID is: 0x%02x\n", aMeter.getDevId()); aMeter.setPowerControl(0x00);//スタンバイモードに移行してデバイスを設定します aMeter.setDataFormatControl(0x0B);//フル解像度、+/- 16g、4mg / LSB。 aMeter.setDataRate(ADXL345_3200HZ);// 3.2kHzのデータレート。 aMeter.setPowerControl(0x08);//測定モード。 } int main() { aSetup(); led_1=1; int max=0,n=0,xyz[3]= {0,0,0};//読み取りXYZ while (1) { //wait(0.05); aMeter.getOutput(xyz);//xyz取得 max=0; for(int i=0; i<100; i++) { n=abs(xyz[2]-240); if(n>max)max=n; wait(0.001); } if(max>80) { led_1=0; } if(max>20) { led_2=1; } else { led_2=0; led_1=1; } pc.printf("%i,200\n",(int16_t)xyz[2]-240);//xyz表示 } }