GY_271,Servo,MPU6050,GPSのテスト用
Dependencies: mbed Servo MPU6050 BMX055 HMC5883L GPS_Interface
main.cpp
- Committer:
- Tennensui
- Date:
- 2018-11-21
- Revision:
- 0:a7666a5f019c
File content as of revision 0:a7666a5f019c:
#include "HMC5883L.h" #include "main.h" #include "MPU6050.h" #include "BMX055.h" #include "Servo.h" #include "GPS.h" #include "mbed.h" //#include "SDFileSystem.h" Serial pc(USBTX, USBRX,115200); // tx, rx Serial twelite(A7,A2,115200); #ifdef SDCARD SDFileSystem sd(A6,A5,A4,A3, "sd"); // the pinout on the mbed Cool Components workshop board // mosi,miso,sck,ss(io) #endif GPS michibiki(GPSTX,GPSRX);//通常のシリアル通信同じく、gpsのtxをマイコンのrxにつなげる。 #ifdef AXIS_NINE BMX055 bmx(D4,D5); #endif HMC5883L compass(D4,D5); //SDA,SCL MPU6050 mpu(D4,D5); /*==================servo_test======================*/ DigitalOut myled(D12); DigitalOut myled2(A0); Servo myservo(D6); Servo myservo2(D10); /* */ /* */ /*==================================================*/ float mpu_acce[3]; float mpu_gyro[3]; int16_t hmc_data[3] = {0}; double heading = 0.0f; void pc_tx()//シリアル割り込み { mpu.setAcceleroRange(MPU6050_ACCELERO_RANGE_4G); mpu.getAccelero(mpu_acce); mpu.getAcceleroRawZ(); int a = 0x58; for(int l = 0; l < 3; l++) { printf("%c%c%c%c%c %c %f\t",0x61,0x63,0x63,0x65,0x6c,a,mpu_acce[l]); a++; } a = 0x58; mpu.getGyro(mpu_gyro); for(int l = 0; l < 3; l++) { printf("%c%c%c%c %c %f\t",0x67,0x79,0x72,0x6f,a,mpu_gyro[l]); a++; } printf("\r\n"); // printf("gy_271start\r\n"); //debug compass.getXYZ(hmc_data); heading = compass.getHeadingXYDeg(); printf("x: %4d, y: %4d, z: %4d\n", hmc_data[0], hmc_data[1], hmc_data[2]); printf("heading: %3.2f\r\n", heading); printf("%f %f\r\n",michibiki.latitude,michibiki.longtitude); } int main() { pc.attach(pc_tx,Serial::TxIrq); /*===================SDcard=========================*/ /* */ /* */ #ifdef SDCARD printf("Hello World!\n"); mkdir("/sd/mydir", 0777); FILE *fp = fopen("/sd/mydir/sdtest.txt", "w"); if(fp == NULL) { error("Could not open file for write\n"); } fprintf(fp, "Hello fun SD Card World!"); fclose(fp); printf("Goodbye World!\n"); #endif /* */ /* */ /*==================================================*/ /*===================MPU6050========================*/ /* */ /* */ /* */ #ifdef MPU6050_START mpu.setAcceleroRange(0); #endif /* */ /* */ /*==================================================*/ /*============================================*/ /* */ /* */ /* */ #ifdef GY_271 compass.init(); #endif /* */ /* */ /* */ /*==================================================*/ /*===================GY_271=========================*/ /* */ /* */ /* */ while(1) { //printf("while start\r\n"); //debug #ifdef GY_271 #endif /* */ /* */ /* */ /*==================================================*/ /*===================MPU6050========================*/ /* */ /* */ /* */ #ifdef MPU6050_START #endif /* */ /* */ /*==================================================*/ /*=================servo_test=======================*/ #ifdef servo_test myservo = 0.833; myservo2 = 0.833; wait(1.0); myservo = 0.1666; myservo2 = 0.1666; wait(1.0); #endif /*==================================================*/ #ifdef TWELITE /*=====================TWELITE======================*/ // twelite.printf("main\r\n"); wait_ms(1); /*==================================================*/ #endif #ifdef MICHIBIKI /*=====================MICHIBIKI======================*/ printf("%f %f\n",michibiki.latitude,michibiki.longtitude); wait_ms(1); /*==================================================*/ #endif } }