BAB 3 METODOLOGI PENELITIAN
3.3 Flowchart
Gambar 3.6 Flowchart Sistem Mulai
Kirim data ke node MCU
BAB IV
HASIL DAN PEMBAHASAN
4.1. Hasil penelitian
Sebuah sistem pertanian modern mengandalkan teknologi untuk mendukung produktifitas bercocok tanam dan memaksimalkan kualitas serta waktu panen yang singkat. Rancangan ini dibuat dan direalisasikan untuk itu dan diterapkan pada rumah kaca dengan memanfaatkan teknologi mikrokontroler dan IoT. Sebuah sistem pengairan dan pengaturan kelembaban udara pada rumah kaca telah berhasil dibangun dalam ukuran prototipe. Dengan menggunakan sensor kelembaban sekaligus temperature untuk mendeteksi suhu dan kelembabam ruang rumah kaca maka otomatisasi pengaturan terhadap dua parameter tersebut dapat dilakukan. Pusat kendali dari alat adalah sebuah mikrokontroler Arduino, sedangkan untuk input adalah sensor DHT 11 yaitu mengubah nilai kelembaban dan temperatur ruang menjadi data digital yang diberkan pada mikrokontroler.
Pada bagian output terdapat sebuah pompa air, sebuah mist maker dan sebuah display LCD. Pompa air berfungsi untuk membuat hujan buatan yaitu mengairi dan menurunkan suhu mistmaker atau moisturizer berfungsi meningkatkan kelembaban udara dan display berfungsi untuk menampilkan data hasil deteksi sensor. Sistem dilengkapi dengan fasilitas Internet of things sehingga dapat dipantau dan dikontrol melalui internet. Aplikasi untuk IoT tersebut menggunakan media sosial yaitu Telegram Chat sehingga dapat dengan mudah diakses seperti halnya chatting dengan seseorang. Berikut adalah gambar hasil rancangan dan penelitian yang dilakukan yaitu prototipe sistem rumah kaca dalam ukuran miniatur. Selanjutnya untuk mengetahui kinerja dan fungsi masing-masing bagian akan dilakukan uji coba atau pengukuran terhadap komponen-komponen utama misalnya sensor, mikrokontroler, display dan output serta aplikasi IoT yang digunakan.
Gambar 4.1 Prototipe rumah kaca dalam ukuran miniatur
4.2. Pengujian sistem
4.2.1 Pengujian Rangkaian Catu Daya
Catu daya merupakan sumber daya yang utama untuk menghidupkan sistem pengairan yang dirancang. Nilai tegangan keluaran yang dibutuhkan dari catu daya adalah 5V dan 12V DC. Tegangan 12V diperoleh dari adaptor sedangkan untuk mendapatkan tegangan 5V telah tersedia di board Arduino sebuah regulator an7805.
Regulator digunakan untuk mendapatkan tegangan yang stabil sebagai tegangan masukan pada mikrokontroler. Setelah catu daya dihubungkan pada mikrokontroler kemudian catu daya diukur beberapa kali dan hasilnya seperti yang terlihat pada Tabel 4.1. Nilai tegangan keluaran dari catudaya telah memenuhi nilai tegangan yang dibutuhkan untuk menjalankan mikrokontroler dan komponen lainnya.
Tabel 4.1. Hasil pengukuran Tegangan keluaran catu daya Pengukuran Tegangan 7805 Tegangan Adaptor
1 5,06 V 12,21V
2 5,01V 12,14 V
3 5,02 V 12,17 V
Dari pengukuran diatas yang memberikan nilai yang hamper sama maka dapat dinyatakan bahwa catu daya tersebut telah memenuhi syarat untuk digunakan pada alat dan pengujian catu daya berhasil dilakukan.
4.2.2 Pengujian sensor temperatur dan kelembaban udara
Sensor untuk mendeteksi kelembaban dan temperatur udara adalah sensor dht 11. Sensor merupakan sensor yang memiliki output digital yang telah terkalibrasi, sehingga dalam pengujian ini dilakukan pembacaan sensor dan membandingkan nya dengan alat ukur umum. Untuk menguji sensor tersebut maka harus dibuat program di mikrokontroler kemudian dibaca melalui display LCD. Hasil pengujian sensor kelembaban dan temperatur adalah sebagai berikut.
Tabel 4.2 Hasil pengukuran sensor DHT 11 dengan alat ukur standart.
Waktu Termometer
Tabel diatas merupakan data pengukuran sensor dht 11 dibandingkan dengan pengukuran manual dengan alat ukur standart. Terlihat perbedaan pengukuran tetapi tidak terlalu besar Dengan demikian dapat dikatakan sensor bekerja dengan baik dalam mendeteksi temperatur dan kelembaban udara.
Gambar 4.2 Tampilan perbandingan pengukuran oleh sensor DHT 11 dengan alat ukur standart.
Tabel 4.3 Hasil pengukuran selama 5 hari sensor DHT 11 dengan alat ukur standart.
Hari Waktu Termometer digital(°C)
Humidity meter (%)
Temperatur dht11 (°)C
Kelembaban dht11 (%)
Hari I 12:17 31,1 99% 32,8 91%
Hari II 12:15 32,6 85% 32,8 84%
Hari III 14:39 30,7 84% 31,7 82%
Hari IV 11:30 30,7 86% 31,8 83%
Hari V 12:17 31,5 87% 31,8 90%
Keterangan:
Tabel diatas merupakan data pengukuran selama 5 hari sensor dht 11 dibandingkan dengan pengukuran manual dengan alat ukur standart. Terlihat perbedaan pengukuran tetapi tidak terlalu besar. Dengan demikian dapat dikatakan sensor bekerja dengan baik dalam mendeteksi temperatur dan kelembaban udara. Berikut Tampilan pengukuran selama 5 Hari :
A. Pengujian hari I
Gambar 4.3 Tampilan Hari I perbandingan rancangan alat dengan Alat ukur standart
B. Pengujian hari ke II
Gambar 4.4 Tampilan Hari II perbandingan rancangan alat dengan Alat ukur standart
C. Pengujian hari ke III
Gambar 4.5 Tampilan Hari III perbandingan rancangan alat dengan Alat ukur standart.
D. Pengujian hari ke IV
Gambar 4.6 Tampilan Hari IV perbandingan rancangan alat dengan Alat ukur standart.
E. Pengujian hari ke V
Gambar 4.7 Tampilan Hari V perbandingan rancangan alat dengan Alat ukur standart
4.2.3 Pengujian sistem pompa air.
Pompa air diuji dengan memberi tegangan dan melihat apakah pompa teraebut bekerja atau tidak. Pompa juga diuji dengan melihat jumlah air yang mengalir setiap menit yang dicatat pada sebuah tabel. Berikut ini adalah hasil pengujian pompa air yang digunakan.
Tabel 4.4 Hasil pengujian pompa air Tegangan Kondisi pompa
0V Tidak aktif
3V Tidak aktif
5V Aktif Pelan
12V Aktif normal
Dapat dilihat bahwa pompa hanya bekerja pada tegangan 12V, tegangan 5V pompa aktif pelan dan dibawah 5V pompa tidak dapat bekerja. Berikut adalah pengujian debit air yang dikeluarkan oleh pompa permenit.
Tabel 4.5 Hasil pengujian debit air (L/s).
Volume(liter) Lama waktu (s) Liter/s
2 56 0,035
4.2.4 Pengujian driver/relay mosfet
Pengujian driver mosfet dilakukan untuk melihat apakah driver dan pompa bekerja sesuai dengan yang diinginkan atau tidak. Driver digunakan untuk mengaktifkan pompa yaitu sebagai penguat arus. Tahap pertama pengujian adalah melihat pengaruh tegangan masuk terhadap driver. Hasil pengujian menunjukkan saat diberi tegangan pada gate driver mosfet diatas 3 V akan membuat mosfet menjadi On dan pompa akan aktif. Kemudian saat tegangan dibawah 3V, mosfet akan cut off dan mematikan pompa. Pengujian ini dilakukan dengan Regulator LM317 yang dapat mengatur tegangan 0 hingga 5 Volt sebagai input pada gate mosfet.
Tabel 4.6 Hasil pengujian pengaruh tegangan gate mosfet terhadap pompa.
No Tegangan Gate
Gambar 4.8 Pengujin driver mosfet dengan input 4,94V(High).
4.2.5. Pengujian display LCD M1608
Pengujian LCD menggunakan program yang dibuat khusus untuk menampilkan sebuah pesan pada LCD oleh mikrokontroler. Program dibuat dengan bahasa C, dan dijalankan pada kontroler dgn kondisi terhubung antara kontroler dengan LCD. Berikut adalah program yg dibuat untuk pengujian tersebut.
Init_lcd(16);
while(1) {
lcd_gotoxy(0,0);
lcd_putsf("ALAT PENGATUR");
lcd_gotoxy(0,1);
lcd_putsf("KELEMBABAN RUANG ");
}
Setelah dijalankan pada rangkaian, dan diaktifkan, display akan menampilkan pesan “ALAT PENGATUR KELEMBABAN RUANG” .Dengan tampilan demikian maka pengujian ini dinyatakan berhasil dan bekerja dgn baik. Sehingga display ini dapat diterapkan pada sistem.
Gambar 4.9 Tampilan display LCD.
4.2.6 Pengujian Alat Secara Keseluruhan
Pengujian keseluruhan dilakukan setelah semua komponen berhasil dipasang pada rangkaian utama yaitu mikrokontroler. Pengujian dilakukan dengan cara menjalankan sistem kemudian mengamati fungsi kerja dari sistem selama beberapa waktu. Sistem diprogram untuk melakukan pengaturan secara otomatis berdasarkan jadwal dan kondisi kelembaban udara termasuk pengaturan temperatur udara rumah kaca. Terdapat sebuah sensor temperatur dan kelembaban udara yaitu dht 11 yang dipasang dibagian atas rumah kaca. Output sistem adalah display LCD untik menampilkan nilai sensor. Selain output LCD output lain adalah pompa, lampu pijar dan moisturizer atau alat penaik kelambaban udara. Pengujian alat ini dimulai dari jam 5 pagi yaitu saat subuh sistem mulai diaktifkan dan berakhir pada jam 18:30 sore. Data yang dicatat adalah jika mengalami perubahan. Saat sistem diaktifkan program akan mulai bekerja pada mikrokontroler yaitu manampilkan pesan pada display LCD kemudian menampilkan nilai sensor dht 11 yaitu temperatur dan kelembaban udara.
Saat terjadi perubahan temperatur atau kelembaban udara mikrokontroler akan merespon dengan mengaktifkan sistem pompa atau alat moisturizer hingga keadaan normal kembali. Tabel 4.6 menunjukkan hasil pengujian yang dilakukan dari pagi hingga sore. Setiap perubahan dicatat jam-menitnya kemudian data sensor dan outputnya. Demikian lah hasil uji secara keseluruhan dengan hasil seperti tabel berikut ini dan hasil uji akhir dinyatakan berhasil karena telah bekerja sesuai program yang dibuat.
Tabel 4.7 Tabel hasil pengujian secara keseluruhan.
Dari tabel pengujian diatas dapat dilihat bahwa temperature dan kelembaban berubah-ubah berdasarkan waktu dan sistem kontrol berusaha menetralkan kembali jika kondisi sensor diluar setpoint. Pada rancangan ini setpoin suhu diatur pada 28°C - 31°C dan kelembaban pada 60%-70%. Saat kelembaban dibawah 60% alat moisturizer akan aktif dan uap akan keluar dari atas dengan ditandai lampu biru (gambar 4.5). Saat kelembaban sudah diatas 70% moisturizer akan mati dengan lampu merah aktif (gambar 4.6).
Gambar 5.0. Kondisi aktif alat moisturizer saat kelembaban udara dibawah
60%.
Gambar 5.1 Kondisi non aktif alat moisturizer saat kelembaban diatas 70%.
Tampilan display LCD akan memberikan nilai temperatur dan kelembaban yang terbaca oleh sensor dht 11. Gambar 4.7 displat LCD menampilkan kondisi sensor pada jam 15:07 dimana temperatur cukup tinggi. Saat ini pompa air akan aktif melakukan pengairan atau hujan buatan agar temperatur kembali normal.
Gambar 5.2 Tampilan display LD pada jam 15:07.
Pada saat jam 5:00 pagi temperatur cukup rendah yaitu dibawah 28°C dan kelembaban dibawah 69%. Kondisi ini membuat mikrokontroler mengaktifkan lampu pijar dan moisturizer agar Kondisi ruang rumah kaca dapat netral kembali sesuai setpoin.
Gambar 5.3 Kondisi lampu pijar dan moisturizer aktif pada jam 5 pagi.
Gambar 5.4 Tampilan pada Telegram
Gambar diatas menunjukan hasil pemantauan melalui telegram dimulai dari saat belum terdeteksi temperatur dan kelembapan, data temperature dan kelembapan dikrim ke telegram. Data di atas terkirim secara terus menerus saat ada perintah ON yang terhubung secara IoT. Pengujian diatas merupakan respon telegram terhadap monitoring kelembapan dan temperature.
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
1. Sistem pengontrol suhu dan kelembaban tanaman Palawija dapat dibuat dengan komponen elektronik seperti sensor suhu, sensor kelembaban yang didukung oleh sebuah mikrokontroler AVR serta beberapa output lainnya sebagai plant untuk pengaturan suhu dan kelembaban misalnya lampu pijar, pompa air dan alat moisturizer. Rancangan ini menggunakan sensor DHT 11 untuk deteksi suhu sekaligus kelembaban udara, sedangkan mikrokontroler yang digunakan adalah ATMEGA 8535.
2. Rancang bangun pengontrol suhu dan kelembapan pada tanaman palawija berbasis nodemcu dengan aplikasi telegram dibuat pada sebuah miniatur rumah kaca dimana rangkaian dirakit pada sebuah PCB dan dapat mengontrol suhu dan kelembapan pada tanaman palawija
3. Komunikasi untuk Internet of things dapat dirancang dengan menggunakan node MCU V3 yaitu adapter yang menghubungkan sistem dengan internet menggunakan wifi. Aplikasi IoT yang digunakan adalah Telegram untuk memantau dan mengontrol sistem dari jarak jauh.
5.2 Saran
1. Dibutuhkan penelitian dan pengembangan lebih lanjut agar rancang bangun pengontrol suhu dan kelembapan pada tanaman palawija berbasis nodemcu dengan aplikasi telegram ini dapat diaplikasikan pada budidaya tanaman palawija dalam skala besar.
2. Dibutuhkan wifi atau jaringan yang stabil agar saat pengiriman data dan pengontrolan dengan apalikasi telegram berjalan dengan baik.
3. Rancang bangun pengontrol suhu dan kelembapan pada tanaman palawija berbasis nodemcu dengan aplikasi telegram ini pengontrolan suhu dan kelembapan yang diambil sebagai parameter utama dalam sistem pemantauan tanaman pada rumah tanaman ini. Untuk kedepannya akan lebih baik jika
parameter dan kinerja alat tidak hanya suhu dan kelembaban tanah melainkan ada penambahan pada PH air, serta sensor sensor lain yang dapat menoptimalkan kinerja sistem dan pengambilan data dapat menyeluruh.
DAFTAR PUSTAKA
Budiharto, W., & Jefri, T. (12). Proyek Sistem Akuisisi Data. PT Elex Media Komputindo, Jakarta.
Engel, V. J. L., Angela, D., Suakanto, S., & Hutagalung, M. (2016). Model inferensi konteks internet of things pada sistem pertanian cerdas. Jurnal Telematika, 11(2), 6.
Kurniawan, R., & Wijaya Kurniawan, R. M. (2019). Prototype Rancang Bangun Sistem Cerdas Pengatur Otomasi Suhu, Kelembaban, dan Sirkulasi Udara Pada Greenhouse Menggunakan Metode Fuzzy logic. Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN, 2548, 964X
Nur, H. C., Hafsah, H., & Adhika, N. (2011). Sistem Humidifier Dan Temperaturizer Digunakan Dalam Penyiraman Otomatis Tanaman. Telematika, (18).
Priyono, N. (2017). Sistem Peringatan Dini Banjir Berbasis Protocol MQTT Menggunakan NodeMCU ESP8266 (Doctoral dissertation, STMIK AKAKOM Yogyakarta).
Prayitno, W. A., Muttaqin, A., & Syauqy, D. (2017). Sistem Monitoring Suhu, Kelembaban, dan Pengendali Penyiraman Tanaman Hidroponik menggunakan Blynk Android. Jurnal Pengembangan Teknologi Informasi dan Ilmu
Komputer e-ISSN, 2548, 964X.
Rachman, F. Z. (2015, May). Prototype development of monitoring system in patient infusion with wireless sensor network. In 2015 International Seminar on Intelligent Technology and Its Applications (ISITIA) (pp. 397-402). IEEE Samsugi, S., & Burlian, A. (2019). Sistem penjadwalan pompa air otomatis pada
aquaponik menggunakan mikrokontrol Arduino UNO R3. PROSIDING SEMNASTEK 2019, 1(1).
Sastrawangsa, G. (2017). Pemanfaatan Telegram Bot Untuk Automatisasi Layanan Dan Informasi Mahasiswa Dalam Konsep Smart Campus. E-Proceedings KNS&I STIKOM Bali, 772-776.
S. Wahono, S. Sugiyanto, and E. Yohana. 2014. "Eksperimen Pengaturan Suhu Dan Kelembaban Pada Rumah Tanaman (Greenhouse) Dengan Sistem Humidifikasi," Jurnal Teknik Mesin.
Setyawan, A. B. (2018). Sistem Monitoring Kelembaban Tanah, Kelembaban Udara Dan Suhu Pada Lahan Pertanian Menggunakan Protokol MQTT (Doctoral dissertation, Universitas Brawijaya).
Sumarno, I. 2015, Cara Tekno, Tersedia dalam:
https://www.caratekno.com/2015/07/pengertianarduino-uno- mikrokontroler.html diakses 22 febuari 2020
Syahban, R. 2011, Mikrokontroler ATMEL AVR (ISIS Proteus dan CodeVisionAVR) + CD ,Penerbit : INFORMATIKA, Jakarta.
Zakaria, A.K. 2016. Kebijakan Antisipatif dan Strategi Penggalangan Petani Menuju Swasembada Jagung Nasional. Analisis Kebijakan Pertanian.
LAMPIRAN
Kode program dengan CV AVR versi 3.27
#include <io.h>
void Request() /* Microcontroller send start pulse/request */
{
DDRC |= (1<<DHT11_PIN);
PORTC &= ~(1<<DHT11_PIN); /* set to low pin */
delay_ms(20); /* wait for 20ms */
PORTC |= (1<<DHT11_PIN); /* set to high pin */
}
void Response() /* receive response from DHT11 */
{
unsigned int Receive_data() /* receive data */
{int q;
for (q=0;q<8;q++) {
while((PINC & (1<<DHT11_PIN)) == 0); /* check received bit 0 or 1 */
delay_us(30);
if(PINC & (1<<DHT11_PIN))/* if high pulse is greater than 30ms */
c = (c<<1)|(0x01); /* then its logic HIGH */
Response(); /* receive response */
I_RH=Receive_data()/366; /* store first eight bit in I_RH */
D_RH=Receive_data()/366; /* store next eight bit in D_RH */
I_Temp=Receive_data(); /* store next eight bit in I_Temp */
D_Temp=Receive_data()/100; /* store next eight bit in D_Temp */
CheckSum=Receive_data();/* store next eight bit in CheckSum */
}
void main(void) {
// Input/Output Ports initialization // Port A initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);
// Port B initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRB=(1<<DDB7) | (1<<DDB6) | (1<<DDB5) | (1<<DDB4) | (1<<DDB3) | (1<<DDB2) | (1<<DDB1) | (1<<DDB0);
// State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (1<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
// Port C initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);
// Port D initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=In Bit0=In
DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3) | (1<<DDD2) | (0<<DDD1) | (0<<DDD0);
// State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=T Bit0=T
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
// USART initialization // USART Baud Rate: 9600
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
UBRRH=0x00;
UBRRL=0x47;
// Bit-Banged I2C Bus initialization i2c_init();
// Alphanumeric LCD initialization lcd_init(16);
lcd_puts(buf);
lcd_putchar('.');
sprintf(buf,"%i",D_Temp);
lcd_puts(buf);
if (M == 0) {
if (I_Temp <= 28){Lampu=1;}
if (I_Temp >= 31){Lampu=0;}
if (I_RH <= 60 || I_Temp >= 31 ){Pompa=1;delay_ms(2000);Pompa=0;}
if (I_RH <= 60 && S==0){Hum=0;delay_ms(300);Hum=1;S=1;}
if (I_RH >= 70 && S==1){Hum=0;delay_ms(300);Hum=1;S=0;}
}
if ((UCSRA & (1<<RXC))){Data = UDR;lcd_init(16);
if (Data ==
if (Data == 'P'){Pompa=1;lcd_clear();lcd_putsf(" IoT PUMP ON");
delay_ms(1000);}
if (Data == 'p'){Pompa=0;lcd_clear();lcd_putsf(" IoT PUMP OFF");
delay_ms(1000);}
i
f (Data == 'L'){Lampu=1;lcd_clear();lcd_putsf(" IoT LAMP ON"); delay_ms(1000);}
if (Data == 'l'){Lampu=0;lcd_clear();lcd_putsf(" IoT LAMP OFF");
delay_ms(1000);}
if (Data == 'M'){M=1;lcd_clear();lcd_putsf(" MANUAL MODE");
delay_ms(1000);}
if (Data == 'm'){M=0;lcd_clear();lcd_putsf(" AUTO MODE");
delay_ms(1000);}
Data=0;
} delay_ms(2000);
} }
KODE PROGRAM DENGAN ARDUINO IDE VERSI 1.8.13.
char ssid[] = "IoT";
char password[] = "12345678";
#defineBOTtoken "1872624928:AAFsd4A3Ug8kuPB1Kdtm_wBZbLV5p3AwDtE";
int Bot_mtbs = 100; //mean time between scan messages long Bot_lasttime; //last time messages' scan has been done bool St;
String chat_id ;
String text = bot.messages[i].text;
String Operator = " ";
void handleNewMessages(int numNewMessages) { for (int i=0; i<numNewMessages; i++) {
String chat_id = String(bot.messages[i].chat_id);
Operator = chat_id;
String text = bot.messages[i].text;
Serial.print("Chat received");
if (text == "/cek_sensor") {Cek_sensor();}
if (text == "/pompa_on") {MySerial.print('P');bot.sendMessage(Operator, "Pompa telah aktif ", "");}
if (text == "/pompa_off") {MySerial.print('p');bot.sendMessage(Operator, "Pompa telah non aktif ", "");}
if (text == "/moisture_on") {MySerial.print('H');bot.sendMessage(Operator,
"Moisture telah aktif ", "");}
if (text == "/moisture_off") {MySerial.print('h');bot.sendMessage(Operator,
"Moisture telah non aktif ", "");}
if (text == "/lampu_on") {MySerial.print('L');bot.sendMessage(Operator, "Pemanas telah aktif ", "");}
if (text == "/lampu_off") {MySerial.print('l');bot.sendMessage(Operator, "Pemanas telah non aktif ", "");}
if (text == "/manual_mode") {MySerial.print('M');bot.sendMessage(Operator,
"Mode manual aktif ", "");}
if (text == "/auto_mode") {MySerial.print('m');bot.sendMessage(Operator, "Mode otomatis aktif ", "");}
} }
void Cek_sensor() {
if(I_RH < 60& I_Temp < 28){
Data = "Kelembaban ruang : ";
Data += I_RH;
int Integer_value(){
while (WiFi.status() != WL_CONNECTED) { Serial.print(".");
bot.sendMessage(Operator, "System Online", "");
}
void loop() {
if (WiFi.status() != WL_CONNECTED) { delay(1);
if (millis() > Bot_lasttime + Bot_mtbs) {
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
//delay(100);
while(numNewMessages) { Serial.println("got response");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
if(I_RH <= 60){ bot.sendMessage(Operator, "Terdeteksi Kelembaban terlalu rendah", "");delay(2500);Cek_sensor();}
if(I_RH > 70 && I_RH < 100){ bot.sendMessage(Operator, "Terdeteksi Kelembaban terlalu tinggi", ""); delay(2500);Cek_sensor();}
if(I_Temp <= 28 ){ bot.sendMessage(Operator, "Terdeteksi Temperatur terlalu rendah", "");delay(2500);Cek_sensor();}
if(I_Temp > 31 &){ bot.sendMessage(Operator, "Terdeteksi Temperatur terlalu tinggi", ""); delay(2500);Cek_sensor();}
Bot_lasttime = millis();
}
while (MySerial.available()) {ID = MySerial.read();
if( ID == 'H')
{
I_RH = Integer_value();
D_RH = Integer_value();
if (I_RH > 70{I_RH = 60;}
I_Temp = Integer_value();
D_Temp = Integer_value();
if (I_Temp > 31{I_Temp = 31;}
Serial.print(I_RH);Serial.print(" "); Serial.print(D_RH);S erial.print(" ");
Serial.print(I_Temp); Serial.print(" "); Serial.println(D_Temp);
counter++;
if(counter >= 31){Cek_sensor();counter=0;Serial.print("sending...");}
} }
Lampiran 2: Gambar
1. Rangkaian Lengkap
2. Gambar Alat
- Gambar Alat Keseluruhan
2GND VSS VDD VEERS RWE D0 D1D2D3 D4D5 D6D7
- Gambar Alat Keseluruhan Tampak Depan