// Define the control inputs
#define IN_A1 5
#define IN_A2 6
#define IN_B1 9
#define IN_B2 10 

const int tunda = 500;
const int speed = 200;
int kali;

void setup() {
  // Set all the motor control inputs to OUTPUT
  pinMode(IN_A1,OUTPUT);
  pinMode(IN_A2,OUTPUT);
  pinMode(IN_B1,OUTPUT);
  pinMode(IN_B2,OUTPUT);

  // Turn off motors - Initial state
  digitalWrite(IN_A1, LOW);
  digitalWrite(IN_A2, LOW);
  digitalWrite(IN_B1, LOW);
  digitalWrite(IN_B2, LOW);

  Serial.begin(9600);  
}

void loop() {
  kali = 6;
  // int teg_0 = analogRead(A0);
  int teg_0 = map(analogRead(A0),0,1023,-255,255);

  set_motor_pwm(teg_0,IN_A1,IN_A2);
  set_motor_pwm(teg_0,IN_B1,IN_B2);

  Serial.println(teg_0);

  // maju();
  // delay(tunda*kali);

  // mundur();
  // delay(tunda*kali);

  // kanan();
  // delay(tunda*kali);

  // kiri();
  // delay(tunda*kali);



}

/// Set the current on a motor channel using PWM and directional logic.
///
/// \param pwm    PWM duty cycle ranging from -255 full reverse to 255 full forward
/// \param IN1_PIN  pin number xIN1 for the given channel
/// \param IN2_PIN  pin number xIN2 for the given channel
void set_motor_pwm(int pwm, int IN1_PIN, int IN2_PIN)
{
  if (pwm < 0) {  // reverse speeds
    analogWrite(IN1_PIN, -pwm);
    digitalWrite(IN2_PIN, LOW);

  } else { // stop or forward
    digitalWrite(IN1_PIN, LOW);
    analogWrite(IN2_PIN, pwm);
  }
}

void maju() {
  set_motor_pwm(speed,IN_A1,IN_A2);
  set_motor_pwm(speed,IN_B1,IN_B2);
}

void mundur() {
  set_motor_pwm(-speed,IN_A1,IN_A2);
  set_motor_pwm(-speed,IN_B1,IN_B2);
}

void kanan() {
  set_motor_pwm(speed,IN_A1,IN_A2);
  set_motor_pwm(0,IN_B1,IN_B2);
}

void kiri() {
  set_motor_pwm(0,IN_A1,IN_A2);
  set_motor_pwm(speed,IN_B1,IN_B2);
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
led2:A
led2:C
r1:1
r1:2
r2:1
r2:2
led3:A
led3:C
r3:1
r3:2
led4:A
led4:C
r4:1
r4:2
led1:A
led1:C
joystick1:VCC
joystick1:VERT
joystick1:HORZ
joystick1:SEL
joystick1:GND