Paso 9: Más información y listado de código
Usted puede conseguir un circuito eléctrico dibujo, listado de código y otra información en el www.guarnero.com.
El esquema se enumera a continuación.
Listado de programa
Emisor en las secciones siguientes se muestra el código para el Arduino Mega, Arduino Uno y el controlador de servos de Maestro.
Arduino Uno R3
La Arduino Uno R3 envía una serie de comandos remotos de infrarrojos se encienda el proyector, seleccione el archivo deseado vacaciones y reproducir el archivo. Cuando un desencadenador de inicio de mostrar es recibido por el Arduino, emitirá un proyector encendido comando para apagar el proyector. Yo pude han hecho el código más compacto agregando un comando único basado en la posición del interruptor de vacaciones, pero se trataba de una forma rápida para comenzarla sin ningún esfuerzo. El código de Arduino se enumera a continuación.
John Guarnero - http://guarnero.com
De diciembre de 2014
IR a Control de proyector Favi con Arduino Uno
Biblioteca remota suministrado por Ken Shirriff http://arcfn.com
#include
int HOLIDAY_PIN = 8;
int PLAYING_PIN = 11;
int BUTTON_START_PIN = 12;
int BUTTON_STOP_PIN = 10;
int STATUS_PIN = 13;
Irsend de IRsend;
void setup()
{
pinMode (BUTTON_START_PIN, entrada);
pinMode (BUTTON_STOP_PIN, entrada);
pinMode (STATUS_PIN, salida);
pinMode (PLAYING_PIN, salida);
pinMode (HOLIDAY_PIN, entrada);
}
void loop()
{
int ButtonState_Start = digitalRead(BUTTON_START_PIN);
int ButtonState_Stop = digitalRead(BUTTON_STOP_PIN);
int Holiday_Switch = digitalRead(HOLIDAY_PIN);
Video de Navidad
Si (ButtonState_Start == 1 & & Holiday_Switch == 1) //1 cuando es vacaciones interruptor en la posición superior (Navidad) - Navidad requiere empujar derecho arow y Halloween requiere dos empujes
{
digitalWrite (PLAYING_PIN, alto);
Delay(4000);
digitalWrite (PLAYING_PIN, alto);
Inicio proyección
irsend.sendNEC (0x61D600FF, 32); Enviar que energía NEC en cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retardo (18000); Espere 18 segundos
irsend.sendNEC (0x61D628D7, 32); Derecho de enviar cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D628D7, 32); Derecho de enviar cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D6A857, 32); Enviar OK cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D6A857, 32); Enviar OK cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D628D7, 32); Derecho de enviar cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D6A857, 32); Enviar OK cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D67887, 32); Enviar juego cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
digitalWrite (PLAYING_PIN, bajo);
}
Reproducir vídeo de Halloween
Si (ButtonState_Start == 1 & & Holiday_Switch == 0) //0 es cuando la fiesta del interruptor en la posición hacia abajo (Halloween) - Navidad requiere empujar derecho arow y Halloween requiere dos empujes
{
digitalWrite (PLAYING_PIN, alto);
Delay(4000);
digitalWrite (PLAYING_PIN, alto);
Inicio proyección
irsend.sendNEC (0x61D600FF, 32); Enviar que energía NEC en cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retardo (18000); Espere 18 segundos
irsend.sendNEC (0x61D628D7, 32); Derecho de enviar cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D628D7, 32); Derecho de enviar cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D6A857, 32); Enviar OK cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D6A857, 32); Enviar OK cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D628D7, 32); Derecho de enviar cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D628D7, 32); Derecho de enviar cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D6A857, 32); Enviar OK cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Esperar 1 segundo
irsend.sendNEC (0x61D67887, 32); Enviar juego cada hexagonal es 4 bits 32 bits total
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
digitalWrite (PLAYING_PIN, bajo);
}
Apague el proyector
Si (ButtonState_Stop)
{
digitalWrite (PLAYING_PIN, alto);
Delay(4000);
Detener la proyección
digitalWrite (PLAYING_PIN, alto);
irsend.sendNEC (0x61D600FF, 32); Enviar NEC Power ON/OFF (cada hexagonal es 4 pedacitos para que 32 bits total)
digitalWrite (STATUS_PIN, alto);
Delay(40);
digitalWrite (STATUS_PIN, bajo);
retrasar (1000); Espere segundos 1
digitalWrite (PLAYING_PIN, bajo);
}
}