//TV up/Down OK |
//Fun Swing/Wind Not_ok |
// arduino UNO 板
|
#include <IRremote.h> |
IRsend irsend; |
int up=0; //電視大聲 |
int Down=0; //電視細聱 |
int Swing=0; //風扇搖擺 |
int Wind=0; //風扇風速大細 |
void setup(){ |
|
pinMode(12, OUTPUT); |
pinMode(13, OUTPUT); |
|
// pinMode(3, OUTPUT); |
pinMode(8, INPUT); |
pinMode(9, INPUT); |
pinMode(10, INPUT); |
pinMode(11, INPUT); |
} |
|
void loop() { |
|
up= digitalRead(8); |
Down= digitalRead(9); |
Swing= digitalRead(10); |
Wind= digitalRead(11); |
// 此段電視大聲正常 |
if( up == HIGH ){ |
int khz = 38; |
unsigned int irSignal[] = {3000, 2900, 550, 1450, 500, 1450, 550, 1450, 500, 1450, 550, 1450, 550, 1400, 550, 2450, 500, 1450, 550, 1450, 550, 1400, 550, 1450, 550, 2400, 550, 1450, 550, 1450, 500, 2450, 550, 2400, 550, 3900, 550}; //AnalysIR Batch Export (IRremote) - RAW |
irsend.sendRaw(irSignal, sizeof(irSignal) / sizeof(irSignal[0]), khz); |
digitalWrite(12, HIGH); |
delay(100); |
digitalWrite(12, LOW); |
delay(100); |
} |
// 此段電視細聲正常 |
else if( Down == HIGH ) { |
int khz = 38; |
unsigned int irSignal[] = {3000, 2950, 500, 1450, 550, 1450, 500, 1450, 550, 1450, 550, 1450, 500, 1450, 550, 2400, 550, 1450, 550, 1450, 500, 1450, 550, 1450, 550, 2400, 550, 1450, 500, 1450, 550, 2400, 550, 1450, 550, 3900, 550 }; //AnalysIR Batch Export (IRremote) - RAW |
irsend.sendRaw(irSignal, sizeof(irSignal) / sizeof(irSignal[0]), khz); |
digitalWrite(13, HIGH); |
delay(100); |
digitalWrite(13, LOW); |
delay(100); |
} |
// 此段風扇搖擺,沒有反應, |
else if( Swing == HIGH ) { |
int khz = 23; //已試改 23,24,25 全不行 |
unsigned int rawData[23]= {1300,400, 1250,400, 450,1300, 1250,400, 1250,450, 400,1300, 400,1250, 1300,400, 400,1300, 400,1300, 400,1250, 450}; // 39D41DC6 |
irsend.sendRaw(rawData, sizeof(rawData) / sizeof(rawData[0]), khz); |
digitalWrite(12, HIGH); |
delay(500); |
digitalWrite(12, LOW); |
delay(500); |
} |
// 此段風扇風速沒有反應 |
else if( Wind == HIGH ) { |
int khz = 23; //已試改 23,24,25 全不行 |
unsigned int rawData[23]= {1250,400, 1300,400, 450,1250, 1250,450, 1250,400, 450,1250, 450,1250, 450,1200, 450,1300, 400,1250, 1300,400, 400}; // 143226DB |
irsend.sendRaw(rawData, sizeof(rawData) / sizeof(rawData[0]), khz); |
digitalWrite(13, HIGH); |
delay(500); |
digitalWrite(13, LOW); |
delay(500); |
} |