Skip to content

Instantly share code, notes, and snippets.

@guillaumebdx
Created February 6, 2020 07:43
Show Gist options
  • Save guillaumebdx/89eae0f72194c11c491e89363fb7aed4 to your computer and use it in GitHub Desktop.
Save guillaumebdx/89eae0f72194c11c491e89363fb7aed4 to your computer and use it in GitHub Desktop.
// connect motor controller pins to Arduino digital pins
// motor left
int enA = 10;
int in1 = 9;
int in2 = 8;
// motor right
int enB = 5;
int in3 = 7;
int in4 = 6;
void setup()
{
// set all the motor control pins to outputs
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
// set speed to 200 out of possible range 0~255
analogWrite(enA, 200);
analogWrite(enB, 200);
}
void turnOff()
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
}
void leftWheelBack()
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
}
void leftWheelGo()
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}
void rightWheelBack()
{
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
void rightWheelGo()
{
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
void turnRight()
{
leftWheelBack();
rightWheelGo();
}
void turnLeft()
{
leftWheelGo();
rightWheelBack();
}
void go()
{
leftWheelGo();
rightWheelGo();
}
void back()
{
leftWheelBack();
rightWheelBack();
}
void loop()
{
delay(2000);
go();
delay(2000);
back();
delay(2000);
turnRight();
delay(2000);
turnLeft();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment