• Tidak ada hasil yang ditemukan

Mendeteksi Kekeruhan Air Menggunakan Mikrokontroler Arduino Nano Dengan Sensor Light Dependent Resistor (LDR) Dan Light Emittin Gdioda (LED) Super Bright Berbasis Komunikasi Data Online

N/A
N/A
Protected

Academic year: 2017

Membagikan "Mendeteksi Kekeruhan Air Menggunakan Mikrokontroler Arduino Nano Dengan Sensor Light Dependent Resistor (LDR) Dan Light Emittin Gdioda (LED) Super Bright Berbasis Komunikasi Data Online"

Copied!
10
0
0

Teks penuh

(1)

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;

(2)

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{

(3)

}

}

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);

(4)

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);

}

(5)

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

(6)

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);

(7)

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;

(8)
(9)

LAMPIRAN

HASIL UJI COBA SENSOR MENGGUNAKAN SAMPEL AIR

NO WAKTU

JENIS AIR

(10)

Referensi

Dokumen terkait

Our measure of misrepresentation identifies instances in which a first-lien loan is reported to investors as backed by property that has no associated higher liens when the

Fixed variable : Angle between plane and mirror // focal length(sila rujuk*).

Tampilan antarmuka tentang penyakit yang ditunjukkan merupakan tampilan halaman yang muncul ketika pengguna mengklik tombol daftar gejala dan penyakit pada halaman utama, pada

Supply Chain Coordination with Quantity Discount Policy, International Journal of Production Economics.. Reducing Bullwhip Effect in Supply Chain of Manufacturing Industry

Želeli smo tudi ugotoviti, ali izpraševanci menijo, da v Sloveniji nestrpnost predstavlja velik problem in ali dojemajo delovanje politike kot nestrpno... Namen naše magistrske

Dengan memanjatkan puji syukur kepada allah swt, atas rahmat dan hidayah-nya yang diberikan kepada penyusun sehingga skripsi yang berjudul : “Pengaruh Kualitas

Menurut Sugiyono (2005:11) “penelitian deskriptif adalah penelitian yang dilakukan untuk mengetahui nilai variabel mandiri, baik satu variabel atau lebih tanpa

Berdasarkan analisis hasil peneltian, maka dapat diambil kesimpulan, bahwa VCO secara topikal terhadap proses penyembuhan luka tekan grade grade I dan II lebih