Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- SoftwareSerial SIM900A(2, 3);
- byte trigPin = 5; //Pin from HC-SR04 "Trig"
- byte echoPin = 4; //Pin from HC-SR04 "Echo"
- int percent = 0;//0-100%
- void setup() {
- //Define HC-SR04 pins
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- Serial.begin(9600); //Start a Serial COM
- SIM900A.begin(9600); // Setting the baud rate of GSM Module
- Serial.println ("SIM900A Ready");
- delay(15000);
- SendMessage1();
- }
- void loop() {
- if (movement())
- {
- Serial.println(F("Water is LOW"));
- delay(1000);
- SendMessage2();
- delay(30000);
- }
- if (SIM900A.available() > 0)
- Serial.write(SIM900A.read());
- }// end of LOOP
- //******************************************************************************
- //**************************** MOVEMENT **********************************
- //******************************************************************************
- byte movement()
- {
- long duration, distance;
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- //Calculate the distance (in cm) based on the speed of sound.
- distance = duration / 58.2;
- //Serial.print(F("Dist:"));
- //Serial.println(distance);
- percent = map(distance, 19, 4, 0, 100);
- if (percent < 0)
- percent = 0;
- if (percent > 100)
- percent = 100;
- Serial.print(F("Percent:"));
- Serial.println(percent);
- delay(50);
- if (percent >= 30)
- return 0;
- else
- {
- return 1;
- }
- }
- void SendMessage1()
- {
- Serial.println ("Sending Message [1]");
- SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
- delay(1000);
- Serial.println ("Set SMS Number");
- // *********
- SIM900A.println("AT+CMGS=\"+966550487159\"\r"); //Mobile phone number to send message
- delay(1000);
- Serial.println ("Set SMS Content");
- SIM900A.println("GSM Connected, Project is ON");// Messsage content
- delay(100);
- Serial.println ("Finish");
- SIM900A.println((char)26);// ASCII code of CTRL+Z
- delay(1000);
- Serial.println ("Message [1] has been sent");
- }
- void SendMessage2()
- {
- Serial.println ("Sending Message [2]");
- SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
- delay(1000);
- Serial.println ("Set SMS Number");
- // *********
- SIM900A.println("AT+CMGS=\"+966550487159\"\r"); //Mobile phone number to send message
- delay(1000);
- Serial.println ("Set SMS Content");
- SIM900A.println("Water Level is LOW!!");// Messsage content
- delay(100);
- Serial.println ("Finish");
- SIM900A.println((char)26);// ASCII code of CTRL+Z
- delay(1000);
- Serial.println ("Message [2] has been sent");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement