Fiz um código para controle de motor de passo utilizando ESP32. O código consiste no controle dos passos através de valores numéricos enviados pela porta serial. Mas aparentemente ele sempre mantem o mesmo giro independente do valor inserido, mesmo com o valor sendo zerado a cada comando. O que pode ser?
Estou usando aquele motor comercial 28BYJ-48 e esse é o código:
#include <Stepper_28BYJ_48.h>
int valor =0;
Stepper_28BYJ_48 stepper(5,17,16,4);
void setup() { Serial.begin(9600);
} void loop(){
if(Serial.available() != 0){ valor = Serial.read(); }
if(valor >= 0){
stepper.step(valor); valor = 0; } else if(valor <= 0){ stepper.step(-valor); valor = 0; } else{ stepper.step(0); } }