#include <Arduino.h>
#include <IRremote.hpp>
#define IR_RECEIVE_PIN 2
//lives
int lives = 2;
const int greenPin1 = 13;
const int greenPin2 = 12;
const int greenPin3 = 11;
const int receiverPin = 3;
const int redPin = 7;
bool shouldTurnLedOn = false;
const unsigned long expectedHex = 0xFEA857;
void setup() {
Serial.begin(9600);
IrReceiver.begin(IR_RECEIVE_PIN, DISABLE_LED_FEEDBACK);
pinMode(redPin, OUTPUT);
pinMode(greenPin1, OUTPUT);
pinMode(greenPin2, OUTPUT);
pinMode(greenPin3, OUTPUT);
}
void loop() {
if (shouldTurnLedOn == false) {
digitalWrite(redPin, HIGH);
} else {
digitalWrite(redPin, LOW);
}
if (IrReceiver.decode()) {
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
if (IrReceiver.decodedIRData.decodedRawData == expectedHex) {
if (shouldTurnLedOn = false) {
shouldTurnLedOn = true;
} else {
shouldTurnLedOn = false;
}
}
IrReceiver.resume();
}
if (lives == 3) {
analogWrite(greenPin1, HIGH);
analogWrite(greenPin2, HIGH);
analogWrite(greenPin3, HIGH);
} else if (lives == 2) {
analogWrite(greenPin1, LOW);
analogWrite(greenPin2, HIGH);
analogWrite(greenPin3, HIGH);
} else if (lives == 1) {
analogWrite(greenPin1, LOW);
analogWrite(greenPin2, LOW);
analogWrite(greenPin3, HIGH);
} else if (lives == 0) {
analogWrite(greenPin1, LOW);
analogWrite(greenPin2, LOW);
analogWrite(greenPin3, LOW);
}
//Serial.println(digitalRead(3));
Serial.println(lives);
delay(200);
}