Hola a todos, estoy haciendo un programa para activar dos servomotores con un mando. El caso es que con un botón hago un giro y con otro botón regreso ese giro y me gustaría con el mismo botón hacer ambos giros. He probado con condicionales, jugando con el estado de los motores a través de booleanos, pero no consigo resultados. Alguien que me pueda orientar un poco? Gracias
why not use separate buttons to control each turn. pressing the button once, causes the turn and pressing it again undoes the turn.
the following demonstrates how to recognize a button press and toggle a condition. modify it to use 2 buttons (use arrays) and to handle the case where the code it turning in one direction and the other button is pressed and needs to immediately turn in the opposite direction (condition indicates straight, left or right)
const byte PinBut = A1;
byte butState;
bool condition;
void
loop (void)
{
byte but = digitalRead (PinBut);
if (butState != but) {
butState = but;
delay (20);
if (LOW == but) {
condition = ! condition;
Serial.println (condition);
}
}
}
void
setup (void)
{
Serial.begin (9600);
pinMode (PinBut, INPUT_PULLUP);
butState = digitalRead (PinBut);
}
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.