Inkubator Menggunakan Arduino dengan Kontrol Suhu dan Kelembaban Otomatis

Coba Instrumen Kami Untuk Menghilangkan Masalah





Pada postingan kali ini kita akan membuat inkubator menggunakan Arduino yang dapat mengatur suhu dan kelembabannya sendiri. Proyek ini disarankan oleh Tn. Imran yousaf yang merupakan pembaca setia situs web ini.



pengantar

Proyek ini dirancang sesuai dengan saran dari Pak Imran, tetapi beberapa modifikasi tambahan dilakukan untuk membuat proyek ini cocok secara universal untuk semua.

Anda dapat menggunakan kreativitas dan imajinasi Anda untuk menyelesaikan proyek ini.



Jadi mari kita pahami apa itu inkubator? (Untuk noobs)

Inkubator adalah peralatan tertutup yang lingkungan internalnya diisolasi dari lingkungan sekitar.

Hal ini untuk menciptakan lingkungan yang mendukung spesimen yang dirawat. Misalnya inkubator digunakan untuk menumbuhkan organisme mikroba di laboratorium, inkubator digunakan di rumah sakit untuk merawat bayi yang lahir prematur.

Jenis inkubator yang akan kami bangun dalam proyek ini adalah untuk menetaskan telur ayam atau telur burung lainnya.

Semua inkubator memiliki satu kesamaan yaitu mengatur suhu, kelembaban dan menyediakan suplai oksigen yang cukup.

Anda dapat mengatur suhu dan kelembaban dengan menekan tombol yang disediakan dan juga menunjukkan suhu dan kelembaban internal secara real time. Setelah kedua parameter disetel, secara otomatis mengontrol elemen pemanas (bohlam) dan alat penguap (pelembab udara) untuk memenuhi titik setel.

Sekarang mari kita pahami peralatan dan desain inkubator.

Sasis inkubator mungkin terbuat dari styrofoam / thermocol box atau kaca akrilik yang dapat memberikan insulasi termal yang baik. Saya akan merekomendasikan kotak styrofoam / thermocol yang akan lebih mudah untuk dikerjakan.

Desain peralatan:

tata letak bahan inkubator

Bohlam 25 watt bertindak sebagai sumber panas dengan watt yang lebih tinggi dapat merusak telur dalam wadah kecil. Kelembaban disediakan oleh vaporizer, Anda dapat menggunakan vaporizer seperti yang ditunjukkan di bawah ini.

Ini menghasilkan aliran uap tebal yang akan masuk ke inkubator. Uap dapat dibawa melalui tabung fleksibel apa pun.

Tabung fleksibel bisa jadi seperti yang ditunjukkan di bawah ini:

Uap mungkin masuk dari atas kotak styrofoam / thermocol seperti yang ditunjukkan pada desain peralatan, sehingga panas berlebih akan keluar melalui lubang pengatur kelembapan dan tidak terlalu melukai telur.

Ada silinder yang membawa telur dengan beberapa lubang di sekitarnya, terhubung ke motor servo. Motor servo memutar silinder 180 derajat setiap 8 jam sehingga memutar telur.

Perputaran telur mencegah embrio menempel pada membran cangkang dan juga memberikan kontak dengan bahan makanan di dalam telur, terutama pada tahap awal inkubasi.

Silinder yang berputar harus memiliki beberapa jumlah lubang agar sirkulasi udara yang baik dan silinder harus berlubang pada kedua sisinya.

Silinder yang berputar dapat berupa tabung PVC atau silinder karton.

Tempelkan stik es krim pada kedua ujung silinder berlubang sehingga stik es krim tersebut membentuk dua setengah lingkaran yang sama. Tempelkan lengan motor servo di tengah stik es krim. Di sisi lain buat lubang dan tempelkan pencabut gigi dengan kuat.

Masukkan kotak gigi bagian dalam dan tempelkan servo di dinding seberang di dalam kotak. Silinder harus tetap horizontal mungkin, sekarang silinder dapat berputar saat motor servo berputar.

Dan ya, gunakan kreativitas Anda untuk membuat segalanya menjadi lebih baik.

Jika Anda ingin menampung lebih banyak telur, buat lebih banyak silinder dan beberapa motor servo dapat dihubungkan pada pin jalur kontrol yang sama.

Lubang pengatur kelembapan dapat dibuat dengan menusuk pensil melalui kotak styrofoam / thermocol di bagian atas. Jika Anda membuat banyak lubang yang tidak perlu atau jika kelembapan atau suhu terlalu cepat, Anda dapat menutup beberapa lubang menggunakan selotip listrik atau lakban.

Sensor DHT11 adalah jantung dari proyek yang dapat ditempatkan di tengah empat sisi inkubator (di dalam) tetapi jauh dari bohlam atau tabung saluran masuk kelembaban.

Kipas CPU dapat ditempatkan seperti yang ditunjukkan dalam desain peralatan untuk sirkulasi udara. Untuk sirkulasi udara yang baik gunakan setidaknya dua kipas mendorong udara ke arah yang berlawanan , misalnya: salah satu kipas CPU mendorong ke bawah dan kipas CPU lainnya mendorong ke atas.

Sebagian besar kipas CPU berfungsi pada 12V tetapi pada 9V berfungsi dengan baik.

Itu semua tentang aparatur. Sekarang mari kita bahas di sirkuit.

Skema Diagarm:

inkubator kelembaban kontrol monitor LCD digital

Rangkaian di atas adalah untuk koneksi Arduino ke LCD. Sesuaikan potensiometer 10K untuk menyesuaikan kontras LCD.

Kontrol iklim otomatis inkubator Arduino

Arduino adalah otak dari proyek tersebut. Ada 3 tombol tekan untuk mengatur suhu dan kelembaban. Pin A5 mengontrol relai untuk vaporizer dan A4 untuk bohlam. Sensor DHT11 terhubung ke pin A0. Pin A1, A2 dan A3 digunakan untuk menekan tombol.

Pin # 7 (pin non-PWM) terhubung ke kabel kontrol motor servo, beberapa motor servo dapat dihubungkan ke pin # 7. Ada kesalahpahaman bahwa motor servo hanya bekerja dengan pin PWM Arduino, yang tidak benar. Ini bekerja dengan senang hati pada pin non PWM juga.

Hubungkan dioda 1N4007 melintasi koil relai dalam bias terbalik untuk menghilangkan lonjakan tegangan tinggi saat menghidupkan dan mematikan.

Sumber Daya listrik:

Rangkaian catu daya inkubator Arduino

Catu daya di atas dapat menyediakan suplai 9 V dan 5 V untuk relay, Arduino, motor Servo (SG90) dan kipas CPU. Jack DC disediakan untuk menyalakan Arduino.

Gunakan heat sink untuk pengatur tegangan.

Itu menyimpulkan catu daya.

Unduh sensor DHT perpustakaan:

https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

Kode Program:

//------------------Program Developed by R.GIRISH-------------------//
#include
#include
#include
#define DHT11 A0
const int ok = A1
const int UP = A2
const int DOWN = A3
const int bulb = A4
const int vap = 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(bulb, OUTPUT)
pinMode(vap, OUTPUT)
digitalWrite(bulb, LOW)
digitalWrite(vap, LOW)
digitalWrite(ok, HIGH)
digitalWrite(UP, HIGH)
digitalWrite(DOWN, HIGH)
motor.attach(7)
motor.write(pos)
lcd.begin(16, 2)
Serial.begin(9600)
lcd.setCursor(5, 0)
lcd.print('Digital')
lcd.setCursor(4, 1)
lcd.print('Incubator')
delay(1500)
}
void loop()
{
if (SET == 0)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Set Temperature:')
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('Set Humidity:')
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('Temp:')
lcd.print(DHT.temperature)
lcd.setCursor(0, 1)
lcd.print('Humidity:')
lcd.print(DHT.humidity)
if (DHT.temperature >= T_threshold)
{
delay(3000)
if (DHT.temperature >= T_threshold)
{
digitalWrite(bulb, LOW)
}
}
if (DHT.humidity >= H_threshold)
{
delay(3000)
if (DHT.humidity >= H_threshold)
{
digitalWrite(vap, LOW)
}
}
if (DHT.temperature {
delay(3000)
if (DHT.temperature {
digitalWrite(bulb, HIGH)
}
}
if (DHT.humidity {
delay(3000)
if (DHT.humidity {
digitalWrite(vap, HIGH)
}
}
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('No Sensor data.')
lcd.setCursor(0, 1)
lcd.print('System Halted.')
digitalWrite(bulb, LOW)
digitalWrite(vap, LOW)
}
delay(1000)
}
//------------------Program Developed by R.GIRISH-------------------//

Cara mengoperasikan Sirkuit:

· Dengan pengaturan perangkat keras dan peralatan yang lengkap, hidupkan sirkuit.

· Tampilan menunjukkan 'set temperature', tekan tombol atas atau bawah untuk mendapatkan suhu yang diinginkan dan tekan 'tombol set'.

· Sekarang tampilan menunjukkan 'set Humidity' tekan tombol atas atau bawah untuk mendapatkan kelembaban yang diinginkan dan tekan 'tombol set'.

· Ini memulai fungsi inkubator.

Silakan lihat internet atau dapatkan saran dari seorang profesional untuk suhu dan tingkat kelembaban telur.

Jika Anda memiliki pertanyaan khusus tentang rangkaian kontrol suhu dan kelembaban inkubator otomatis Arduino ini, silakan ungkapkan di bagian komentar. Anda mungkin menerima balasan cepat.




Sepasang: Pengontrol Pompa Berbasis SMS dengan Pematian Operasi Kering Otomatis Berikutnya: Sistem Peringatan Pasokan Air Berbasis SMS