Hardware
- Arduino Uno,
- LCD 16X2
- Potensiometer 10K variabel, untuk mengatur contras LCD
- Push Button 3 buah,
- DHT 11 atau DHT 22,
- Motor DC, 12 V
- Relay 5 V, 3 buah
- Resistor 4,7k, 3 buah,
- Transistor BC548/547, 3 buah
- Led 3 buah
- Blower, Bisa menggunakan fan CPU bekas atau kipas angin mini bekas
- Heating Element, diambil dari heating dispenser yang sudah tidak terpakai
- Power Supply 12V dan 5V
Software
Software yang digunakan adalah sebagai berikut:
- Autodesk EAGLE 9.6.2, untuk mendesain PCB
- Fritzing
- Arduino IDE
Diagram Blok
Untuk memahami cara kerja dari alat yang akan dibuat ini, lihatlah diagram blok dibawah ini:
Gambar Blok Diagram Sistem |
Berdasarkan blok diagram sistem yang telah digambarkan diatas, maka dapat diuraikan secara detail mengenai perancangan dan pembuatan alat baik dari segi hardware (perangkat keras) maupun software.
Flowchart
Adapun diagram alir (Flowchart) perangkat lunak dari alat yang akan dibuat ditunjukkan pada gambar dibawah ini:
Gambar Flowchart Alur Kerja Sistem |
Cara kerja alat menurut flowchart diatas yaitu diawali dengan mulai (start), kemudian inisialisasi untuk memastikan apakah program sesuai dengan pin arduino dan pin komponen pendukung. Set up suhu dan kelembapan diatur pada awal program yaitu 25º Celsius untuk suhu, dan 35% untuk kelembapan. Agar mudah dipahami, penulis mengidentifikasikan batas ambang (Threshold) suhu dan kelembapan dengan “SN”. Setelah program dan pin sudah terkoneksi, maka program akan masuk ke looping (perulangan). Dengan perintah pertama yaitu push (penekanan) pada saklar Up untuk menambah nilai dan saklar Down untuk mengurangi nilai.
Jika saklar Up ditekan satu kali, maka program akan menjalankan perintah SN+1 sama dengan 25+1 hasilnya adalah 26. Jika saklar Up ditekan dua kali, maka hasilnya sama dengan 26+1=27. Begitu juga dengan saklar Down, program akan menjalankan perintah pengurangan nilai set up awal yaitu SN-1 sama dengan 25-1 hasilnya adalah 24 dan seterusnya. Setelah set up nilai suhu dan kelembapan diatur, hasilnya akan ditampilkan pada LCD. Proses Set up ini sama dengan pengaturan kelembapan, yaitu menambah dan mengurangi nilai ambang (Threshold) dengan menggunakan saklar push button. Hanya saja perbedaan setelah mengatur kelembapan terletak pada ssat saklar OK ditekan. Program akan menjalankan fungsi yaitu membaca sensor DHT sebagai (Threshold) ketetapan awal. Jika system membaca adanya data yang dihasilkan dari sensor DHT, maka system akan menampilkan besaran suhu dan kelembapan normal (SN) pada LCD. Sebaliknya, jika system tidak membaca adanya data dari sensor DHT, maka sistem akan langsung mamatikan alat dan prosesnya dianggap selesai. Hal ini ditandai dengan tampilan karakte pada LCD dengan tulisan “Tidak Ada Data.! Alat Dihentikan.!”.
Selanjutnya jika data dari sensor terbaca sesuai keterangan diatas, Stir Motor (pengaduk padi) akan otomatis hidup saat ditekan saklar OK. Ketetapan proses pembacaan data sensor akan merubah fungsi perulangan ketika suhu dan kelembapan yang diatur lebih besar (>=) dari suhu normal (SN), maka Heating tidak akan merespon (hidup) dan blower akan hidup. Hal ini dikarenakan system membaca suhu sudah melebihi panas dari set up pengaturan suhu awal. Sebaliknya, jika suhu lebih kecil (<=) dari suhu normal, maka system akan memerintahkan Heating element berada pada posisi 1 (ON), dan blower mati sampai kondisi suhu mencapai (Threshold) yang diatur. Heating akan mati otomatis. Jika panas pada heating melebihi nilai (Threshold), maka dengan otomatis blower akan langsung hidup untuk menstbilkan paanas pada tabung yang berisikan padi. Proses looping ini berjalan secara terus menerus (continue) sampai nilai kelembapan (Threshold) mencapai batas set up yang diatur. Setelah proses selesai, operator dapat melihat batas nilai suhu dan kelembapan yang ditampilkan pada LCD. Selanjutnya operator dapat mengeluarkan padi yang sudah kering dengan cara menekan saklar Outlet.
Schematich
Dibawah ini adalah rangkaian schematich secara keseluruhan:
Gambar Schematich Keseluruhan |
Kamu bisa menambahkan power supply 12vdc dan 5 vdc buatan pabrik atau dengan membuat sendiri power supply dengan ouput 12 vdc dan 5 vdc.
Berikut ini adalah gambar rangkaian dengan menggunakan software EAGLE:
Gambar Schematich dengan Software EAGLE |
Layout pada PCB |
Relay biasa juga disebut saklar yang dapat diatur dalam kondisi hidup atau mati menggunakan arduino. Rangkaian relay dihubungkan pada pin A3, A4, dan D8 di arduino sehingga pada saat kondisi terpenuhi dalam program arduino maka relay akan berfungsi sebagai mana kondisi yang telah ditetapkan (hidup/mati) atau dalam keadaan yang bernilai 0/I. Heating element yang berada di dalam tabung akan aktif dengan tegangan 220 Volt AC.
Pembuatan Mekanik
Desain bentuk pengering padi dibuat dengan menggunakan plat aluminium dengan tebalannya 0,9 mm. Bentuk desain prototype dibuat tabung dengan ukurn diameter 27 cm. Jari jari pada poros tabung 13,5 cm. Tinggi tabung adalah 45 cm dan tinggi tinggi tiang penyangga 15 cm. bentuk prototype pengering padi ini mampu menampung padi sebanyak ± 10 kilogram. Heat element untuk pemanasan dibuat dari tabung bejana yang dililit dengan element pemanas dari kawat nikrom. Heat element ini diletakan di dalam tabung penampungan padi.
Agar lebh jelasnya, lihatlah video berikut:
Prototipe tampak keseluruhan |
Prototipe Tampak Atas |
Motor DC Outlet |
Spiral Outlet |
Fan Blower |
Heating element |
Letak Sensor DHT11 |
Berikut ini adalah program dari keseluruhan. Namun, Sebelum mendownload program ke dalam arduino, harus memasukan library DHT.lib ke dalam library arduino.
Download DHT.lib
Download Program .ino
//------------------Program by www.hestech.id-------------------//
#include
#include
#include
#define DHT11 A0
const int ok = A1;
const int UP = A2;
const int DOWN = A3;
const int pemanas = A4;
const int kipas = A5;
const int rs = 12;
const int en = 11;
const int d4 = 5;
const int d5 = 4;
const int d6 = 3;
const int d7 = 2;
int ack = 0;
int pos = 0;
int sec = 0;
int Min = 0;
int hrs = 0;
int T_threshold = 25;
int H_threshold = 35;
int SET = 0;
int Direction = 0;
boolean T_condition = true;
boolean H_condition = true;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Servo motor;
dht DHT;
void setup()
{
pinMode(ok, INPUT);
pinMode(UP, INPUT);
pinMode(DOWN, INPUT);
pinMode(pemanas, OUTPUT);
pinMode(kipas, OUTPUT);
digitalWrite(pemanas, HIGH);
digitalWrite(kipas, HIGH);
digitalWrite(ok, HIGH);
digitalWrite(UP, HIGH);
digitalWrite(DOWN, HIGH);
motor.attach(7);
motor.write(pos);
lcd.begin(16, 2);
Serial.begin(9600);
lcd.setCursor(3, 0);
lcd.print("PROTOTIPE");
Serial.print("PROTOTIPE ");
lcd.setCursor(1, 1);
lcd.print("PENGERING PADI");
Serial.print("PENGERING PADI ");
delay(3500);
lcd.setCursor(1, 0);
lcd.print("dirancang oleh:");
Serial.print("dirancang oleh: ");
lcd.setCursor(0, 1);
lcd.print("Hestech.id");
Serial.print("Hestech Indonesia");
delay(3000);
}
void loop()
{
if (SET == 0)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Atur Suhu:");
lcd.setCursor(0, 1);
lcd.print(T_threshold);
lcd.print(" *C");
while (T_condition)
{
if (digitalRead(UP) == LOW)
{
T_threshold = T_threshold + 1;
lcd.setCursor(0, 1);
lcd.print(T_threshold);
lcd.print(" *C");
delay(200);
}
if (digitalRead(DOWN) == LOW)
{
T_threshold = T_threshold - 1;
lcd.setCursor(0, 1);
lcd.print(T_threshold);
lcd.print(" *C");
delay(200);
}
if (digitalRead(ok) == LOW)
{
delay(200);
T_condition = false;
}
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Atur Kelembapan:");
lcd.setCursor(0, 1);
lcd.print(H_threshold);
lcd.print("%");
delay(100);
while (H_condition)
{
if (digitalRead(UP) == LOW)
{
H_threshold = H_threshold + 1;
lcd.setCursor(0, 1);
lcd.print(H_threshold);
lcd.print("%");
delay(100);
}
if (digitalRead(DOWN) == LOW)
{
H_threshold = H_threshold - 1;
lcd.setCursor(0, 1);
lcd.print(H_threshold);
lcd.print("%");
delay(200);
}
if (digitalRead(ok) == LOW)
{
delay(100);
H_condition = false;
}
}
SET = 1;
}
ack = 0;
int chk = DHT.read11(DHT11);
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack = 1;
break;
}
if (ack == 0)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu :");
lcd.print(DHT.temperature);
Serial.print("Suhu :");
Serial.println(DHT.temperature);
lcd.setCursor(0, 1);
lcd.print("Kelembapan:");
lcd.print(DHT.humidity);
Serial.print("Kelembapan :");
Serial.println(DHT.humidity);
if (DHT.temperature >= T_threshold)
{
delay(4000);
if (DHT.temperature >= T_threshold)
{
digitalWrite(pemanas, HIGH);
//Serial.print("Pemanas Mati ");
}
}
if (DHT.humidity >= H_threshold)
{
delay(3000);
if (DHT.humidity >= H_threshold)
{
digitalWrite(kipas, HIGH);
//Serial.print("Kipas Mati ");
}
}
if (DHT.temperature < T_threshold)
{
delay(3000);
if (DHT.temperature < T_threshold)
{
digitalWrite(pemanas, LOW);
//Serial.print("Pemanas Hidup ");
}
}
if (DHT.humidity < H_threshold)
{
delay(3000);
if (DHT.humidity < H_threshold)
{
digitalWrite(kipas, LOW);
//Serial.print("Kipas Hidup ");
}
}
sec = sec + 1;
if (sec == 60)
{
sec = 0;
Min = Min + 1;
}
if (Min == 60)
{
Min = 0;
hrs = hrs + 1;
}
if (hrs == 8 && Min == 0 && sec == 0)
{
for (pos = 0; pos <= 180; pos += 1)
{
motor.write(pos);
delay(25);
}
}
if (hrs == 16 && Min == 0 && sec == 0)
{
hrs = 0;
for (pos = 180; pos >= 0; pos -= 1)
{
motor.write(pos);
delay(25);
}
}
}
if (ack == 1)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Tidak ada data.!");
lcd.setCursor(0, 1);
lcd.print("Alat dihentikan");
digitalWrite(pemanas, HIGH);
digitalWrite(kipas, HIGH);
}
delay(1000);
}
Kemudian Upload kedalam arduino jika complie sudah berhasil.Done Compling |
Jika program sudah berhasil di upload kedalam arduino, langkah untuk pengoperasianya adalah sebagai berikut:
Saat pertama kali alat dihidupkan akan tampil seperti gambar berikut:
Tampilan Suhu Awal |
Push Button |
Pengaturan Suhu |
Tampilan Kelembapan Awal |
Pengaturan Kelembapan |
Tampilan awal setelah setingan selesai dan push button ditekan OK |
Display Suhu dan Kelembapan Ketika Heating Hidup |
Tampilan Suhu dan Kelembapan di Serial Monitor |
Display Suhu dan Kelembapan Ketika Blower Hidup |
Tampilan Suhu dan Kelembapan di Serial Monitor |
Langkah selanjutnya adalah mengeluarkan padi yang sudah kering melalui spiral outlet (pengeluaran).
Untuk menghitung kadar air pada padi dapat mnggunakan persamaan seperti berikut :KA =(a.b)/a.100
Keterangan =
KA = kadar air
a = berat padi awal (gram)
b = berat padi akhir (gram)
Adapun hasil pengujian alat dalam keadaan aktif dapat dilihat pada gambar berikut ini:
No |
Atur Suhu (º) |
Atur Kelembapan |
Waktu Percobaan |
Berat Awal (gram) |
Berat Akhir (gram) |
Presentase Penurunan Kelembapan |
---|---|---|---|---|---|---|
1 |
30 ºC |
30% |
5 |
0,5 kg |
0,4 kg |
1% |
2 |
45 ºC |
35% |
10 |
1 kg |
0,8 kg |
1,2% |
3 |
50 ºC |
40% |
30 |
1,5 kg |
1,3 kg |
1,15% |
Berdsarkan data tabel diatas dapat dilihat bahwa persentase penurunan nilai kadar air yang terbesar adalah pada waktu 30 menit yaitu 1,15 %. Hal ini menunjukan kondisi yang sama pada waktu puncak pada kondisi pengeringan alami dimana kondisi suhu panas dalam kondisi maksimal, Sedangkan persentase penurunan nilai kadar air terendah adalah pada waktu 5 menit yaitu sebesar 1%. Hal ini disebabkan oleh kadar air yang berada pada pad masih banyak serta suhu pada suhu awal. Proses pengeringan baru di mulai dan tabung belum menyerap panas heating secara maksimal.
SELESAI
Selamat mencoba.
Silahkan tinggalkan komentar jika ada yang inginditanyakan. Share jika artikel ini bermanfaat.
Terimakasih, kalau ada kekurangan, saya mohon maaf.
comment 0 komentar
more_vert