Saltar la navegación

Giro por introducción de los grados de giro en el monitor serie. Si introduces negativo gira antihorario

Giro por introducción de los grados de giro en el monitor serie. Si introduces negativo gira antihorario

Ejemplo propio

Hay un error en la librería, se soluciona invirtiendo el orden de los pines In2 y In3. en la definición Stepper motor....los pines físicamente se colocan por orden IN1 a 2, In2 a 3, In3 a 4 y In4 a 5

Idea: per associar dalt, baix, dreta i esquerra havent d'indicar els passos a fer per assolir aquesta orientació. Disc amb una fletxa i fer que apunti en aquesta direcció. Amb valors positius i negatius de pasos. Assenya-la cap una imatge d'una ciutat, un amic, etc

//s'ha d'introduir el nombre de graus de gir a la pantalla

#include <Stepper.h>

Stepper motor1(2048,2,4,3,5);//pasos completos. orden 1 3 2 4 por error en libreria stepper

//2048 equivale a 360º. IN1 a 2, In2 a 3, In3 a 4 in4 a 5, es corregueix l'error de llibreria a la línia anterior

float pasos;

float grados;

void setup() {

motor1.setSpeed(1);//valores de 1,2 o 3 para 28BYJ-48

//1 més lent 3 més ràpid. 1 equivale a 29,3 milisegundos, 2 equivale a 14,6 milisegundos y 3 9,8 milisegundos entre paso y paso.

Serial.begin(9600);

}

void loop() {

if (Serial.available()){

grados =Serial.parseInt();

delay (10);

pasos=grados*5.7; // 5.7 és el resultat de dividir 2048 entre 360

Serial.println("pasos");

Serial.println (pasos);

Serial.println("grados");

Serial.println (grados);

motor1.step(pasos);

delay(1000);

digitalWrite(2,LOW);

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

}

}