최대 1 분 소요

#define SPEED 80  // you can use from 0 ~ 256

#define Motor_right_0 3

#define Motor_right_1 5

#define Motor_left_0 6

#define Motor_left_1 9

enum direction{

RIGHT = 0,

STRAIGHT,

LEFT,

STOP,

BACK,

};

void setup()

{

pinMode(Motor_right_0, OUTPUT);

pinMode(Motor_right_1, OUTPUT);

pinMode(Motor_left_0, OUTPUT);

pinMode(Motor_left_1, OUTPUT);

Serial.begin(9600);

}

void turn(int d)

{

if(d == RIGHT)

{

analogWrite(Motor_right_1, SPEED/2);

digitalWrite(Motor_right_0, LOW);

analogWrite(Motor_left_0, SPEED);

digitalWrite(Motor_left_1, LOW);

}

else if ( d == LEFT)

{

analogWrite(Motor_right_1, SPEED);

digitalWrite(Motor_right_0, LOW);

analogWrite(Motor_left_0, SPEED/2);

digitalWrite(Motor_left_1, LOW);

}

else if (d == STRAIGHT)

{  //for STRAIGHT

analogWrite(Motor_right_1, SPEED);

digitalWrite(Motor_right_0, LOW);

analogWrite(Motor_left_0, SPEED);

digitalWrite(Motor_left_1, LOW);

}

}

void loop()

{

turn(STRAIGHT);

delay(1000);

turn(LEFT);

delay(1000);

turn(STRAIGHT);

delay(1000);

turn(RIGHT);

delay(1000);

delay(100);

}