Paso 3: programación
En primer lugar, abra el Arduino Software.
Abrir el menú sketch > Biblioteca incluyen > Administrar bibliotecas > búsqueda para IRremote, instalarlo. Ahora abra un nuevo proyecto en el Arduino Software. Abrir el menú archivos > ejemplos > IRremote > IRrecvDemo. A continuación, compruebe y subir a su tabla adruino. Entonces abra a monitor serial e intente haga clic en cualquier botón del mando a distancia para enviar una señal al receptor de infrarrojos, el código hexadecimal de cada botón. Luego detectar el código hexadecimal de los botones para controlar el motor servo, asumir que utilizará cinco botones de su elección. Por ejemplo, utilizar (flecha derecha) para 0 grados y (flecha izquierda) para 180 grados, por lo que tienes que conseguir los códigos HEX. (R)---> A3C8EDDB (L)---> F076C13B en el código final, la funcionalidad es cuando haciendo clic en cualquiera de cinco botones el motor es alternar entre la rotación en la dirección principal y parada tan cuando primero haga clic en cualquiera de los dos botones, el motor girará en dirección del botón, y al segundo clic en el botón el motor se detendrá como se muestra en el video. El código es:
#include
#include
sin firmar largo Value1 = 0xFD50AF; donde XXXXXXXX es en los valores de su control remoto
sin firmar largo valor2 = 0xFD10EF; donde XXXXXXXX es otro botón de su mando a distancia
sin firmar largo valor3 = 0xFD906F; donde XXXXXXXX es otro botón de su mando a distancia
sin firmar largo Value4 = 0xFD08F7; donde XXXXXXXX es otro botón de su mando a distancia
unsigned Value5 largo = 0xFD48B7; donde XXXXXXXX es otro botón de su mando a distancia
int RECV_PIN = 2;
Irrecv(RECV_PIN) de IRrecv;
resultados de la decode_results;
Servo1 servo;
la rutina de instalación se ejecuta una vez al presionar reset:
void setup() {}
Serial.Begin(9600);
irrecv.enableIRIn(); Inicio del receptor
Inicializa el pin digital como salida.
servo1.Attach(9); servo de ataque para pin digital 10
}
una y otra vez funciona para siempre la rutina bucle:
void loop() {}
Si (irrecv.decode (y resultados)) {}
Serial.println (results.value, hexagonal);
irrecv.resume(); Recibir el siguiente valor}
if(Results.Value == Value1) {}
servo1.Write(180);
}
else if (results.value == valor2) {}
servo1.Write(0);
}
else if (results.value == valor3) {}
servo1.Write(90);
}
else if (results.value == Value4) {}
servo1.Write(45);
}
else if (results.value == Value5) {}
servo1.Write(135);
}
}