Anda di halaman 1dari 9

LAPORAN TUGAS MICROCONTROLLER II

MEMBUAT ALAT DETEKSI CUACA DAN BANJIR DENGAN


THINGSPEAK

DISUSUN OLEH :

FARDAN ANDRI PUTRA | SKS – 19.2

888740101190123

PROGRAM STUDI S1 – SISTEM KOMPUTER SORE


UNIVERSITAS STEKOM SEMARANG
2022
Alat dan bahan yang diperlukan :
1. ESP8266
2. Sensor air hujan
3. Sensor ultrasonic
4. Kabel jumper
5. Aplikasi arduino IDE untuk membuat program

1. Rangkaian alat dteksi hujan dan banjir

a. ESP8266 pin G => pin GND control board sensor hujan dan pin GND sensor
ultrasonic
b. ESP8266 pin 5v => pin VCC control board sensor hujan dan pin VCC sensor
ultrasonic
c. ESP8266 pin AO => pin AO control board sensor hujan
d. ESP8266 pin D6 => pin ECHO sensor ultrasonic
e. ESP8266 pin D7 => pin TRIG sensor ultrasonic
2. Setelah merakit lalu membuat thinkspeak, pada bagian channel isi data yang diperlukan
lalu save channel
3. Ambil write API key salin keprogram arduino IDE
4. Buka aplikasi arduino

5. Lalu ketikan program seperti dibawah, sesuaikan host, writeAPIKey


#include <ESP8266WiFi.h>

WiFiClient client;

//Connection Config
String ssid = " "; //Nama Hostpot
String pass = " "; //Kosongi bila tanpa password

//ThingSpeak Config
String host = " ";
String writeAPIKey = " "; //Ganti API Key di Channel Masing Masing
String request_string;

//Config Jarak Ultrasonic


int trig = D7; // membuat varibel trig yang di set ke-pin D6
int echo = D6; // membuat variabel echo yang di set ke-pin D7
long durasi, jarak; // membuat variabel durasi dan jarak
//Config Sensor Air Hujan
int pinhujan = A0;
int nilaihujan;

void setup() {
Serial.begin(115200);
WiFi.disconnect();
WiFi.begin(ssid, pass);
while ((!(WiFi.status() == WL_CONNECTED))) {
delay(300);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());

pinMode(trig, OUTPUT); // set pin trig menjadi OUTPUT


pinMode(echo, INPUT); // set pin echo menjadi INPUT

pinMode (pinhujan, INPUT);


}

void baca_sensor_ultrasonik() {
digitalWrite(trig, LOW);
delayMicroseconds(8);
digitalWrite(trig, HIGH);
delayMicroseconds(8);
digitalWrite(trig, LOW);
delayMicroseconds(8);
durasi = pulseIn(echo, HIGH); // menerima suara ultrasonic
jarak = (durasi / 2) / 29.1;
Serial.println("");
Serial.print("Tinggi Air: ");
Serial.print(jarak);
Serial.println(" Cm Dari Permukaan");
}

void baca_sensor_hujan() {
nilaihujan = analogRead(pinhujan);
Serial.print("Curah Hujan: ");
Serial.println(nilaihujan);
Serial.println("");
}

void kirim_data_thingspeak() {
if (client.connect(host, 80))
{
request_string = "/update?key=" + writeAPIKey
+ "&field1=" + jarak
+ "&field2=" + nilaihujan;

Serial.println(String("GET ") + request_string + " HTTP/1.1\r\n" +


"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
client.print(String("GET ") + request_string + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
unsigned long timeout = millis();

while (client.available() == 0)
{
if (millis() - timeout > 5000)
{
Serial.println(">>> Client Timeout !");
client.stop();
return;
}
}

while (client.available())
{
String line = client.readStringUntil('\r');
Serial.print(line);
}

Serial.println();
Serial.println("Closing connection");
}

}
void loop() {
baca_sensor_ultrasonik();
baca_sensor_hujan();
delay(10000);
kirim_data_thingspeak();
delay(2000);
}

6. Cek dahulu untuk penulisan kode program dengan cara pilih verify tunggu hingga selesai
tanpa eror

7. Sebelum upload pilih tools bagian board dan port disesuaikan dengan board dan port yang
digunakan. Contoh menggunakan board ESP8266 dengan port COM3. Selanjutnya
upload program ke ESP8266 pilih upload tunggu sampai proses selesai
8. Selamat mencoba

Anda mungkin juga menyukai