First release.

Dependencies:   FXOS8700CQ SDFileSystem mbed

Final program

  • Controling a robot by Bluetooth, it is capable of making 90° turns and move pre-defined distances.

Code by:

  • Mayumi Hori
  • Sarahí Morán
  • Gerardo Carmona
Committer:
gerardo_carmona
Date:
Fri Nov 07 05:12:50 2014 +0000
Revision:
5:b384cf06de76
Parent:
3:bd16e43ad7be
Not finished!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gerardo_carmona 0:3a322aad8c88 1 // ----- Libraries ------------------------------------------------------------------
gerardo_carmona 0:3a322aad8c88 2 #include "mbed.h"
gerardo_carmona 0:3a322aad8c88 3 #include "motors.h"
gerardo_carmona 0:3a322aad8c88 4
gerardo_carmona 0:3a322aad8c88 5 // ----- I/O Pins -------------------------------------------------------------------
gerardo_carmona 0:3a322aad8c88 6 // MOTORS (Control)
gerardo_carmona 5:b384cf06de76 7 DigitalOut dir_left(D5);
gerardo_carmona 5:b384cf06de76 8 DigitalOut dir_right(D6);
gerardo_carmona 0:3a322aad8c88 9 PwmOut pwm_left(D9);
gerardo_carmona 0:3a322aad8c88 10 PwmOut pwm_right(D10);
gerardo_carmona 0:3a322aad8c88 11
gerardo_carmona 0:3a322aad8c88 12 // ----- Functions ------------------------------------------------------------------
gerardo_carmona 0:3a322aad8c88 13
gerardo_carmona 0:3a322aad8c88 14 void motor_fwd(int _power_left, int _power_right){
gerardo_carmona 0:3a322aad8c88 15 dir_left = 1;
gerardo_carmona 0:3a322aad8c88 16 dir_right = 1;
gerardo_carmona 0:3a322aad8c88 17 pwm_left = (float)_power_left/100;
gerardo_carmona 0:3a322aad8c88 18 pwm_right = (float)_power_right/100;
gerardo_carmona 0:3a322aad8c88 19 //pc.printf("FWD\n");
gerardo_carmona 0:3a322aad8c88 20 }
gerardo_carmona 0:3a322aad8c88 21
gerardo_carmona 0:3a322aad8c88 22 void motor_rev(int _power_left, int _power_right){
gerardo_carmona 0:3a322aad8c88 23 dir_left = 0;
gerardo_carmona 0:3a322aad8c88 24 dir_right = 0;
gerardo_carmona 0:3a322aad8c88 25 pwm_left = (float)_power_left/100;
gerardo_carmona 0:3a322aad8c88 26 pwm_right = (float)_power_right/100;
gerardo_carmona 0:3a322aad8c88 27 //pc.printf("REV\n");
gerardo_carmona 0:3a322aad8c88 28 }
gerardo_carmona 0:3a322aad8c88 29
gerardo_carmona 0:3a322aad8c88 30 void motor_left(int _power_left, int _power_right){
gerardo_carmona 0:3a322aad8c88 31 dir_left = 0;
gerardo_carmona 0:3a322aad8c88 32 dir_right = 1;
gerardo_carmona 0:3a322aad8c88 33 pwm_left = (float)_power_left/100;
gerardo_carmona 0:3a322aad8c88 34 pwm_right = (float)_power_right/100;
gerardo_carmona 0:3a322aad8c88 35 //pc.printf("LEFT\n");
gerardo_carmona 0:3a322aad8c88 36 }
gerardo_carmona 0:3a322aad8c88 37
gerardo_carmona 0:3a322aad8c88 38 void motor_right(int _power_left, int _power_right){
gerardo_carmona 0:3a322aad8c88 39 dir_left = 1;
gerardo_carmona 0:3a322aad8c88 40 dir_right = 0;
gerardo_carmona 0:3a322aad8c88 41 pwm_left = (float)_power_left/100;
gerardo_carmona 0:3a322aad8c88 42 pwm_right = (float)_power_right/100;
gerardo_carmona 0:3a322aad8c88 43 //pc.printf("RIGHT\n");
gerardo_carmona 0:3a322aad8c88 44 }
gerardo_carmona 0:3a322aad8c88 45
gerardo_carmona 0:3a322aad8c88 46 void motor_stop(){
gerardo_carmona 0:3a322aad8c88 47 dir_left = 1;
gerardo_carmona 0:3a322aad8c88 48 dir_right = 1;
gerardo_carmona 0:3a322aad8c88 49 pwm_left = 0;
gerardo_carmona 0:3a322aad8c88 50 pwm_right = 0;
gerardo_carmona 0:3a322aad8c88 51 //pc.printf("STOP\n");
gerardo_carmona 3:bd16e43ad7be 52 }