Membuat Aquarium berbasis IoT

Kali ini kita akan membuat akuarium cerdas berbasisi IoT, Seperti yang kita ketahui bersama bahwa dalam akuarium banyak yang harus kita perhatikan, Terutama air, pemebrian pakan.

 Tutorial kali ini kita akan membuat alat yang dapat memantau kadar TDS serta suhu air melalui aplikasi Blynk.

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

Langsung saja kita buat projernya, akan tetapi persiaplan dulu alat dan bahan di bawah ini..

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

Untuk mendapatkan komponen elektronik di atas silahkan temukan disini.

2. Skema Rangkaian


3. Layout Blynk



4. Buat Layout Blink Seperti gambar di atas
5. Sketch Program
6. Kemudia Salin Kode di bawah ini, masukan ke Arduino IDE dan upload, Namun juka terjadi error maka perhatikan library kodenya sudah terupload apa belum

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

#include <ESP8266WiFi.h>              //Library ESP8266
#include <BlynkSimpleEsp8266.h>       //Library Blynk

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

BlynkTimer timer;

#include <OneWire.h>                //Library komunikasi one wire
#include <DallasTemperature.h>      //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 <Wire.h>
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();                        //Jalankan pembacaan Blynk
  timer.run();

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

  for ( int i=0; i<10; 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!");
    for(int i = 0; i < 5; i++){     //Ulang prosedur alarm(); sebanyak 5 kali
      alarm();
    }
  }
  if(tds > 300){
    Blynk.notify("Air Kolam Keruh!");
    for(int i = 0; i < 5; 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
}



Selmat kita sudah selesai membuat projec IoT sederhana yaitu Samart Akuarium

Post a Comment

أحدث أقدم