|
各位 arduino 高人, 小弟進行了復(fù)制紅外線遙控發(fā)射個案, 同一條件下,用arduino IDE 下范例檔IRrecvDump, 取得 電視, 和風(fēng)扇遙控的 發(fā)射code ,
1) 電視, 是大細(xì)聲音試驗
2) 風(fēng)扇是搖擺和風(fēng)速試驗, 但奇怪現(xiàn)像是, 電視能有效接收大細(xì)聲, 風(fēng)扇如何更改試驗都沒有反應(yīng).............
期望前輩伸出緩手幫幫忙, 指點一下, ...謝謝!!!
//TV up/Down OK | //Fun Swing/Wind Not_ok | // arduino UNO 板
| #include <IRremote.h> | IRsend irsend; | int up=0; //電視大聲 | int Down=0; //電視細(xì)聱 | int Swing=0; //風(fēng)扇搖擺 | int Wind=0; //風(fēng)扇風(fēng)速大細(xì) | 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); | } | // 此段電視細(xì)聲正常 | 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); | } | // 此段風(fēng)扇搖擺,沒有反應(yīng), | 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); | } | // 此段風(fēng)扇風(fēng)速沒有反應(yīng) | 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); | } |
|
|