Hii, Please correct this code it’s compiling successfully but FIRE ALARM not working rest of the Radar part is working properly.
// Includes the Servo library
#include <Servo.h>.
// Defines Tirg and Echo pins of the Ultrasonic Sensor
const int trigPin = 10;
const int echoPin = 11;
// Variables for the duration and the distance
long duration;
int distance;
//************************** FIRE ALARM PIN
int flamepin = 5;
//*************************
Servo myServo; // Creates a servo object for controlling the servo motor
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
Serial.begin(9600);
myServo.attach(12); // Defines on which pin is the servo motor attached
//**************************** FIRE ALARM PINMODE BELOW
pinMode(4, OUTPUT); // defining 4th pin for LED as output
pinMode(6, OUTPUT); // defining 5th pin for LED as output
pinMode(8, OUTPUT); // defining 8th pin for BUZZZER as output
}
void loop() {
// rotates the servo motor from 15 to 165 degrees
for(int i=15;i<=165;i++){
myServo.write(i);
delay(30);
distance = calculateDistance();// Calls a function for calculating the distance measured by the Ultrasonic sensor for each degree
Serial.print(i); // Sends the current degree into the Serial Port
Serial.print(","); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing
Serial.print(distance); // Sends the distance value into the Serial Port
Serial.print("."); // Sends addition character right next to the previous value needed later in the Processing IDE for indexing
}
// Repeats the previous lines from 165 to 15 degrees
for(int i=165;i>15;i–){
myServo.write(i);
delay(30);
distance = calculateDistance();
Serial.print(i);
Serial.print(",");
Serial.print(distance);
Serial.print(".");
}
// FIRE ALARM PART
int flame = digitalRead(flamepin); // initializing flamepin value to flame which is a variable of int type
if (flame == LOW) // if statement to check condition
{
digitalWrite (4,HIGH); // SUPPLIED HIGH VOLTAGE TO LED
delay (20);
digitalWrite (6,HIGH);
delay (20);
digitalWrite (8,LOW); // BUZZER SUPPLIED LOW VOLTAGE FOR LOW VOLTAGE TRIGGERING
delay (20);
}
else if (flame == HIGH)
{
digitalWrite(8,HIGH);
digitalWrite(6,LOW);
digitalWrite(4,LOW);
}
delay (10); // delay after loop execution
}
// Function for calculating the distance measured by the Ultrasonic sensor
int calculateDistance(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // Reads the echoPin, returns the sound wave travel time in microseconds
distance= duration*0.034/2;
return distance;
}