No title

 #define sensor_pin A0

#define G_led 8

#define R_led 9

#define buzzer 12

#define relay 10   // Relay pin for vehicle control

#define helmet_sensor 11  // IR sensor pin for helmet detection


float adcValue=0, val=0, mgL=0;


void setup() {

  pinMode(sensor_pin, INPUT);

  pinMode(R_led, OUTPUT); 

  pinMode(G_led, OUTPUT); 

  pinMode(buzzer, OUTPUT); 

  pinMode(relay, OUTPUT);   // declare Relay as output

  pinMode(helmet_sensor, INPUT); // Helmet IR sensor

}


void loop() {

  int helmetStatus = digitalRead(helmet_sensor); // Read helmet sensor

  

  adcValue = 0;

  for(int i=0; i<10; i++) {

    adcValue += analogRead(sensor_pin); 

    delay(10); 

  }

  

  val = (adcValue/10) * (5.0/1024.0); 

  mgL = 0.67 * val;


  if(helmetStatus == LOW) {  

    // Helmet not worn (assuming LOW = no detection)

    digitalWrite(buzzer, HIGH); 

    digitalWrite(R_led, HIGH); 

    digitalWrite(G_led, LOW); 

    digitalWrite(relay, LOW);   // Vehicle OFF

  } 

  else {

    // Helmet worn

    if(mgL > 0.8) {

      digitalWrite(buzzer, HIGH); 

      digitalWrite(G_led, LOW);  

      digitalWrite(R_led, HIGH); 

      digitalWrite(relay, LOW);   // Vehicle OFF

      delay(300);

    } else {

      digitalWrite(G_led, HIGH);  

      digitalWrite(R_led, LOW);   

      digitalWrite(relay, HIGH);  // Vehicle ON

    }

  }

  

  digitalWrite(buzzer, LOW);

  delay(100);

}

Post a Comment

Post a Comment (0)

Previous Post Next Post