Pedro Enrique Vidal Peñas
/
quadcopter
Gestion de imu y arranque de motores cuadcopter primera fase
Revision 0:ce49c05e9d73, committed 2011-02-22
- Comitter:
- cr0n0s20
- Date:
- Tue Feb 22 22:08:30 2011 +0000
- Commit message:
- cuadcopter
Changed in this revision
diff -r 000000000000 -r ce49c05e9d73 9dof.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/9dof.cpp Tue Feb 22 22:08:30 2011 +0000 @@ -0,0 +1,52 @@ +#include "9dof.h" + +dof9RazorImu::dof9RazorImu(PinName tx, PinName rx) +{ + razor = new Serial(tx, rx); + razor->baud(BAUD_RATE); +} + +void dof9RazorImu::update(void) +{ + + if(DOFFW == 0){ + razor->printf("4"); + while (razor->getc() != '$'); + razor->scanf(",%d,%d,%d", &acc_x, &acc_y, &acc_z); + razor->scanf(",%d,%d,%d", &gyro_x, &gyro_y, &gyro_z); + razor->scanf(",%d,%d,%d,#", &mag_x, &mag_y, &mag_z); + }else{ + while (razor->getc() != '$'); + razor->scanf(",%d,%d,%d", &gyro_x, &gyro_y, &gyro_z); + razor->scanf(",%d,%d,%d", &acc_x, &acc_y, &acc_z); + razor->scanf(",%d,%d,%d,#", &mag_x, &mag_y, &mag_z); + } +} + + +int dof9RazorImu::getGyroX(void) +{ return gyro_x; } + +int dof9RazorImu::getGyroY(void) +{ return gyro_y; } + +int dof9RazorImu::getGyroZ(void) +{ return gyro_z; } + +int dof9RazorImu::getAccX(void) +{ return acc_x; } + +int dof9RazorImu::getAccY(void) +{ return acc_x; } + +int dof9RazorImu::getAccZ(void) +{ return acc_z; } + +int dof9RazorImu::getMagX(void) +{ return mag_x; } + +int dof9RazorImu::getMagY(void) +{ return mag_y; } + +int dof9RazorImu::getMagZ(void) +{ return mag_z; } \ No newline at end of file
diff -r 000000000000 -r ce49c05e9d73 9dof.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/9dof.h Tue Feb 22 22:08:30 2011 +0000 @@ -0,0 +1,62 @@ +#ifndef DOF9_RAZOR_IMU_H +#define DOF9_RAZOR_IMU_H + +//****************************************************************************/ +// Includes +//****************************************************************************/ +#include "mbed.h" + +//****************************************************************************/ +// Defines +//****************************************************************************/ + +class dof9RazorImu { +#define BAUD_RATE 38400 //Default in frimware from SparkFun. +#define DOFFW 0// 1 PARA MODIFICADO +public: + + /** + * Constructor. + * + * Parameters: + * + * tx - Pin to use for Serial transmission. + * rx - Pin to use for Serial receive. + */ + dof9RazorImu(PinName tx, PinName rx); + + /** + * Update all of the heading data. + */ + void update(void); + + int getGyroX(void); + int getGyroY(void); + int getGyroZ(void); + + int getAccX(void); + int getAccY(void); + int getAccZ(void); + + int getMagX(void); + int getMagY(void); + int getMagZ(void); + +private: + + Serial* razor; + + int gyro_x; + int gyro_y; + int gyro_z; + + int acc_x; + int acc_y; + int acc_z; + + int mag_x; + int mag_y; + int mag_z; +}; + +#endif /* DOF9_RAZOR_IMU_H */ \ No newline at end of file
diff -r 000000000000 -r ce49c05e9d73 Servo.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Servo.lib Tue Feb 22 22:08:30 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/cr0n0s20/code/Servo/#5490c22f727d
diff -r 000000000000 -r ce49c05e9d73 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Feb 22 22:08:30 2011 +0000 @@ -0,0 +1,33 @@ +#include "mbed.h" +#include "Servo.h" +#include "main.h" +#include "9dof.h" + +Servo motor(p21); + +Serial pc(USBTX, USBRX); +dof9RazorImu Razor(p9, p10); + +int main() { + + + + armarESC(); + wait_ms(10000); + for (int i = 0; i < 50000; i++) { + motor = 50.0; + + Razor.update(); + pc.printf("%d\r\n", Razor.getGyroZ()); + wait(0.5); + + } + +} +//Función para armar el ESC +void armarESC() { + wait_ms(10000); + motor = 0.0; + wait_ms(10000); + motor = 11.56; +} \ No newline at end of file
diff -r 000000000000 -r ce49c05e9d73 main.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.h Tue Feb 22 22:08:30 2011 +0000 @@ -0,0 +1,8 @@ +#ifndef _main_H_ +#define _main_H_ + + void armarESC(); + + + +#endif \ No newline at end of file
diff -r 000000000000 -r ce49c05e9d73 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Feb 22 22:08:30 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912