Sabtu, 21 Desember 2019

Program Pendeteks banjir dengan speaker isd 1820

#include <SoftwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
SoftwareSerial SIM800L(12, 11);
#define trigPin 3
#define echoPin 4
#define ledaman 5
#define led1 6
#define led2 7
#define led3 8
#define BUZZER 9
#define konveyor A1
#define speaker 10


void setup() {
 
 lcd.begin(16, 2);               
 lcd.backlight();
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Assalamualaikum");
 lcd.setCursor(5, 1);
 lcd.print("WR.WB");
 delay(2000);

 lcd.clear();
 lcd.setCursor(2, 0);
 lcd.print("Ririn Afriza");
 lcd.setCursor(0, 1);
 lcd.print("NPM : 1660100080");
 delay(2000);

 lcd.clear();
 lcd.setCursor(2, 0);
 lcd.print("I L0VE YOU");
 delay(2000);


 lcd.clear();
 lcd.setCursor(4, 0);
 lcd.print("SKRIPSI");
 lcd.setCursor(3, 1);
 lcd.print("ROBOTIKA");
 delay(2000);


  SIM800L.begin(115200);
 Serial.begin (9600);
 pinMode(trigPin, OUTPUT);
 pinMode(echoPin, INPUT);
 pinMode(BUZZER, OUTPUT);
 pinMode(konveyor, OUTPUT);
 pinMode(speaker, OUTPUT);

 pinMode(ledaman, OUTPUT);
 pinMode(led1, OUTPUT);
 pinMode(led2, OUTPUT);
 pinMode(led3, OUTPUT);


}

void loop() {
 long duration, distance;
 digitalWrite(trigPin, LOW);
 delayMicroseconds(2);
 digitalWrite(trigPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(trigPin, LOW);
 duration = pulseIn(echoPin, HIGH);
 distance = (duration/2) / 29.1;


lcd.clear();
lcd.setCursor(0,0);   
lcd.print("Tinggi Air:");   
lcd.print(distance);   
lcd.print("cm"); 
   

lcd.setCursor(0,1);   
lcd.print("Kondisi :");


if(distance>=16) {
  digitalWrite(ledaman, HIGH);
  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  digitalWrite(BUZZER, LOW);
  digitalWrite(konveyor, HIGH);
digitalWrite(speaker, LOW);

lcd.setCursor(10,1);   
lcd.print("Aman"); 

}
else {
   digitalWrite(ledaman, LOW);
}
if(distance <= 15) {
  digitalWrite(led1, HIGH);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  digitalWrite(BUZZER, LOW);
   digitalWrite(konveyor, HIGH);
digitalWrite(speaker, LOW);

lcd.setCursor(10,1);   
lcd.print("Normal"); 
}

if(distance < 10) {
  digitalWrite(led2, HIGH);
  digitalWrite(led1, LOW);
  digitalWrite(led3, LOW);
  digitalWrite(BUZZER, LOW);
  digitalWrite(konveyor, HIGH);
digitalWrite(speaker, LOW);
lcd.setCursor(10,1);   
lcd.print("Siaga."); 

}
if(distance <= 5) {

  digitalWrite(led2, LOW);
  digitalWrite(led1, LOW);
 digitalWrite(konveyor, LOW);

  digitalWrite(led3, HIGH);
  digitalWrite(BUZZER, HIGH);
delay(500);
 digitalWrite(led3,LOW);
 digitalWrite(BUZZER, LOW);
delay(500);
 digitalWrite(led3, HIGH);
  digitalWrite(BUZZER, HIGH);
delay(500);
 digitalWrite(led3,LOW);
 digitalWrite(BUZZER, LOW);
delay(500);
 digitalWrite(led3, HIGH);
  digitalWrite(BUZZER, HIGH);
delay(500);
 digitalWrite(led3,LOW);
 digitalWrite(BUZZER, LOW);
delay(500);
 digitalWrite(led3, HIGH);
  digitalWrite(BUZZER, HIGH);
delay(500);
digitalWrite(led3,LOW);
 digitalWrite(BUZZER, LOW);
delay(500);
digitalWrite(speaker, HIGH);
delay(500);


lcd.setCursor(10,1);   
lcd.print("Bahaya"); 

  SIM800L.write("AT+CMGF=1\r\n");
  delay(1000);
  SIM800L.write("AT+CMGS=\"082176559542\"\r\n");
  delay(1000);
  SIM800L.write("Sensor Merdeteksi Adanya ketinggian air  ... !!!");
  delay(1000);
  SIM800L.write((char)26);
  delay(1000);

  lcd.clear();
}

 delay(500);
}

Tidak ada komentar:

Posting Komentar