// STM32 Nucleo-C031C6 I2C Example
// Simulation: https://wokwi.com/projects/365421666018061313
#define METAL_SENSOR_PIN A0
#define ALERT_LED_PIN D13 // Red LED
#define MOTOR1_LED_PIN D6 // Motor LED 1 (Green)
#define MOTOR2_LED_PIN D5 // Motor LED 2 (Green)
#define MOTOR3_LED_PIN D4 // Motor LED 3 (Green)
#define BUZZER_PIN D9 // Buzzer
void setup() {
pinMode(ALERT_LED_PIN, OUTPUT);
pinMode(MOTOR1_LED_PIN, OUTPUT);
pinMode(MOTOR2_LED_PIN, OUTPUT);
pinMode(MOTOR3_LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
Serial.begin(115200);
Serial.println("Landmine Detection System Started");
}
void loop() {
int sensorValue = analogRead(METAL_SENSOR_PIN);
Serial.println(sensorValue);
if (sensorValue > 1000) {
// METAL DETECTED
digitalWrite(ALERT_LED_PIN, HIGH);
digitalWrite(BUZZER_PIN, HIGH);
// Motors STOP
digitalWrite(MOTOR1_LED_PIN, LOW);
digitalWrite(MOTOR2_LED_PIN, LOW);
digitalWrite(MOTOR3_LED_PIN, LOW);
} else {
// NO METAL
digitalWrite(ALERT_LED_PIN, LOW);
digitalWrite(BUZZER_PIN, LOW);
// Motors RUN
digitalWrite(MOTOR1_LED_PIN, HIGH);
digitalWrite(MOTOR2_LED_PIN, HIGH);
digitalWrite(MOTOR3_LED_PIN, HIGH);
}
delay(300);
}