![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
testprogram
Dependencies: SDFileSystem mbed
main.cpp
- Committer:
- hissa214
- Date:
- 2017-02-23
- Revision:
- 0:4e3377fa0a25
File content as of revision 0:4e3377fa0a25:
#include "mbed.h" #include "SDFileSystem.h" Serial pc(USBTX,USBRX);//シリアル通信 SDFileSystem sd(p5,p6,p7,p8,"sd");//SDスロットピン PwmOut servo(p24);//パラシュート分離用サーボ //PwmOut servo(p21);//パラシュート分離用サーボブレボ AnalogIn accel_x(p20);//加速度X軸 AnalogIn accel_y(p19);//加速度Y軸 AnalogIn accel_z(p18);//加速度Z軸 DigitalIn cds(p29);//光センサ PwmOut moterL(p21); PwmOut moterR(p22); DigitalOut stby (p11);//モータドライバ DigitalOut AIN(p12);//モータドライバ正転逆転 DigitalOut led1(LED1); float x,y,z; int main() { stby=1; AIN=1; float pwidth; servo.period_ms(20);//出力周期 20ms=(50Hz) while(1) { x = accel_x;//xyzの値をそれぞれ格納 y = accel_y; z = accel_z; pc.printf("X:%1.3f Y:%1.3f Z:%1.3f \r\n", accel_x.read() ,accel_y.read() ,accel_z.read() ); pwidth=0.001; servo.pulsewidth(pwidth); if(cds==1){ led1=1; } if(x>=0.8 || y>=0.8 || z>=0.8){//*************調整必要 pwidth=0.00075; servo.pulsewidth(pwidth); wait(10.0); moterL.pulsewidth(0.0020); //パルス幅指定 moterR.pulsewidth(0.0020); //return(0); } //return(0); if(x<0.8 || y<0.8 || z<0.8){ FILE *fp = fopen ("/sd/AccLog.txt","a"); //GPSデータをSDに書き込み if(fp == NULL) { error("Could not open file for write\n"); } fprintf(fp,"x:%.3f ",x); fprintf(fp,"y:%.3f ",y); fprintf(fp,"z:%.3f\r\n",z); fclose(fp); } } }