PROJECT CODE - A-Division-2023-24-Odd/Repo-03 GitHub Wiki

// Define pin numbers const int irSensorPin = 2; // IR sensor input pin const int buzzerPin = 3; // Buzzer output pin const int relay1Pin = 4; // Relay module channel 1 control pin const int relay2Pin = 5; const int LEDPin = 6; // Relay module channel 2 control pin const int funLEDPin = 7; void setup() { Serial.begin(9600); pinMode(irSensorPin, INPUT); pinMode(buzzerPin, OUTPUT); pinMode(relay1Pin, OUTPUT); pinMode(relay2Pin, OUTPUT); pinMode(LEDPin, OUTPUT); pinMode(funLEDPin, OUTPUT); }

void loop() { int irSensorState = digitalRead(irSensorPin); Serial.println("IR Sensor State: " + String(irSensorState));

if (irSensorState == 0) { // Object detected, activate buzzer digitalWrite(LEDPin, LOW); digitalWrite(funLEDPin, HIGH); digitalWrite(buzzerPin, HIGH); delay(50); digitalWrite(buzzerPin, LOW); delay(25); digitalWrite(buzzerPin, HIGH); delay(50); digitalWrite(buzzerPin, LOW); delay(20); digitalWrite(buzzerPin, HIGH); delay(50); digitalWrite(buzzerPin, LOW); delay(50);

Serial.println("Object Detected! Activating Buzzer...");
delay(3000);  // 2-second delay

// Deactivate buzzer and activate motor using relay module
digitalWrite(buzzerPin, LOW);
digitalWrite(relay1Pin, HIGH);  // Activate relay channel 1
digitalWrite(relay2Pin, LOW);  // Activate relay channel 2
Serial.println("Activating Motor...");
delay(6000); // 30-second delay for motor activation

// Deactivate motor
digitalWrite(relay1Pin, LOW);  // Deactivate relay channel 1
digitalWrite(relay2Pin, LOW);  // Deactivate relay channel 2
Serial.println("Deactivating Motor...");

} else if(irSensorState == 1) { digitalWrite(LEDPin, HIGH); digitalWrite(funLEDPin, LOW);

}

delay(200); // Adjust the delay for responsiveness }