Quadcopter working with accelerômeter and accelerometer, and bluetooth radio for communication

Dependencies:   mbed

Committer:
jose_claudiojr
Date:
Tue May 21 14:12:13 2013 +0000
Revision:
0:56b8c86181b1
Quadcopter code with accelerometer and gyroscope.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jose_claudiojr 0:56b8c86181b1 1 #include "mbed.h"
jose_claudiojr 0:56b8c86181b1 2
jose_claudiojr 0:56b8c86181b1 3 #include "Util.h"
jose_claudiojr 0:56b8c86181b1 4
jose_claudiojr 0:56b8c86181b1 5 #include "Sensors/L3G4200D.h"
jose_claudiojr 0:56b8c86181b1 6 #include "Sensors/Gyroscope.h"
jose_claudiojr 0:56b8c86181b1 7
jose_claudiojr 0:56b8c86181b1 8 #include "Sensors/ADXL345.h"
jose_claudiojr 0:56b8c86181b1 9 #include "Sensors/Accelerometer.h"
jose_claudiojr 0:56b8c86181b1 10
jose_claudiojr 0:56b8c86181b1 11 #include "Serial/SerialBuffered.h"
jose_claudiojr 0:56b8c86181b1 12
jose_claudiojr 0:56b8c86181b1 13 //#include "Filters/KalmanFilter.h"
jose_claudiojr 0:56b8c86181b1 14 #include "Filters/ComplementaryFilter.h"
jose_claudiojr 0:56b8c86181b1 15 //#include "Filters/Kalman.h"
jose_claudiojr 0:56b8c86181b1 16
jose_claudiojr 0:56b8c86181b1 17 #include "Controllers/PID.h"
jose_claudiojr 0:56b8c86181b1 18
jose_claudiojr 0:56b8c86181b1 19 //#include "Controllers/Fuzzy/MembershipFunction.h"
jose_claudiojr 0:56b8c86181b1 20 //#include "Controllers/Fuzzy/FuzzyIO.h"
jose_claudiojr 0:56b8c86181b1 21 //#include "Controllers/Fuzzy/FuzzyController.h"
jose_claudiojr 0:56b8c86181b1 22
jose_claudiojr 0:56b8c86181b1 23 #include "Hardware/Motor.h"
jose_claudiojr 0:56b8c86181b1 24
jose_claudiojr 0:56b8c86181b1 25 //#include "Watchdog/Watchdog.h"
jose_claudiojr 0:56b8c86181b1 26
jose_claudiojr 0:56b8c86181b1 27 //#include "GetTickCount/GetTickCount.h"
jose_claudiojr 0:56b8c86181b1 28 // Parametros gerais de configuracoes
jose_claudiojr 0:56b8c86181b1 29
jose_claudiojr 0:56b8c86181b1 30 #define PC_BAUD_RATE 115200
jose_claudiojr 0:56b8c86181b1 31 //#define GPS_BAUD_RATE 9600
jose_claudiojr 0:56b8c86181b1 32 //#define SONAR_BAUD_RATE 57600
jose_claudiojr 0:56b8c86181b1 33
jose_claudiojr 0:56b8c86181b1 34 //#define MSG_UPDATE_TIME 5//In Mili
jose_claudiojr 0:56b8c86181b1 35
jose_claudiojr 0:56b8c86181b1 36 // Parametros de protocolo
jose_claudiojr 0:56b8c86181b1 37
jose_claudiojr 0:56b8c86181b1 38 //#define CMD_START 0x42//'B'
jose_claudiojr 0:56b8c86181b1 39 //#define CMD_SET_PID 0x43//'C'
jose_claudiojr 0:56b8c86181b1 40 //#define CMD_SET_MOTOR 0x46//'F'
jose_claudiojr 0:56b8c86181b1 41 //#define CMD_GET_PID 0x47//'G'
jose_claudiojr 0:56b8c86181b1 42 #define CMD_WAITING 0x48//'H'
jose_claudiojr 0:56b8c86181b1 43
jose_claudiojr 0:56b8c86181b1 44 //#define CMD_MOTOR_SEND 0x49//'I'
jose_claudiojr 0:56b8c86181b1 45 //#define CMD_MOTOR1_UP 0x49//'I'
jose_claudiojr 0:56b8c86181b1 46 //#define CMD_MOTOR1_DOWN 0x4A//'J'
jose_claudiojr 0:56b8c86181b1 47
jose_claudiojr 0:56b8c86181b1 48 //#define CMD_MOTOR2_UP 0x4B//'K'
jose_claudiojr 0:56b8c86181b1 49 //#define CMD_MOTOR2_DOWN 0x4C//'L'
jose_claudiojr 0:56b8c86181b1 50
jose_claudiojr 0:56b8c86181b1 51 //#define CMD_MOTOR3_UP 0x4D//'M'
jose_claudiojr 0:56b8c86181b1 52 //#define CMD_MOTOR3_DOWN 0x4E//'N'
jose_claudiojr 0:56b8c86181b1 53
jose_claudiojr 0:56b8c86181b1 54 //#define CMD_MOTOR4_UP 0x4F//'O'
jose_claudiojr 0:56b8c86181b1 55 //#define CMD_MOTOR4_DOWN 0x50//'P'
jose_claudiojr 0:56b8c86181b1 56
jose_claudiojr 0:56b8c86181b1 57 #define CMD_DOWN 0x41//'A'
jose_claudiojr 0:56b8c86181b1 58 #define CMD_UP 0x51//'Q'
jose_claudiojr 0:56b8c86181b1 59
jose_claudiojr 0:56b8c86181b1 60 #define CMD_DOWN2 0x44//'D'
jose_claudiojr 0:56b8c86181b1 61 #define CMD_UP2 0x45//'E'
jose_claudiojr 0:56b8c86181b1 62
jose_claudiojr 0:56b8c86181b1 63 //#define CMD_CHART 0x52//'R'
jose_claudiojr 0:56b8c86181b1 64
jose_claudiojr 0:56b8c86181b1 65 //#define CMD_MSG_END 0x7C//'|'
jose_claudiojr 0:56b8c86181b1 66
jose_claudiojr 0:56b8c86181b1 67 // Parametros de voo
jose_claudiojr 0:56b8c86181b1 68
jose_claudiojr 0:56b8c86181b1 69 //#define MIN_THRESHOLD 1
jose_claudiojr 0:56b8c86181b1 70 //#define MAX_THRESHOLD 100
jose_claudiojr 0:56b8c86181b1 71 #define FLIGHT_THRESHOLD 30
jose_claudiojr 0:56b8c86181b1 72 //#define POWER_THRESHOLD 0
jose_claudiojr 0:56b8c86181b1 73 //#define INITIAL_LOOPS 500//1000
jose_claudiojr 0:56b8c86181b1 74
jose_claudiojr 0:56b8c86181b1 75 //Soft reset
jose_claudiojr 0:56b8c86181b1 76 //extern "C" void mbed_reset();