Buenas a tod@s!
Recientemente adquirí un Arduino UNO con un Motor Driver y un receptor infrarrojo para realizar un pequeño proyecto que tengo en mente y que iré ampliando poco a poco.
De momento quiero poder controlar un chasis con dos ruedas mediante un mando infrarrojo.
Mi mayor problema viene a la hora de entender el funcionamiento de la libería IRremote de Arduino.
Como compré este KIT receptor más mando sí que he podido hacer algo así:
switch (key)
{
case 32640: // BOTÓN POWER DEL MANDO
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
analogWrite(E1,255);
analogWrite(E2,255);
break;
case 32130: // BOTÓN |<< DEL MANDO
digitalWrite(E2,LOW); //PARAMOS RUEDA2
digitalWrite(M1,HIGH);
analogWrite(E1,255);
break;
Es decir, con el botón POWER del mando a distancia muevo el chasis hacia adelante. Con el botón |<< lo que hago es que gire.
Ahora, lo que me gustaría hacer es poder seleccionar con los botones "1", "2" y "3" distintas velocidades para los motores. Es decir, con el "1", por ejemplo, seleccionaría una salida analógica de 100. Con el botón "2" de 160 y así con otros botones.
Querría algo así: analogWrite(E1,valor)
Y ese valor sería el que yo variaría al apretar los diferentes botones.
He intentado bucles if, pero no se me queda ese 100, 160, etc guardado en la variable valor :
int valor = 0;
if (key == 30600) //SI PULSO EL BOTÓN 1 (30600)
{
valor = 100;
}
else if (key == 30470) // SI PULSO EL BOTÓN 2 (30470)
{
valor = 160;
}
No se me guardan esos valores en la constante para luego poder utilizarla en el switch case.
switch (key)
{
case 32640: // BOTÓN POWER DEL MANDO
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
analogWrite(E1,valor);
analogWrite(E2,valor);
break;
Espero haberme explicado más o menos de forma correcta.
También ,si pudierais pasarme información sobre cómo han obtenido los valores que corresponden a cada botón (que el 1 es el número 30600 o el 2 el 30472, etc) os lo agradecería, pues he intentado buscar documentación pero no la termino de comprender.
Muchas gracias de antemano y espero poder compartir con vosotros muchas dudas y soluciones =D