// Stepper motor on Wokwi!

#include <Stepper.h>

#define trig 4
#define pino_echo 5

float distancia;

int led=6;

int b3=3;
int b2=2;
int b1=1;

int estado1=0;
int estado2=0;
int estado3=0;

const int stepsPerRevolution = 200; 
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);



void setup() {

  pinMode(b1,INPUT_PULLUP);
  pinMode(b2,INPUT_PULLUP);
  pinMode(b3,INPUT_PULLUP);
  pinMode(trig,OUTPUT);
  pinMode(pino_echo,INPUT);
  Serial.begin(9600);
}

void loop() {

  digitalWrite(trig, LOW);
  delay(0005);
  digitalWrite(trig, HIGH);
  delay(0010);
  digitalWrite(trig, LOW);
  distancia = pulseIn (pino_echo, HIGH);
  distancia = distancia/58;

  estado1=digitalRead(b1);
  estado2=digitalRead(b2);
  estado3=digitalRead(b3);

  if (estado1==0){
    digitalWrite(led,HIGH);
  }

  if (estado2==0){
    digitalWrite(led,LOW);
  }

  if (estado3==0){
    if (distancia > 20){
        myStepper.setSpeed(20);
        myStepper.step(stepsPerRevolution);
      }
    else {
      myStepper.setSpeed(10);
      myStepper.step(-stepsPerRevolution);
    }
  }

}