Hola a todos, la idea que tengo es la de crear un robot, con dos modos de funcionamiento, un modo manual y otro automático, y quisiera seleccionar estos modos mediante un mando. Estoy intentando programar esto pero no consigo resultado. Había pensado en crear 2 funciones, una para el modo manual y otro para el modo automatico, y luego en el void loop() crear una estructura del tipo:
if (botón del mando correspondiente al modo manual)
{
modo_manual;
}
pero no estoy consiguiendo resultados. ¿Alguien que me oriente un poco?
Por supuesto, es un poco caótico ahora mismo. Te cuento un poco. Se trata de dos servos que abren y cierran unas tapas. El modo automatico las abre y cierra con un retardo de forma automatica y el modo manual, con otro boton las abro y cierro cuando quiero. Aquí el código:
Un robot que recibe mandos por remoto con un delay de 5 segundos? vas por mal camino.
Ve a Documentación y aprende a programar sin usar delay, reemplazándolo por millis().
Esto son pruebas que estoy haciendo con dos servos de juguete en la mesa, lo importante no es el retardo que ponga, quiero poder seleccionar entre los dos modos de funcionamiento. Una vez consiga eso, lo pasaré al proyecto real
No necesitas entonces probar los servos.
Probá el cambio de modo.
Recibir datos por IR
Cambiar una variable de 1 a 0. 1 automático 0 Manual.
Listo.
Usas modo como global.
// define como global
bool modo=false;
// luego en el loop()
if (IrReceiver.decodedIRData.command==0x1E) {
modo=true; // manual
}
if (IrReceiver.decodedIRData.command==0x41) {
modo = false;
}
Ya esta, ahora trabaja con eso, si es manual tal cosa y si es automático tal otra.