LAMPIRAN
#include <gprs.h>
#define TIMEOUT 5000
#define LED 6
//NO TELPON 082167527652
//NO AXIS 083199013494
//085206012927
int pertama,kedua,ketiga;
float num,NTU;
char cstr[222];
String str,gabung;
//Variable to hold last line of serial output from SIM800
char currentLine[500] = "";
int currentLineIndex = 0;
//Boolean to be set to true if message notificaion was found and next
//line of serial output is the actual SMS message content
bool nextLineIsMessage = false;
void urut(){//Fungsi Sorting pembacaan nilai sensor
if(analogRead(A5)>analogRead(A6)){
if(analogRead(A6)>analogRead(A7)){
pertama=analogRead(A5);kedua=analogRead(A6);ketiga=analog Read(A7);
}
else{
if(analogRead(A5)>analogRead(A7)){
pertama=analogRead(A5);kedua=analogRead(A7);ketiga=analog Read(A6);
}
else{
pertama=analogRead(A7);kedua=analogRead(A5);ketiga=analog Read(A6);
}
}
}
else{
if(analogRead(A6)>analogRead(A7)){
if(analogRead(A5)>analogRead(A7)){
pertama=analogRead(A6);kedua=analogRead(A5);ketiga=analog Read(A7);
}else{
}
}
else{
if(analogRead(A7)>analogRead(A5)){
if(analogRead(A5)>analogRead(A6)){
pertama=analogRead(A7);kedua=analogRead(A5);ketiga=analog Read(A6);
}else{
pertama=analogRead(A7);kedua=analogRead(A6);ketiga=analog Read(A5);
}
}
}
}
NTU=(13.746*kedua) - 6034.4;
}
void setup() {
pinMode (LED , OUTPUT);
Serial.begin(9600);
digitalWrite (LED, HIGH);
while(!Serial);
Serial.println("Starting SIM800 Auto Read SMS");
gprs.preInit();
delay(1000);
Serial.print("init error\r\n");
}
//Set SMS mode to ASCII
if(0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1\r\n", "OK", TIMEOUT)) {
ERROR("ERROR:CNMI");
return;
}
//Start listening to New SMS Message Indications
if(0 !=
gprs.sendCmdAndWaitForResp("AT+CNMI=1,2,0,0,0\r\n", "OK", TIMEOUT)) {
ERROR("ERROR:CNMI");
return;
}
Serial.println("Inisialisasi Sim800l berhasil");
//gprs.sendSMS ("083199013494","Inisialisasi selesai");
gprs.sendSMS ("082299929228","Inisialisasi selesai");
//Untuk indikator Led inisialisasi sim800l
digitalWrite(LED,0);
delay(500);
digitalWrite(LED,1);
delay(1000);
digitalWrite(LED,0);
delay(1);
}
int waktu=millis() / 1000;//millis per 1000 berarti perdetik
if (waktu%30==1){//setiap 30 detik mengirim sms notifikasi
urut();
num = NTU;
str = String(num);
String a="Nilai Baca Kekeruhan airnya: ";
gabung=a + num;
str = String(gabung);
Serial.print(str);
str.toCharArray(cstr,333);
Serial.println(cstr);
gprs.sendSMS ("082299929228",cstr);
digitalWrite(LED,0);
delay(500);
digitalWrite(LED,1);
delay(1000);
digitalWrite(LED,0);
delay(1);
}
urut();
Serial.print(waktu);Serial.print(" || ");Serial.println(NTU);
delay(1000);
//If there is serial output from SIM800// Pesan masuk
gprs.serialSIM800.read();
//Read each character from serial output until \r or \n is reached (which denotes end of line)
if(lastCharRead == '\r' || lastCharRead == '\n'){
String lastLine = String(currentLine);
//If last line read +CMT, New SMS Message Indications was received.
//Hence, next line is the message content.
if(lastLine.startsWith("+CMT:")){
Serial.println(lastLine);
nextLineIsMessage = true;
} else if (lastLine.length() > 0) {
if(nextLineIsMessage) {
Serial.println(lastLine);
// ########## MEMBACA KONTEN SMS DAN MENCARI+MENGARTIKAN KONTEN SMS KE PROGRAM #########
//Tampilkan rata" jika menerima pesan Data
if(lastLine.indexOf("Data") >= 0){
urut();
num = NTU;
str = String(num);
String a="Nilai Baca Kekeruhan airnya: ";
gabung=a + num;
str = String(gabung);
str.toCharArray(cstr,333);
Serial.println(cstr);
gprs.sendSMS
("082299929228",cstr);
digitalWrite(LED,1);
delay(1000);
digitalWrite(LED,0);
delay(500);
digitalWrite(LED,1);
delay(500);
digitalWrite(LED,0);
delay(1);
}
nextLineIsMessage = false;
}
}
//Clear char array for next line of read
for( int i = 0; i < sizeof(currentLine); ++i ) {
currentLine[i] = (char)0;
}
currentLineIndex = 0;
} else {
currentLine[currentLineIndex++] = astCharRead;
LAMPIRAN
HASIL UJI COBA SENSOR MENGGUNAKAN SAMPEL AIR
NO WAKTU
JENIS AIR