FreeDuino (Arduino) BOOT to Turn Left & Right

Thread Starter

mkbutan

Joined Sep 30, 2008
299
Hi
Few Days back I brought an FreeDuino (ARDUINO) board ATMEGA 328P
I manage to Move MY first Assembled CAR with the free codes online (https://www.sparkfun.com/products/9457) (http://bildr.org/2012/04/tb6612fng-arduino/)
but I am not using this Motor Driver (1A Dual TB6612FNG) but using L293D Motor Driver

I would like to move it Forward then Right-Forward , Left-Forward , Reverse Then Right-Reverse , Left Reverse or any other direction but it should come back to its Original PLACE from where it STARTED.

Rich (BB code):
//motor A connected between A01 and A02
//motor B connected between B01 and B02

int STBY = 10; //standby

//Motor A
int PWMA = 3; //Speed control 
int AIN1 = 9; //Direction
int AIN2 = 8; //Direction

//Motor B
int PWMB = 5; //Speed control
int BIN1 = 11; //Direction
int BIN2 = 12; //Direction

void setup(){
  pinMode(STBY, OUTPUT);

  pinMode(PWMA, OUTPUT);
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);

  pinMode(PWMB, OUTPUT);
  pinMode(BIN1, OUTPUT);
  pinMode(BIN2, OUTPUT);
}

void loop(){
  move(1, 255, 1); //motor 1, full speed, left
  move(2, 255, 1); //motor 2, full speed, left

  delay(1000); //go for 1 second
  stop(); //stop
  delay(250); //hold for 250ms until move again

  move(1, 128, 0); //motor 1, half speed, right
  move(2, 128, 0); //motor 2, half speed, right

  delay(1000);
  stop();
  delay(250);
}

void move(int motor, int speed, int direction){
//Move specific motor at speed and direction
//motor: 0 for B 1 for A
//speed: 0 is off, and 255 is full speed
//direction: 0 clockwise, 1 counter-clockwise

  digitalWrite(STBY, HIGH); //disable standby

  boolean inPin1 = LOW;
  boolean inPin2 = HIGH;

  if(direction == 1){
    inPin1 = HIGH;
    inPin2 = LOW;
  }

  if(motor == 1){
    digitalWrite(AIN1, inPin1);
    digitalWrite(AIN2, inPin2);
    analogWrite(PWMA, speed);
  }else{
    digitalWrite(BIN1, inPin1);
    digitalWrite(BIN2, inPin2);
    analogWrite(PWMB, speed);
  }
}

void stop(){
//enable standby  
  digitalWrite(STBY, LOW);
}


I have 2 DC Gears Motors on a cheese on pin 8,9 ,11 & 12
with FREEDUINO Board

But don't know what to do with pin no 3 & 5 ??? & pin no 10 ???
which is for Speed control & standby respectively ..


can any one guide me how to code for the above requirement
Thanks in advance
 

Attachments

Last edited:

Thread Starter

mkbutan

Joined Sep 30, 2008
299
Thanks
be80be for your ans.
you mean to say that the pin no 3 & 5 of the ARDUINO to pin no 1 & 9 to the L 293 respectively & pin no 10 ???
which is for standby .....
 
Top