Projektor IR-kontroll med hjälp av Arduino Uno (9 / 9 steg)
Steg 9: Mer Information & kodlista
Du kan få en elektrisk krets ritning, -koden och annan information vid www.guarnero.com.
Schematiskt är listade nedan.
Programmet notering
Utsläppskälla koden för Arduino Mega, Arduino Uno och Maestro servo controller visas i följande avsnitt.
Arduino Uno R3
Arduino Uno R3 skickar ett antal IR-fjärrkontrollen kommandon som kommer att driva upp projektorn och välj önskad helgdagsfilen spela upp filen. När en Visa start utlösare tas emot av Arduino, kommer att det utfärda en projektor/på kommandot för att stänga av projektorn. Jag kunde ha gjort koden mer kompakt genom att lägga till ett enda kommando baserat på Holiday switch ställning men detta var ett snabbt sätt att få det att gå utan någon ansträngning. Arduino koden är listade nedan.
John Guarnero - http://guarnero.com
December 2014
IR-kontroll av Favi projektor med Arduino Uno
Fjärrbibliotek av 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, indata);
pinMode (BUTTON_STOP_PIN, indata);
pinMode (STATUS_PIN, OUTPUT);
pinMode (PLAYING_PIN, OUTPUT);
pinMode (HOLIDAY_PIN, indata);
}
void loop()
{
int ButtonState_Start = digitalRead(BUTTON_START_PIN);
int ButtonState_Stop = digitalRead(BUTTON_STOP_PIN);
int Holiday_Switch = digitalRead(HOLIDAY_PIN);
Spela jul Video
om (ButtonState_Start == 1 & & Holiday_Switch == 1) //1 är när holiday switch i uppfällt läge (jul) - jul kräver på rätt arow push och Halloween kräver två skjuter
{
digitalWrite (PLAYING_PIN, hög);
Delay(4000);
digitalWrite (PLAYING_PIN, hög);
Starta projektion
irsend.sendNEC (0x61D600FF, 32); Skicka NEC makt på varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (18000); Vänta 18 sekunder
irsend.sendNEC (0x61D628D7, 32); Skicka rätt varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D628D7, 32); Skicka rätt varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D6A857, 32); Skicka OK varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D6A857, 32); Skicka OK varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D628D7, 32); Skicka rätt varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D6A857, 32); Skicka OK varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D67887, 32); Skicka spela varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
digitalWrite (PLAYING_PIN, låg);
}
Spela Halloween-Video
om (ButtonState_Start == 1 & & Holiday_Switch == 0) //0 är när semestern växlar i nedfällt (Halloween) - jul kräver på rätt arow push och Halloween kräver två skjuter
{
digitalWrite (PLAYING_PIN, hög);
Delay(4000);
digitalWrite (PLAYING_PIN, hög);
Starta projektion
irsend.sendNEC (0x61D600FF, 32); Skicka NEC makt på varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (18000); Vänta 18 sekunder
irsend.sendNEC (0x61D628D7, 32); Skicka rätt varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D628D7, 32); Skicka rätt varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D6A857, 32); Skicka OK varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D6A857, 32); Skicka OK varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D628D7, 32); Skicka rätt varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D628D7, 32); Skicka rätt varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D6A857, 32); Skicka OK varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta en sekund
irsend.sendNEC (0x61D67887, 32); Skicka spela varje Hex är 4 bitar så 32 bitar totalt
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
digitalWrite (PLAYING_PIN, låg);
}
Stäng av projektorn
om (ButtonState_Stop)
{
digitalWrite (PLAYING_PIN, hög);
Delay(4000);
Stoppa projektion
digitalWrite (PLAYING_PIN, hög);
irsend.sendNEC (0x61D600FF, 32); Skicka NEC ström på/av (varje Hex är 4 bitar så 32 bitar totalt)
digitalWrite (STATUS_PIN, hög);
Delay(40);
digitalWrite (STATUS_PIN, låg);
fördröjning (1000); Vänta 1 sekunder
digitalWrite (PLAYING_PIN, låg);
}
}