asdf

Dependencies:   L3GD20 LSM303DLHC mbed

Headers/Motors.h

Committer:
goy5022
Date:
2014-04-03
Revision:
3:1a8a7cc709cc
Parent:
2:997f57aee3b7
Child:
4:ecfe2115e9a4

File content as of revision 3:1a8a7cc709cc:


#ifndef MOTOR_H
#define MOTOR_H

#include "mbed.h"

#define turn_time 152
#define MOTOR_WAIT 500
#define forward_time 190

#include "PID.h"
//#include "Sensors.h"

Serial Motor(p13,p14);

int rSpeed = 0;
int lSpeed = 0;

void setRightSpeed(int speed)
{
    if(speed >= 0)
        Motor.printf("2f%i\r", speed);
    else
        Motor.printf("2r%i\r", (-speed));
        
        
    rSpeed = speed;
    wait_us(MOTOR_WAIT);
}


void setLeftSpeed(int speed)
{
    if(speed >= 0)
        Motor.printf("1r%i\r", speed);
    else
        Motor.printf("1f%i\r", (-speed));
        
    lSpeed = speed;
    wait_us(MOTOR_WAIT);
}

void stop_mov()
{
    wait_us(MOTOR_WAIT);
    setLeftSpeed(0);
    wait_us(MOTOR_WAIT);
    setRightSpeed(0);
    wait_us(MOTOR_WAIT);
  
}

void forward(int f)
{
    wait_us(MOTOR_WAIT);
    setLeftSpeed(f-1);
    wait_us(MOTOR_WAIT);
    setRightSpeed(f);
    wait_us(MOTOR_WAIT);
    setLeftSpeed(f);
    wait_us(MOTOR_WAIT);
    
    wait_ms(1000);
    
    stop_mov();
}

void turn_right(int r)
{
    setLeftSpeed(r);
    wait_us(MOTOR_WAIT);
    setRightSpeed(-r);
    wait_ms(MOTOR_WAIT);       ///Set for turn speed
    setLeftSpeed(-r);
    wait_us(MOTOR_WAIT);
    setRightSpeed(r);
    wait_ms(100);
    stop_mov();
    
    stop_mov();
}
void turn_left(int l)
{
    setLeftSpeed(-l);
    wait_us(MOTOR_WAIT);
    setRightSpeed(l);
    wait_ms(MOTOR_WAIT);       ///Set for turn speed
    setRightSpeed(0);
    wait_us(MOTOR_WAIT);
    setLeftSpeed(0);
    wait_us(MOTOR_WAIT);
}
void handbrake()
{
    wait_us(MOTOR_WAIT);
    setLeftSpeed(-3);
    wait_us(MOTOR_WAIT);
    setRightSpeed(-4);
    wait_us(MOTOR_WAIT);
    setLeftSpeed(-4);
    wait_ms(10);
    setRightSpeed(-3);
    wait_us(MOTOR_WAIT);
    setLeftSpeed(-4);
    wait_us(MOTOR_WAIT);
    setLeftSpeed(-3);
    wait_ms(10);
    wait_us(MOTOR_WAIT);
    setRightSpeed(-1);
    wait_us(MOTOR_WAIT);
    setLeftSpeed(-1);
    wait_ms(10);
    wait_us(MOTOR_WAIT);
    setRightSpeed(0);
    wait_us(MOTOR_WAIT);
    setLeftSpeed(0);
}
#endif