#include <Servo.h>
#include <Ultrasonic.h>
#include <SIM800L.h>
const int pirPin = 13; // Pin for PIR sensor
const int moisturePin = 19; // Pin for moisture sensor
const int servoPin1 = 18; // Pin for servo motor 1
const int servoPin2 = 15; // Pin for servo motor 2
const int trigPin1 = 14; // Trig pin for ultrasonic sensor 1
const int echoPin1 = 27; // Echo pin for ultrasonic sensor 1
const int trigPin2 = 12; // Trig pin for ultrasonic sensor 2
const int echoPin2 = 26; // Echo pin for ultrasonic sensor 2
const char* phoneNumber = "1234567890"; // Phone number to send SMS to
Servo servo1; // Initialize servo motor 1
Servo servo2; // Initialize servo motor 2
Ultrasonic ultrasonic1(trigPin1, echoPin1); // Initialize ultrasonic sensor 1
Ultrasonic ultrasonic2(trigPin2, echoPin2); // Initialize ultrasonic sensor 2
SIM800L sim800l; // Initialize SIM800L module
void setup() {
Serial.begin(115200); // Initialize serial communication
pinMode(pirPin, INPUT); // Set PIR sensor pin as input
servo1.attach(servoPin1); // Attach servo motor 1 to pin
servo2.attach(servoPin2); // Attach servo motor 2 to pin
sim800l.begin(); // Initialize SIM800L module
}
void loop() {
// Read value from PIR sensor
int pirValue = analogRead(pirPin); // Read analog value from PIR sensor
if (pirValue > 50) { // If PIR sensor value is above 50
// Read value from moisture sensor
int moistureValue = analogRead(moisturePin); // Read analog value from moisture sensor
if (moistureValue > 60) { // If moisture sensor value is above 60
servo1.write(90); // Turn servo motor 1 to 90 degrees
delay(3000); // Delay for 3 seconds
servo1.write(0); // Return servo motor 1 to initial position
} else {
servo2.write(90); // Turn servo motor 2 to 90 degrees
delay(3000); // Delay for 3 seconds
servo2.write(0); // Return servo motor 2 to initial position
}
}
// Read values from ultrasonic sensors
long distance1 = ultrasonic1.read(); // Read distance from ultrasonic sensor 1
long distance2 = ultrasonic2.read(); // Read distance from ultrasonic sensor 2
if (distance1 == 100 || distance2 == 100) { // If either ultrasonic sensor reads 100 cm
sim800l.sendSMS(phoneNumber, "Ultrasonic sensor reading is 100 cm!"); // Send SMS message
}
delay(1000); // Delay for 1 second
}