// https://wokwi.com/projects/410051941256417281
// Code from https://github.com/arduino-libraries/Stepper/blob/master/examples/MotorKnob/MotorKnob.ino
// Other simulations: https://forum.arduino.cc/t/wokwi-simulations-for-arduino-built-in-examples/1304754

/*
 * MotorKnob
 *
 * A stepper motor follows the turns of a potentiometer
 * (or other sensor) on analog input 0.
 *
 * https://docs.arduino.cc/learn/electronics/stepper-motors
 * This example code is in the public domain.
 */

#include <Stepper.h>

// change this to the number of steps on your motor
#define STEPS 100

// create an instance of the Stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);

// the previous reading from the analog input
int previous = 0;

void setup() {
  // set the speed of the motor to 30 RPMs
  stepper.setSpeed(30);
}

void loop() {
  // get the sensor value
  int val = analogRead(0);

  // move a number of steps equal to the change in the
  // sensor reading
  stepper.step(val - previous);

  // remember the previous value of the sensor
  previous = val;
}
L298N Breakout