i wanna get the reading of all pir sensor as the get detection ...
but i only get one side of detection..
how i would make the all pir sensor active and to read the detection from all the sensor on one time if there is detection...
below is code of .
dht11 sensor
mq2 smoke sensor.
LDR sensor
servo motor and pir
.
if there is any detection on pir sensor so the servo will move..
like if on 1 and 3 have detection and the same time the 2 and 4 also have detection..
i wanna take the detection from the alll four sensor on a time as they get detection...
//Libraries
#include <dht.h>
#define MQ2 (15)
#include <Servo.h>
#define ldr 24 //lDR +LED
#define led 25 //lDR +LED
#define ledA1 2 //LED A
#define ledA2 3 //LED A
#define ledA3 4 //LED A
#define ledB1 5 //LED B
#define ledB2 6 //LED B
#define ledB3 7 //LED B
#define ledC1 8
#define ledC2 9
#define ledC3 10
#define ledD1 12
#define ledD2 11
#define ledD3 13
// Declare the Servo pin
int servoA = 28;
int servoB = 29;
int servoC = 30;
int servoD = 31;
dht DHT;
//Constants
#define dht 27 // DHT 22 (AM2302) - what pin we're connected to
// Create a servo object
Servo Servo1;
Servo Servo2;
Servo Servo3;
Servo Servo4;
//Variables
float hum; //Stores humidity value
float temp; //Stores temperature value
float sensorValue; //Gas Sensor variable to store sensor value
void setup() {
// put your setup code here, to run once:
pinMode(dht, INPUT);
pinMode(MQ2, INPUT);
pinMode(ldr, INPUT);
pinMode(led, OUTPUT);
pinMode(ledA1, OUTPUT);
pinMode(ledA2, OUTPUT);
pinMode(ledA3, OUTPUT);
pinMode(ledB1, OUTPUT);
pinMode(ledB2, OUTPUT);
pinMode(ledB3, OUTPUT);
pinMode(ledC1, OUTPUT);
pinMode(ledC2, OUTPUT);
pinMode(ledC3, OUTPUT);
pinMode(ledD1, OUTPUT);
pinMode(ledD2, OUTPUT);
pinMode(ledD3, OUTPUT);
pinMode(servoA, OUTPUT);
pinMode(servoB, OUTPUT);
pinMode(servoC, OUTPUT);
pinMode(servoD, OUTPUT);
// We need to attach the servo to the used pin number
Servo1.attach(servoA);
Servo2.attach(servoB);
Servo3.attach(servoC);
Servo4.attach(servoD);
Serial.println("Gas sensor warming up!");
Serial.begin(9600);
}
void loop() // put your main code here, to run repeatedly:
{
//roadAopen();
//roadCopen();
//void servo13();
//roadBopen();
//roadDopen();
//void servo24();
dht11();
mq2();
LDR();
delay(1000);
}
void dht11() // humidity and temprature sensor
{
int chk = DHT.read11(dht);
//Read data and store it to variables hum and temp
hum = DHT.humidity;
temp= DHT.temperature;
//Print temp and humidity values to serial monitor
Serial.print("Humidity: ");
Serial.print(hum);
Serial.print(" %, Temp: ");
Serial.print(temp);
Serial.println(" Celsius");
delay(100); //Delay 2 sec.
}
void mq2() //MQ2 Gas Sensor Function
{
sensorValue = analogRead(MQ2); // read analog input pin 0
Serial.print("Sensor Value: ");
Serial.print(sensorValue);
if(sensorValue < 400)
{
Serial.print(" |NO Smoke detected!");
}
if((sensorValue > 400)&&(sensorValue < 800))
{
Serial.print(" | Smoke detected!");
}
if(sensorValue > 800)
{
Serial.print(" |Alert High Smoke detected!");
}
Serial.println("");
delay(100); // wait 2s for next reading
}
void LDR() //Function of LDR sensor to a temporary variable
{
int temp=digitalRead(24); //assign value of LDR sensor to a temporary variable
Serial.println("Intensity="); //print on serial monitor using ""
Serial.println(temp); //display output on serial monitor
delay(100);
if(temp==HIGH) //HIGH means,light got blocked
digitalWrite(25,HIGH); //if light is not present,LED on
else
digitalWrite(25,LOW); //if light is present,LED off
}
void roadAopen()
{
digitalWrite(ledA3, LOW);
digitalWrite(ledA1, HIGH);
digitalWrite(ledB3, HIGH);
digitalWrite(ledC3, HIGH);
digitalWrite(ledD3, HIGH);
delay(1000);
digitalWrite(ledA1, LOW);
digitalWrite(ledA2, HIGH);
delay(1000);
digitalWrite(ledA2, LOW);
}
void roadBopen()
{
digitalWrite(ledB3, LOW);
digitalWrite(ledA3, HIGH);
digitalWrite(ledB1, HIGH);
digitalWrite(ledC3, HIGH);
digitalWrite(ledD3, HIGH);
delay(1000);
digitalWrite(ledB1, LOW);
digitalWrite(ledB2, HIGH);
delay(1000);
digitalWrite(ledB2, LOW);
}
void roadCopen()
{
digitalWrite(ledC3, LOW);
digitalWrite(ledA3, HIGH);
digitalWrite(ledB3, HIGH);
digitalWrite(ledC1, HIGH);
digitalWrite(ledD3, HIGH);
delay(1000);
digitalWrite(ledC1, LOW);
digitalWrite(ledC2, HIGH);
delay(1000);
digitalWrite(ledC2, LOW);
}
void roadDopen()
{
digitalWrite(ledD3, LOW);
digitalWrite(ledA3, HIGH);
digitalWrite(ledB3, HIGH);
digitalWrite(ledC3, HIGH);
digitalWrite(ledD1, HIGH);
delay(1000);
digitalWrite(ledD1, LOW);
digitalWrite(ledD2, HIGH);
delay(1000);
digitalWrite(ledD2, LOW);
}
void servo13(){
Serial.println("Motion detected! on 1 or 3");
// Make servo go to 0 degrees
Servo1.write(0);
Servo3.write(0);
delay(2000);
// Make servo go to 90 degrees
Servo1.write(90);
Servo3.write(90);
delay(200);
}
void servo24(){
Serial.println("Motion detected! on 2 or 4");
// Make servo go to 0 degrees
Servo2.write(0);
Servo4.write(0);
delay(2000);
// Make servo go to 90 degrees
Servo2.write(90);
Servo3.write(90);
delay(200);
}
thanks....