Code compiles but working partially

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;
}

Please describe “not working”.

What is driving the flamepin? In case of a button (or similar), do you use a pull-down or pull-up resistor?

Please modify your post according to the guidelines in https://forum.arduino.cc/index.php?topic=148850.0 point #7.

You forgot 'pinMode(flamepin, INPUT_PULLUP);'.

The flamepin input is only checked after each full cycle of the servo. Is the servo moving as expected?

Note: You don't specify a timeout in your pulseIn() call so the default (1000000 microseconds) is used. If the ultrasonic range detector doesn't get an echo (too close or too far) the pulseIn() will delay a full second. You should see that as a pause in the motion of the servo. Change to " duration = pulseIn(echoPin, HIGH, 30000UL);" to use a 30 millisecond timeout instead of a 1000 millisecond timeout.

Hi,
Welcome to the forum.

Please read the post at the start of any forum , entitled "How to use this Forum".
OR
http://forum.arduino.cc/index.php/topic,148850.0.html.
Then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.

Thanks.. Tom.... :slight_smile:

 pinMode(8, OUTPUT);   // defining 8th pin for BUZZZER as output

Apart from forgetting to name the pin, and the fact that it’s the ninth pin, how about turning the buzzer off?

but FIRE ALARM not working

Just about the lamest thing you could write here.