Membuat Aquarium Cerdas berbasis IoT

Indobot Academy

Dari awal banyak hal yang harus diperhatikan jika kita akan memelihara ikan pada aquarium. Tutorial kali ini kita akan membuat alat yang dapat memantau kadar TDS serta suhu air melalui aplikasi Blynk. Aquarium Cerdas berbasis IoT

[membership level=”0,1,2,4″]

1. Alat / Bahan
  • Arduino IDE                                     Download
  • Library: Blynk                                  Download
  • Library: ESP8266                            Download
  • Library: DS18B20                            Download
  • NodeMCU                                       1 Buah
  • DS18B20 Waterproof                      1 Buah
  • TDS Sensor                                     1 Buah
  • Buzzer                                            1 Buah
  • Resistor 4k7                                    1 Buah
  • Project Board                                  1 Buah
  • Kabel Jumper                                  Secukupnya
  • Smartphone                                     1 Buah

Untuk mendapatkan segera komponen elektronik di atas silahkan temukan disini.

2. Skema Rangkaian

Gambar Rangkaian Membuat Aquarium Cerdas berbasis IoT

Keterangan:

  • VU – VCC DS18B20, VCC TDS
  • GND – GND DS18B20, GND TDS, GND Buzzer
  • A0 – Data TDS
  • D3 – Data DS18B20, (R 4k7 – VU)
  • D4 – (+) Buzzer

[/membership]

3. Layout Blynk

Keterangan:

  • Notifikasi
  • Suhu Air (Gauge)
    • Input V0, Low = 0, High = 100
    • Label = /pin.#/ °C
    • Design Text = Red
  • TDS (Gauge)
    • Input V1, Low = 0, High = 1000
    • Label = /pin./ ppm
    • Design Text = Yellow
4. Langkah Kerja
  1. Pertama siapkan alat dan bahan yang akan digunakan
  2. Kedua lakukan proses wiring dengan menggunakan Gambar skematik rangkaian diatas
  3. Ketiga Buka software Arduino IDE yang telah terinstal pada laptop/komputer
  4. Kemudian Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE selanjutnya pilih Sketch->Include Library->Add.Zip Library 
  5. Kemudian Ketikkan sketch program pada halaman Arduino IDE
  6. Untuk selanjutnya sesuaikan Auth Tokens dengan proyek aplikasi Blynk. Cara setting dan mendapatkan Auth Tokens dapat dilihat pada tutorial berikut:
    Setting Blynk untuk NodeMCU ESP8266
  7. Selanjutnya Ganti ssid dan pass dengan nama wifi dan password wifi yang kalian gunakan
  8. Kemudian Lakukan proses uploading program
  9. Selanjutnya Buka aplikasi Blynk
  10. Seterusnya Buat layout Blynk seperti gambar di atas.
  11. Kemudian Tekan tombol Play pada aplikasi Blynk lalu tunggu hingga proyek kalian terhubung dengan aplikasi Blynk
5. Sketch Program

Maka dapatkan akses ratusan video tutorial dan pembelajaran dengan registrasi melalui tombol di bawah!

 
/* Program Membuat Aquarium Cerdas berbasis IoT dibuat oleh Indobot */

#include //Library ESP8266
#include //Library Blynk

char auth[] = "HoP9z23_PbWp-iEyMBYFGnnALYBvvcXS"; //Token
char ssid[] = "Wifi.id";                          //Nama wifi
char pass[] = "alam oye";                         //Password wifi

BlynkTimer timer;

#include //Library komunikasi one wire
#include //Library sensor
#define ONE_WIRE_BUS 0              //Deklarasi pin komunikasi one wire
#define sensor 0                    //Sensor pada pin D3
OneWire oneWire(ONE_WIRE_BUS);      //Kenalkan pin komunikasi one wire
DallasTemperature Suhu(oneWire);   //Masukkan pada library

int tAir;               //Variabel penampung nilai suhu

#include
float teg[10];
double tds, konduktifitas;
float rata_rata_teg;

#define Buzzer 2

void setup() {
  Blynk.begin(auth, ssid, pass);          //Inisialisasi token, wifi dan password
  timer.setInterval(1000L, sendSensor);   //Kirim data sensor
  Suhu.begin();           //Mulai sensor suhu
  pinMode(Buzzer, OUTPUT);
}

void loop() {
  Blynk.run();                        //Kemudian Jalankan pembacaan Blynk
  timer.run();

  Suhu.requestTemperatures();       //Baca suhu
  tAir =  Suhu.getTempCByIndex(0);  //Masukkan pada variabel

  for ( int i=0; i++){
    int val = analogRead(A0);
    teg[i] = val * (3.3/1023);
  }
  rata_rata_teg = (teg[0] + teg[1] + teg[2] + teg[3] + teg[4] + teg[5] + teg[6] + teg[7] + teg[8] + teg[9])/10 ;
  delay(1000);

  tds = (211.2254 * rata_rata_teg) - 144.1466;
  if(tds 0){
    tds = 0;
  }


  if(tAir  35){
    Blynk.notify("Suhu Air Terlalu Tinggi!");
      alarm();
    }
  }
  if(tds  300){
    Blynk.notify("Air Kolam Keruh!");
    for(int i = 0; i i++){     // Ulang prosedur alarm(); sebanyak 5 kali
      alarm();
    }
  }
}

void sendSensor(){                  //Kirim data sensor
  Blynk.virtualWrite(V0,tAir);
  Blynk.virtualWrite(V1,tds);
}

void alarm(){                         //Prosedur alarm
  digitalWrite(Buzzer, HIGH);         //Nyalakan buzzer
  delay(500);                         //Selama 500 ms
  digitalWrite(Buzzer, LOW);          //Matikan buzzer
  delay(500);                         //Selama 500 ms
}

Kesimpulannya:

Kesimpulannya suhu air dan nilai TDS akan tertampil secara real time pada aplikasi blynk. Jika nilai tersebut melebihi ambang batas yang telah ditentukan pada program maka buzzer akan menyala dan notifikasi akan terkirim ke smartphone.

[/membership]

Dari waktu ke waktu kamu ingin memperbanyak jam terbang dan portofolio bikin project elektronika/ Arduino/ IoT? Ikuti program dari Indobot!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp whatsapp