#include <EEPROM.h>
int K = 0;
int B_ON = -1;
int B_1 = -1;
int B_2 = -1;
int B_U = EEPROM.read(1);
int B_D = EEPROM.read(2);
#include <IRremote.h>
IRrecv ir_rx(2);
decode_results ir_rx_results;
unsigned long fnc_ir_rx_decode()
{
bool decoded=false;
if( ir_rx.decode(&ir_rx_results))
{
decoded=true;
ir_rx.resume();
}
if(decoded)
return ir_rx_results.value;
else
return 0;
}
void setup() {
Serial.begin(9600);
ir_rx.enableIRIn();
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
}
void loop() {
K = (unsigned long)fnc_ir_rx_decode();
if (K == 17850) {
B_ON = B_ON * -1;
analogWrite(6, B_U);
analogWrite(5, B_D);
Serial.println(B_ON);
}
if (K == 3315) {
B_1 = B_1 * -1;
B_2 = -1;
Serial.println(B_1);
}
if (K == 6375) {
B_2 = B_2 * -1;
B_1 = -1;
Serial.println(B_2);
}
if (B_ON == 1 & B_1 == 1) {
if (K == 16575) {
B_U = B_U + 15;
if (B_U > 255) {
B_U = 255;
}
Serial.println(B_U);
EEPROM.write(1,B_U);
delay(50);
}
if (K == 6630) {
B_U = B_U - 15;
if (B_U < 0) {
B_U = 0;
}
Serial.println(B_U);
EEPROM.write(1,B_U);
delay(50);
}
analogWrite(6, B_U);
}
if (B_ON == 1 & B_2 == 1) {
if (K == 16575) {
B_D = B_D + 15;
if (B_D > 255) {
B_D = 255;
}
Serial.println(B_D);
EEPROM.write(2,B_D);
delay(50);
}
if (K == 6630) {
B_D = B_D - 15;
if (B_D < 0) {
B_D = 0;
}
Serial.println(B_D);
EEPROM.write(2,B_D);
delay(50);
}
analogWrite(5, B_D);
}
if (B_ON == -1) {
pinMode(6, OUTPUT);
digitalWrite(6, 0);
pinMode(5, OUTPUT);
digitalWrite(5, 0);
}
}