const int lmotor = 3;
const int rmotor = 5;
const int buzzer = 4;
const int sensor = A0;
int sensor_data = 0;
int pwm = 255;
bool flag = false;
bool buzz_flag = false;
void setup(){
Serial.begin(9600);
pinMode(lmotor, OUTPUT);
pinMode(rmotor, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(sensor, INPUT);
pwm = 255;
}
void engine(int pwm){
analogWrite(lmotor, pwm);
analogWrite(rmotor, pwm);
}
void buzzing(int a, int b, bool buzz_flag){
if(!buzz_flag){
digitalWrite(buzzer, HIGH);
delay(a);
digitalWrite(buzzer, LOW);
delay(b);
}
}
void loop(){
sensor_data = analogRead(sensor);
sensor_data = map(sensor_data, 0, 1023, 25, 500);
Serial.println(sensor_data);
for(int i = 0; i <= 20; i++){
if(sensor_data >= 450 && !flag){
Serial.println("first loop began");
engine(255);
buzzing(100, 100, false);
if(i == 9){
flag = true;
Serial.println("flag is true");
}
}
if(sensor_data >= 450 && flag && i < 20){
if(!buzz_flag){
buzzing(2000, 0, false);
delay(100);
buzzing(0, 0, true);
}
for(int j = 255; j >= 0; j--){
Serial.println("second loop started");
Serial.println(j);
engine(j);
if(j == 0){
flag = false;
Serial.println("loop terminated");
for(;;);
}
delay(100);
}
}
}
}