#include <IRremote.h>
#include <Servo.h>
Servo svo;
int RECV_PIN = 15;
int pinCount = 0;
int strLED = 10;
int cntLED = 0;
boolean powerLED = false;
boolean svoRun = true;
IRrecv ir(RECV_PIN);
decode_results r;
void setup()
{
Serial.begin(9600);
ir.enableIRIn();
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(5,OUTPUT);
// svo.attach(16);
pinMode(3,OUTPUT);
digitalWrite(3, LOW);
iniLED();
}
void loop()
{
if (ir.decode(&r))
{
switch (r.value)
{
case 16748655: //+
if(powerLED == true){
if(pinCount<31){
cntLED = 0;
pinCount ++;
iniLED();
setLED(pinCount);
}
}
break;
case 16754775: //-
if(powerLED == true){
if(pinCount>0){
cntLED = 0;
pinCount --;
iniLED();
setLED(pinCount);
}
}
break;
case 16720605: //play
// if(pinCount > 0){
// if(svoRun == true){
// svoRun = false;
// svo.write(1);
// delay(50);
// }
// else{
// svoRun = true;
// svo.write(90);
// delay(50);
// }
// }
break;
case 16753245: //power
pinCount = 0;
iniLED();
if (powerLED == true){
powerLED = false;
digitalWrite(3, LOW);
}
else{
powerLED = true;
digitalWrite(3, HIGH);
}
break;
}
ir.resume();
Serial.println("test4");
}
}
void iniLED(){
digitalWrite(9, LOW);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
digitalWrite(6, LOW);
digitalWrite(5, LOW);
}
void setLED(int tmpCount){
int tmpDiv = tmpCount / 2;
int tmpRem = tmpCount % 2;
cntLED++;
if(tmpRem > 0){
digitalWrite(strLED-cntLED,HIGH);
}
if(tmpDiv >= 1){
setLED(tmpDiv);
}
}
above code have problem after run this:svo.attach(16);
pls help