Stap 9: Meer informatie & codegedeelte
Kunt u een elektrisch circuit tekening, codevoorbeeld en andere informatie op www.guarnero.com.
Het schema hieronder.
Programma aanbieding
Emitter de code voor de Arduino Mega Arduino Uno en de Maestro servo-controller wordt weergegeven in de volgende secties.
Arduino Uno R3
De Arduino Uno R3 stuurt een aantal IR remote commando's die wilskracht van de projector, selecteer het gewenste vakantie-bestand en het bestand afspelen. Wanneer een trigger Toon start wordt ontvangen door de Arduino, zal het nemen om een projector aan/uit commando uitschakelen van de projector. Ik zou hebben gemaakt de code compacter door toevoeging van een enkele opdracht op basis van de Holiday switch positie maar dit was een snelle manier om te krijgen gaat zonder enige inspanning. Hieronder vindt u de code van de Arduino.
John Guarnero - http://guarnero.com
December 2014
IR Control van Favi projector met de Arduino Uno
Externe bibliotheek kopen van 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 irsend;
VOID Setup
{
pinMode (BUTTON_START_PIN, INPUT);
pinMode (BUTTON_STOP_PIN, INPUT);
pinMode (STATUS_PIN, uitvoer);
pinMode (PLAYING_PIN, uitvoer);
pinMode (HOLIDAY_PIN, INPUT);
}
void loop
{
int ButtonState_Start = digitalRead(BUTTON_START_PIN);
int ButtonState_Stop = digitalRead(BUTTON_STOP_PIN);
int Holiday_Switch = digitalRead(HOLIDAY_PIN);
Kerst-Video afspelen
Als (ButtonState_Start == 1 & & Holiday_Switch == 1) //1 is wanneer Vakantiewoningen schakelaar in de up positie (Kerstmis) - Kerstmis vereist op juiste arow push en Halloween vereist twee duwt
{
digitalWrite (PLAYING_PIN, hoge);
delay(4000);
digitalWrite (PLAYING_PIN, hoge);
Start projectie
irsend.sendNEC (0x61D600FF, 32); Stuur dat NEC Power op elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (18000); 18 seconden
irsend.sendNEC (0x61D628D7, 32); Stuur dat recht elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D628D7, 32); Stuur dat recht elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D6A857, 32); Sturen dat OK elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D6A857, 32); Sturen dat OK elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D628D7, 32); Stuur dat recht elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D6A857, 32); Sturen dat OK elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D67887, 32); Verzenden spelen elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
digitalWrite (PLAYING_PIN, laag);
}
Halloween-Video afspelen
Als (ButtonState_Start == 1 & & Holiday_Switch == 0) //0 is wanneer de vakantie overschakelt in de down positie (Halloween) - Kerstmis vereist op juiste arow push en Halloween vereist twee duwt
{
digitalWrite (PLAYING_PIN, hoge);
delay(4000);
digitalWrite (PLAYING_PIN, hoge);
Start projectie
irsend.sendNEC (0x61D600FF, 32); Stuur dat NEC Power op elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (18000); 18 seconden
irsend.sendNEC (0x61D628D7, 32); Stuur dat recht elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D628D7, 32); Stuur dat recht elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D6A857, 32); Sturen dat OK elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D6A857, 32); Sturen dat OK elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D628D7, 32); Stuur dat recht elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D628D7, 32); Stuur dat recht elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D6A857, 32); Sturen dat OK elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconde
irsend.sendNEC (0x61D67887, 32); Verzenden spelen elke Hex is 4 bits zodat 32 bits totaal
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
digitalWrite (PLAYING_PIN, laag);
}
Uitschakelen van de Projector
Als (ButtonState_Stop)
{
digitalWrite (PLAYING_PIN, hoge);
delay(4000);
Stoppen met projectie
digitalWrite (PLAYING_PIN, hoge);
irsend.sendNEC (0x61D600FF, 32); Verzenden van NEC Power on/off (elke Hex is 4 bits zodat 32 bits totaal)
digitalWrite (STATUS_PIN, hoge);
delay(40);
digitalWrite (STATUS_PIN, laag);
vertraging (1000); Wacht 1 seconden
digitalWrite (PLAYING_PIN, laag);
}
}