Hey there, sorry if my coding is not that efficient, because I am new to coding. I have an alarm project that I made. I am trying to get IR functionality, but for some reason, It only checks for the IR code once.
#include <IRremote.hpp>
int IR_RECEIVE_PIN = 8;
int onPin = A2; // On button
int offPin = A3; // Off Button
int resetPin = A1; // Reset Button
int relayPin = 5; // Alarm
int lightReader = A0; // Light Reader
int x = 0; // Light Sensor
int y = 0; // Reset Button
int z = 0; // On Button
int v = 0; // Off Button
int m = 0; // Alarm State
int n = 0; //IR Value
void setup()
{
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
Serial.begin(9600);
pinMode(relayPin, OUTPUT);
pinMode(lightReader, INPUT);
pinMode(resetPin, INPUT);
pinMode(onPin, INPUT);
pinMode(offPin, INPUT);
digitalWrite(relayPin, HIGH);
}
void loop()
{
if (IrReceiver.decode())
{
n = IrReceiver.decodedIRData.decodedRawData, HEX;
}
z = analogRead(onPin);
v = analogRead(offPin);
x = analogRead(lightReader);
y = analogRead(resetPin);
Serial.print("Reading toggle: "); //For Debugging
Serial.println(n); // For Debugging
if (z > 1010 || n == 12320) // On Buttom Pressed
{
m = 1;
IrReceiver.resume();
}
if (v > 1010 || n == 12321) // Off Button Pressed
{
m = 0;
digitalWrite(relayPin, HIGH);
IrReceiver.resume();
}
if (m == 1) // If Alarm is Armed
{
if (x < 50) // Light Sensor Sensitivity {
}
else
{
digitalWrite(relayPin, LOW); // Alarm On
}
if (y > 1010)
{
digitalWrite(relayPin, HIGH); //Alarm Off
}
}
}