//https://www.ditempel.com/2021/11/memutar-motor-dc-dengan-motor-shield.html
#include <AFMotor.h>

AF_DCMotor motor4(4, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR12_1KHZ);

void setup() 
{
  //Menentukan kecepatan, kedua motor diam
  motor4.setSpeed(200);
  motor3.setSpeed(200);
  motor4.run(RELEASE);
  motor3.run(RELEASE);
}

void loop() 
{
  uint8_t i;

  // gerak kedua motor berlawanan
  motor4.run(FORWARD);
  motor3.run(BACKWARD);
  
  // akselerasi dari 0 ke maksimum
  for (i=0; i<255; i++) 
  {
    motor4.setSpeed(i); 
    motor3.setSpeed(i); 
    delay(10);
  }
  
  // memperlambat dari maksimum ke 0 
  for (i=255; i!=0; i--) 
  {
    motor4.setSpeed(i);  
    motor3.setSpeed(i);
    delay(10);
  }

  // berputar arah kebalikannya
  motor4.run(BACKWARD);
  motor3.run(FORWARD);
  
  for (i=0; i<255; i++) 
  {
    motor4.setSpeed(i);
    motor3.setSpeed(i);  
    delay(10);
  }

  for (i=255; i!=0; i--) 
  {
    motor4.setSpeed(i);
    motor3.setSpeed(i);  
    delay(10);
  }

  // menghentikan semua motor
  motor4.run(RELEASE);
  motor3.run(RELEASE);
  delay(2000);
}