Botón de cambio de giro y botón encendido y apagado de un motor bipolar con arduino
Botón de cambio de giro y botón encendido y apagado de un motor bipolar con arduino
Objetivos:
- Tener un botón para apagar y prender el motor
- Tener un botón para cambiar el sentido de giro del motor
Diagrama:
Código:
// Desarrollado por microcontroladores.com.mx #include <Stepper.h> const int boton=2; const int boton2=3; int estadoboton=0; int estadoboton2=0; const int stepsPerRevolution = 4; // change this to fit the number of steps per revolution // for your motor 360/ 1.8 = 200 // initialize the stepper library on pins 8 through 11: Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); void setup() { pinMode(boton, INPUT); //declaramos el boton como entrada pinMode(boton2, INPUT); //declaramos el boton como entrada // set the speed at 60 rpm: myStepper.setSpeed(60); // initialize the serial port: Serial.begin(9600); } void loop() { if((digitalRead(boton)==HIGH)&&(estadoboton==0)){ //si el boton es pulsado y el estado es cero estadoboton=1; // cambia el estado a 1 delay(500); //pausa de 500 ms para evitar rebote } else if((digitalRead(boton)==HIGH)&&(estadoboton==1)) //si el boton es pulsado y el estado es uno { estadoboton=0; // cambia el estado a 0 delay(500); //pausa de 500 ms para evitar rebote } if((digitalRead(boton2)==HIGH)&&(estadoboton2==0)){ //si el boton es pulsado y el estado es cero estadoboton2=1; // cambia el estado a 1 delay(500); //pausa de 500 ms para evitar rebote } else if((digitalRead(boton2)==HIGH)&&(estadoboton2==1)) //si el boton es pulsado y el estado es uno { estadoboton2=0; // cambia el estado a 0 delay(500); //pausa de 500 ms para evitar rebote } if (estadoboton2==1) { if(estadoboton==0) { //si el estadoboton es 1 horario(); } else{ //si el estadoboton es 0 antihorario(); } } } void horario(){ myStepper.step(stepsPerRevolution); } void antihorario(){ myStepper.step(-stepsPerRevolution); }
