the fish that looks like a jet

Dependencies:   ADXL345 ADXL345_I2C IMUfilter ITG3200 mbed Servo

Committer:
rkk
Date:
Fri Jan 31 04:33:44 2014 +0000
Revision:
8:0574a5db1fc4
Parent:
7:e005cfaff8d1
Child:
9:8dd7a76756e2
updated the motor controller and the pwmin method

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sandwich 0:ff9bc5f69c57 1 #include "mbed.h"
sandwich 0:ff9bc5f69c57 2 #include "motor_controller.h"
sandwich 2:430c068cf570 3 #include "guardian.h"
sandwich 7:e005cfaff8d1 4 //#include "IMU.h"
sandwich 2:430c068cf570 5 #include "Servo.h"
sandwich 7:e005cfaff8d1 6 //#include "rtos.h"
rkk 8:0574a5db1fc4 7 //#include "PwmReader.h"
rkk 8:0574a5db1fc4 8 #include "PwmIn.h"
rkk 6:a4d6f3e4bf28 9
rkk 8:0574a5db1fc4 10 #define VOLUME_MAX 0.4
rkk 8:0574a5db1fc4 11 #define VOLUME_MIN 0.2
rkk 6:a4d6f3e4bf28 12 #define FREQUENCY_MAX 0.4
rkk 6:a4d6f3e4bf28 13 #define FREQUENCY_MIN 0.2
rkk 6:a4d6f3e4bf28 14 #define RUDDER_MAX 0.4
rkk 6:a4d6f3e4bf28 15 #define RUDDER_MIN 0.2
rkk 8:0574a5db1fc4 16 #define SIZE_ARRAY 500
rkk 6:a4d6f3e4bf28 17
sandwich 2:430c068cf570 18 bool quit=false;
sandwich 0:ff9bc5f69c57 19
rkk 8:0574a5db1fc4 20 //InterruptIn event(p16);
sandwich 0:ff9bc5f69c57 21 PololuMController mcon(p22, p6, p5);
rkk 8:0574a5db1fc4 22 //Servo servo(p21);
rkk 8:0574a5db1fc4 23 //Guardian ap(p21, p23, p24, p25, p26, p26);
rkk 8:0574a5db1fc4 24 //Serial xbee(p13, p14);
sandwich 2:430c068cf570 25 Serial pc(USBTX, USBRX);
rkk 8:0574a5db1fc4 26 PwmIn ch3(p16,0.054,0.092);
rkk 8:0574a5db1fc4 27 PwmIn ch6(p15,0.055,0.092);
sandwich 7:e005cfaff8d1 28 Timer t;
sandwich 0:ff9bc5f69c57 29
rkk 6:a4d6f3e4bf28 30 float throttle, frequency, rudder;
sandwich 7:e005cfaff8d1 31 int main()
sandwich 7:e005cfaff8d1 32 {
sandwich 7:e005cfaff8d1 33 //ap.calibrate();
sandwich 7:e005cfaff8d1 34 //ap.set2D();
rkk 8:0574a5db1fc4 35 //ap.setoff();
sandwich 0:ff9bc5f69c57 36 t.start();
rkk 8:0574a5db1fc4 37
rkk 8:0574a5db1fc4 38 while(t.read() < 500) {
sandwich 7:e005cfaff8d1 39
rkk 8:0574a5db1fc4 40 float vol_norm=ch6.dutycyclescaledup();
rkk 8:0574a5db1fc4 41 float freq_norm=ch3.dutycyclescaledup();
rkk 8:0574a5db1fc4 42
rkk 6:a4d6f3e4bf28 43
sandwich 7:e005cfaff8d1 44 pc.printf("channel 3: %f, channel 6: %f\n", vol_norm, freq_norm);
rkk 8:0574a5db1fc4 45
sandwich 7:e005cfaff8d1 46 //mcon.drive_rectangular(t.read(), vol_norm*freq_norm, 3*freq_norm);
rkk 8:0574a5db1fc4 47 //mcon.drive_sinusoidal(t.read(), vol_norm*freq_norm, 3*freq_norm);
sandwich 7:e005cfaff8d1 48 mcon.drive_sinusoidal(t.read(), vol_norm*freq_norm, 3*freq_norm);
sandwich 7:e005cfaff8d1 49 //pc.printf("time: %f\n\r", t.read());
sandwich 7:e005cfaff8d1 50 //pc.printf("throttle: %f frequency: %f rudder: %f\n\r",throttle,frequency,rudder);
rkk 8:0574a5db1fc4 51 wait_ms(1);
sandwich 0:ff9bc5f69c57 52 }
sandwich 0:ff9bc5f69c57 53 t.stop();
sandwich 0:ff9bc5f69c57 54 }