BAB III PERANCANGAN ALAT 3.1 Gambaran Umum Rancang Bangun Prototype Monitoring dan Kendali Pada Rumah Menggunakan ESP 8266 (wemos) ini terdiri dari dua perancangan, yaitu perancangan perangkat keras meliputi perancangan alat dan perancangan perangkat lunak source code wemos ESP 8266. Secara garis besar alat ini berfungsi sebagai sistem kendali pada rumah menggunakan smartphone. 3.2 Diagram Blok Pada perancangan alat sistem monitoring dan kendali pada rumah menggunakan ESP 8266 (wemos) menggunakan sensor yaitu sensor DHT 11 untuk sistem kipas otomatis dan sebuah smartphone untuk mengendalikan pompa air, Lampu, dan stop kontak. Gambar 3.1 menunjukkan diagram blok sistem. Gambar 3.1. Diagram Blog Sistem 35
36 Fungsi dari tiap blok dalam diagram adalah sebagai berikut : 1. Sensor DHT 11: Berfungsi untuk megetahui suhu dan kelembapan pada ruangan sekitar. 2. Mikrokontroller ESP 8266 (wemos) : berfungsi sebagai pusat pengolahan data yang menghubungkan input sensor dan smartphone. 3. Data digital dari mikrokontroller tersebut akan diubah menjadi objek / informasi oleh server Blynk, objek / informasi tersebut kemudian dikirim kembali kepada smartphone pengguna yang berbasis android melalui APP Blynk via internet 4. Driver Transistor : berfungsi sebagai sakelar untuk menggerakan kipas, pompa air, lampu dan stop kontak, sesuai perintah mikrokontroller ESP 8266 (wemos). 5. Fan (kipas) 12 volt: Berfungsi sebagai output keluaran dari printah mikrokontroller ESP 8266 (wemos) sesuai data yang di dapat dari sensor DHT 11. 6. Lampu : Berfungsi sebagai output keluaran dari printah smartphone. 7. Stop Kontak : Berfungsi sebagai output keluaran dari printah smartphone 8. Pompa air : Befungsi sebagai output keluaran dari perintah smartphone.
37 3.3 Perancangan Hardware Perancangan Sistem Hardware monitoring dan kendali pada rumah menggunakan Sensor DHT 11. Pertama adalah menghubungkan ESP 8266(wemos) dengan sensor. Sensor yang digunakan adalah Sensor DHT 11. Gambar 3.2 Menghubungkan Sensor dengan wemos ESP 8266 Pada Gambar 3.2 terlihat bahwa sensor DHT 11 pada posisi pin digital output sensor dihubungkan ke pin D7 wemos ESP8266. Pin Ground sensor dihubungkan ke Ground wemos ESP8266, begitu juga dengan pin Vin sensor dihubungkan dengan pin VCC 3.3 Volt pada wemos ESP8266. Selanjutnya adalah menghubungkan Driver Transisitor pada wemos ESP 8266 dan kipas. Gambar 3.3 Driver transistor terhubung wemos ESP 8266 dan Fan
38 Dari Gambar 3.3 input data driver transistor dihubungkan ke pin D6 wemos ESP 8266. Tegangan 12 volt di hubungkan ke fan. Tegangan 12 volt di dapat dari tegangan power suplay. Setelah menghubungkan driver transistor pada kipas ke wemos ESP 8266, selanjutnya adalah menghubungkan driver transistor pada pompa air ke wemos ESP 8266. Gambar 3.4 menunjukkan pin yang dihubungkan ke wemos ESP 8266. Gambar 3.4 Driver transistor terhubung ke wemos dan pompa air Pada driver transistor dihubungkan ke pin D4 wemos ESP 8266. Tegangan 5 volt di hubungkan ke pompa air. Tegangan 5 volt di dapat dari pin output wemos ESP 8266. Selanjutnya adalah menghubungkan Driver Transisitor dan relay ke wemos ESP 8266 dan Stop kontak.
39 Gambar 3.5 Driver transistor dan relay terhubung wemos ESP 8266 dan Stop kontak Dari Gambar 3.5 input data driver transistor dan relay dihubungkan ke pin D3 wemos ESP 8266. Tegangan 12 volt di hubungkan ke relay. Tegangan 12 volt di dapat dari tegangan power suplay. Untuk tegangan pada stop kontak di berikan teganagan sebesar 220 volt. Setelah menghubungkan driver transistor dan relay pada stop kontak ke wemos ESP 8266, selanjutnya adalah menghubungkan driver transistor dan relay pada lampu ke wemos ESP 8266. Gambar 3.6 menunjukkan pin yang dihubungkan ke wemos ESP 8266. Gambar 3.6 Driver transistor dan relay terhubung ke wemos dan lampu
40 Pada driver transistor dan relay dihubungkan ke pin D2 wemos ESP 8266. Tegangan 12 volt di hubungkan ke relay. Tegangan 12 volt di dapat dari power suplay. Untuk tegangan pada lampu di berikan tegnagan 220 volt. 3.4 Perancangan Program wemos ESP 8266 Setelah melakukan perancangan hardware, selanjutnya adalah melakukan perancangan software. Pemrograman software menggunakan aplikasi IDE (Integrated Development Environment) arduino 1.6.9. Berikut ini adalah flowchart dari pemrograman Rancang Bangun Prototype monitoring dan kendali pada rumah menggunakan ESP 8266 (wemos). Gambar 3.7 Flowchart Pemrograman
41 Secara garis besar flowchar monitoring dan kendali pada rumah dapat diberikan gambaran sebagai berikut: Mikrokontroller Wemos ESP 8266 akan membaca data yang telah dikirimkan oleh Server Cloud Blynk. Data tersebut berisi tentang adanya perintah untuk memutuskan atau menyambungkan arus listrik kepada Pompa air, Lampu, dan stop kontak sehingga dapat mematikan ataupun menghidupkan pompa air, lampu, dan stop kontak tersebut. Setelah data di terima maka mikrokontroller wemos ESP 8266 akan memberikan sinyal menyala atau tidak kepada transistor driver untuk menggerakan pompa air, lampu dan stop kontak. Pada saat yang bersamaan mikrokontroller wemos ESP 8266 akan membaca dan memproses data-data tentang Suhu, Kelembapan pada lingkungan sekitarnya. Apabila suhu lebih dari 33 0 celcius maka kipas akan menyala, apabila suhu kurang dari 33 0 celcius maka kipas tidak akan menyala. Mikrokontroller Wemos ESP 8266 akan mengirimkan data-data tersebut kembali kepada Server Cloud Blynk. Selesai mikrokontroller Wemos ESP 8266 mengirimkan data kepada Server Cloud Blynk. Mikrokontroller Wemos ESP 8266 akan kembali menunggu perintah dari Server Cloud Blynk.
42 3.4.1 Program Monitoring dan Kendali Pada Rumah Menggunakan Sofware Arduino 1.6.9 Program monitoring dan kendali pada rumah menggunakan software arduino 1.6.9, sebelum memprogram terlebih dahulu menginstal board wimos ESP 8266, setelah terinstal program harus ditambahkan dengan library yang sudah tersedia, yaitu BlynkSimpleEsp8266.h, SimpleTimer.h dan DHT.h. program untuk memasukkan library tersebut adalah #include <BlynkSimpleEsp8266.h>, #include <SimpleTimer.h>, #include "DHT.h". Selanjutnya memasukan nomor token pada aplikasi Blynk yang sudah terinstal pada handphone ke program yang di telah buat. // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "68d34882c1d1449bb8dce94d5716205a"; Setelah itu pada void setup() di masukan nama jaringan hotspot wi-fi dan password wi-fi apabila memilikinya. void setup() Blynk.begin(auth, "123", "siswadi123"); //insert here your SSID 123 and password siswadi123
43 Berikut ini program monitoring dan kendali pada rumah : #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <SimpleTimer.h> #include "DHT.h" #define BLYNK_PRINT Serial #define DHTPin D7 // Comment this out to disable prints and save space //#define lampu D0 // di define D0, di tombol blynk D2, kenyataannya PIN wemos di D0 //#define stopkontak D1 //di define D1, di tombol blynk D3, kenyataannya PIN wemos di D1 #define kipas D6 // di define D6, di tombol blynk D6, kenyataannya PIN wemos di D6 //#define pompa D2 //di define D2, di tombol blynk D4 kenyataannya PIN wemos di D2 // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "68d34882c1d1449bb8dce94d5716205a"; #define DHTTYPE DHT11 // DHT 11 float suhu, kelembapan; // the timer object SimpleTimer timer; // Initialize DHT sensor. DHT dht(dhtpin, DHTTYPE); // This function sends Arduino's up time every second to Virtual Pin (10). // In the app, Widget's reading frequency should be set to PUSH. This means
44 // that you define how often to send data to Blynk App. void senduptime() { // You can send any value at any time. // Please don't send more that 10 values per second. Blynk.virtualWrite(9, suhu); // virtual pin 10 Blynk.virtualWrite(10, suhu); // virtual pin 10 Blynk.virtualWrite(11, kelembapan); // virtual pin 10 } void setup() { Serial.begin(9600); // See the connection status in Serial Monitor Blynk.begin(auth, "123", "siswadi123"); //insert here your SSID and password dht.begin(); Serial.println("DHTxx test!"); //pinmode(stopkontak, OUTPUT); pinmode(kipas, OUTPUT); //pinmode(pompa, OUTPUT); } // Setup a function to be called every second timer.setinterval(1000, senduptime); void loop() { Blynk.run();// Initiates Blynk timer.run(); // Initiates SimpleTimer
45 // Read humidity kelembapan = dht.readhumidity(); Serial.print("Pembacaan Kelembapan Lingkungan = "); Serial.print(kelembapan); Serial.println(" Rho"); // Read Temperature suhu = dht.readtemperature(); Serial.print("Pembacaan Suhu Lingkungan = "); Serial.print(suhu); Serial.println(" Celcius"); if (suhu >= 33) { digitalwrite(kipas, HIGH); delay(100); } else { digitalwrite(kipas, LOW); } Serial.println(); Serial.println(); Serial.println(); delay(100); }
46 3.4.2 Pemrograman pada aplikasi Blynk Pemograman pada aplikasi Blynk menjadi beberapa tahap,pertama masukan alamat email ke aplikasi Blynk, setelah masuk akan mendapatkan pemberitahuan nomor token Blynk. Nomer token ini akan di masukan kedalam program wemos ESP8266 Gambar 3.8 Nomor token Blynk
47 Selanjutnya masuk ke New Projek dan tuliskan nama projek yang dinginkan, setelah masuk ke new projek tombol + (widget Box) kita bisa memilih fiktur kontrol yang di inginkan. Gambar 3.9 New Projek Blynk Gambar 3.10 Widget Box Setelah memilih kontrol pada widget box, berikut tampilan kontrol pada system momitoring dan kendali pada rumah. Gambar 3.11 Tampilan Projek
48 Selanjutnya masukan data ke setiap Kontrol yang ada pada tampilan projek. Data push button untuk lampu, stop kontak, dan pompa air : /#define lampu D2 // di define D2, di tombol blynk D2, kenyataannya PIN wemos di D0 //#define stopkontak D1 //di define D1, di tombol blynk D3, kenyataannya PIN wemos di D1 //#define pompa D3 //di define D3, di tombol blynk D4 kenyataannya PIN wemos di D2 Gambar 3.12 Button setting stop kontak, lampu dan pompa air Data virtual pada suhu ruangan, suhu, dan kelembapan Blynk.virtualWrite(9, sruhu); Blynk.virtualWrite(10, suhu); Blynk.virtualWrite(11, kelembapan);
49 Gambar 3.13 Grapik setting suhu ruangan, value display setting kelembapan dan suhu.