Album Ke-4 Dewa-19 (BAB IV)
Album Ke-4 Dewa-19 (BAB IV)
4.1 Perangkat
pada perangkat keras dan perangkat lunak. Kebutuhan perangkat keras yaitu
kebutuhan perangkat atau komponen yang dibutuhkan pada sistem dan perangkat
keras yang digunakan pada Monitoring Suhu Ruangan Peternakan Ayam Potong
utama perangkat serta menjadi indera bagi perangkat agar dapat berfungsi dengan
perangkat lunak yang dapat mengubah perangkat keras untuk bekerja sesuai
pengembangan perangkat:
4.2 Implementasi
berdasarkan hasil analisis dalam bahasa yang dapat dimengerti oleh mesin, serta
pengontrolan dari sistem ini, ESP-32 juga sebagai perangkat yang mengambil data
dari firebase database karena memiliki modul Wi-Fi yang tertanam di dalamnya.
DHT-22 sebagai pendeteksi Suhu dan Kelembaban yang ada pada prototype
kandang dan dijadikan acuan untuk kinerja sistem. Relay yang digunakan
berjumlah 3 yang berfungsi menyalakan lampu dan kipas untuk menaikkan dan
informasi langsung pada user tentang suhu dan kelembaban yang didapatkan oleh
sensor.
dan sebagai penghubung data antara android dan ESP-32, sebagai berikut:
Database firebase adalah sebuah database yang hanya dapat diakses secara
online, firebase berguna untuk menyimpan data secara real-time. Pada gambar 4.4
dapat dilihat nama database yang digunakan adalah ACControl, yang memiliki
menutup relay yang mengatur kipas pada prototype kandang, Child stat_lampu
digunakan untuk membuka dan menutup relay yang mengatur lampu pada
prototype kandang, Child kelembaban dan suhu adalah data yang dikirim dari
sensor DHT-22 sebagai datasuhu dan kelembaban yang terbaca, Child mode
mengatur apakah prototype kendang berjalan secara otomatis atau manual bila
mode bernilai 0 maka prototype kendang berjalan secara manual dan bila bernilai
merupakan tampilan awal pada sebuah apliksi android yang digunakan pada
dari prototype kendang. Pada tampilan ini terdapat dua buah tombol yaitu untuk
mengaktifkan mode manual atau otomatis. Tampilan otomatis akan terlihat pada
dalam kondisi mati, apabila user menekan tombol komponen dan menyalaknnya
yang dituliskan sesuai dengan fungsi dari alat tersebut. ESP-32 memiliki program
pengolah data dari sensor DHT-22 yang kemudian diteruskan ke firebase melalui
if(sen_suhu<27){
Firebase.setString("/stat_kipas1/stat_kipas1", "0");
Firebase.setString("/stat_kipas2/stat_kipas2", "0");
Firebase.setString("/stat_lampu/stat_lampu", "1");
delay(100);
digitalWrite(relay_kipas1, relayOFF);
digitalWrite(relay_kipas2, relayOFF);
digitalWrite(relay_lampu, relayON);
}
}
void manual(){
if(lam=="0"){
digitalWrite(relay_lampu, relayOFF);
}else if(lam=="1"){
digitalWrite(relay_lampu, relayON);
}
if(kip=="0"){
digitalWrite(relay_kipas1, relayOFF);
}else if(kip=="1"){
digitalWrite(relay_kipas1, relayON);
}
if(kip2=="0"){
digitalWrite(relay_kipas2, relayOFF);
}else if(kip2=="1"){
digitalWrite(relay_kipas2, relayON);
}
}
void tampil_lcd(){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu : ");
lcd.print(String(sen_suhu));
lcd.print(" 'C");
lcd.setCursor(0, 1);
lcd.print("Kel : ");
lcd.print(String(sen_kelem));
lcd.print(" %");
}
informasi juga membutuhkan program yang dituliskan sesuai dengan fungsi yang
refsuhu.addValueEventListener(new ValueEventListener() {
@Override
refkipas2.child("stat_kipas2").setValue(""+0);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
}
}
//tambahan kalau database dapat error biiar gampang
trace error databasenya
refmode.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(final DataSnapshot
dataSnapshot) {
Map<String,Object> map = (Map<String, Object>)
dataSnapshot.getValue();
Log.d("TAG", "Value is: " + map);
for (Object name: map.keySet()){
String tampil = "";
String key = name.toString(); //ambil data dari
tabel di ubah menjadi string
String value = map.get(name).toString(); //isi
value dengan nilai yang telah diambil dan diubah ke string
int lol = Integer.parseInt(value); //buat
variabel untuk tampilan pada android
img_auto.setImageResource(R.drawable.auto_off);
img_manual.setImageResource(R.drawable.manual_on);
Transition transition = new Fade();
transition.setDuration(600);
transition.addTarget(R.id.layManual);
TransitionManager.beginDelayedTransition(container, transition);
lay.setVisibility(View.VISIBLE);
}else if(lol==1){//jika nilai 1 maka mode auto
aktif
img_auto.setImageResource(R.drawable.auto_on);
img_manual.setImageResource(R.drawable.manual_off);
Transition transition = new Fade();
transition.setDuration(600);
transition.addTarget(R.id.layManual);
TransitionManager.beginDelayedTransition(container, transition);
lay.setVisibility(View.GONE);
}
}
}
//tambahan kalau database dapat error biiar gampang
trace error databasenya
refkipas1.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(final DataSnapshot
dataSnapshot) {
Map<String,Object> map = (Map<String, Object>)
dataSnapshot.getValue();
Log.d("TAG", "Value is: " + map);
for (Object name: map.keySet()){
String tampil = "";
String key = name.toString(); //ambil data dari
tabel di ubah menjadi string
String value = map.get(name).toString(); //isi
value dengan nilai yang telah diambil dan diubah ke string
final int lol = Integer.parseInt(value); //buat
variabel untuk tampilan pada android
if(lol==0){ //jika nilai 0 maka
text_kipas1.setText("OFF");
text_kipas1.setTextColor(Color.parseColor("#FF0000"));
tgl_kipas1.setImageResource(R.drawable.icon_off);
}else if(lol==1){//jika nilai 1 maka
text_kipas1.setText("ON");
text_kipas1.setTextColor(Color.parseColor("#7CFC00"));
tgl_kipas1.setImageResource(R.drawable.icon_on);
}
b_kipas1.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View view) {
if (lol==0){
try {
refkipas1.child("stat_kipas1").setValue(""+1);
} catch (Exception e) {
e.printStackTrace();
}
}else {
try {
refkipas1.child("stat_kipas1").setValue(""+0);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
}
}
//tambahan kalau database dapat error biiar gampang
trace error databasenya
@Override
b_auto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
refmode.child("mode").setValue(""+1);
} catch (Exception e) {
e.printStackTrace();
}
}
});
b_manual.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
try {
refmode.child("mode").setValue(""+0);
} catch (Exception e) {
e.printStackTrace();
}
}
});
return root;
}
}
sudah terhubung ke jaringan internet, LCD pada alat akan memberikan pesan
bahwa alat sudah terhubung ke jaringan internet, bila alat belum terhubung LCD
monitoring dan memilih mode apa yang akan dijalankan oleh alat, jika mode
otomatis diaktifkan lalu pengguna menekan tombol kipas dan lampu maka
tampilan dari kipas dan lampu pada aplikasi akan berstatus ON, dan alat akan
menyalakan lampu dan kipas (gambar 4.13), berikut ini merupakan tampilan dari
aplikasi dengan kondisi tombol lampu dan kipas dalam posisi ON pada gambar
4.12.
Gambar 4.12 Tampilan Aplikasi kondisi ON
secara detail fungsi dan hasil implementasi dari hardware dan software yang
dibuat.
4.4 Perbandingan Sistem Kontrol
melakukan beberapa pengujian dengan luas ruangan 58,7 m2, 1 buah jumlah
lampu pijar 20 watt dan 2 buah kipas berukuran 10cm2. Pegujian ini di lakukan
( Kipas Menyala )
Waktu Suhu
1 menit 39,2
2 menit 37,8
3 menit 34,2
4 menit 33,2
5 menit 29,6
Tabel 4.5
( Lampu Menyala )
Waktu Suhu
1 menit 22,3
2 menit 24,8
3 menit 27.7
lakukan dengan bantuan menyalakan kipas, agar sirkulasi udara bisa keluar masuk
dan bantuan cahaya lampu dalam menormalisasikan suhu yang ada pada ruangan
kandang ayam potong sangat efisien dan lebih cepat.
lampu pijar 20 watt dan 2 buah kipas berukuran 10cm 2. Pegujian ini di lakukan
( Kipas Menyala )
Waktu Suhu
1 menit 39,2
2 menit 36,8
3 menit 34,2
4 menit 32,2
5 menit 29,3
Tabel 4.7
( Lampu Menyala )
Waktu Suhu
1 menit 22,3
2 menit 24,8
3 menit 27.4
lakukan dengan bantuan menyalakan kipas, agar sirkulasi udara bisa keluar masuk
dan bantuan cahaya lampu dalam menormalisasikan suhu yang ada pada ruangan
secara manual suhu ruangan dalam menyalakan dan mematikan kipas dan lampu.
dan pada system automatis lampu dan kipas akan menyesuaikan kipas dan lampu