#include <IRremote.h>
const int IR_PIN = 2; // Pin connected to IR receiver module
IRrecv irrecv(IR_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); // Start the IR receiver
Serial.println("IR Attendance System");
}
void loop() {
if (irrecv.decode(&results)) {
unsigned long irCode = results.value;
// Handle different IR remote button codes
if (irCode == 0xFFA25D) {
// Example IR code for Button 1
Serial.println("Button 1 Pressed - Attendance Marked!");
// Additional actions for Button 1 (e.g., logging attendance)
} else if (irCode == 0xFF629D) {
// Example IR code for Button 2
Serial.println("Button 2 Pressed - Attendance Marked!");
// Additional actions for Button 2 (e.g., logging attendance)
} else if (irCode == 0xFFE21D) {
// Example IR code for Button 3
Serial.println("Button 3 Pressed - Attendance Marked!");
// Additional actions for Button 3 (e.g., logging attendance)
} else {
// Print unrecognized IR codes for debugging
Serial.print("Unrecognized IR Code: ");
Serial.println(irCode, HEX);
}
irrecv.resume(); // Receive the next value
delay(1000); // Delay to debounce and prevent multiple detections
}
}