Inkubator Menggunakan Arduino dengan kawalan Suhu dan Kelembapan Automatik

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Dalam posting ini kita akan membina inkubator menggunakan Arduino yang dapat mengatur suhu dan kelembapannya sendiri. Projek ini dicadangkan oleh Encik Imran yousaf yang merupakan pembaca laman web ini.



Pengenalan

Projek ini dirancang berdasarkan cadangan dari Mr. Imran, tetapi beberapa pengubahsuaian tambahan dilakukan untuk menjadikan projek ini sesuai untuk semua orang.

Anda mungkin menggunakan kreativiti dan imaginasi anda untuk menyelesaikan projek ini.



Oleh itu, mari kita fahami apa itu inkubator? (Untuk noob)

Inkubator adalah alat tertutup yang persekitaran dalamannya terasing dari persekitaran persekitaran.

Ini untuk mewujudkan persekitaran yang baik bagi spesimen yang sedang dirawat. Contohnya inkubator digunakan untuk menumbuhkan organisma mikroba di makmal, inkubator digunakan di hospital untuk merawat bayi yang dilahirkan sebelum waktunya.

Jenis inkubator yang akan kita buat dalam projek ini adalah untuk menetas telur ayam atau telur burung yang lain.

Semua inkubator mempunyai satu kesamaan iaitu mengatur suhu, kelembapan dan menyediakan bekalan oksigen yang mencukupi.

Anda boleh menetapkan suhu dan kelembapan dengan menekan butang yang disediakan dan juga menunjukkan suhu dan kelembapan dalaman dalam masa nyata. Setelah kedua-dua parameter ditetapkan, ia akan mengawal elemen pemanasan (mentol) dan pengewap (pelembap) secara automatik untuk memenuhi titik yang ditetapkan.

Sekarang mari kita fahami radas dan reka bentuk inkubator.

Sasis inkubator mungkin dari kotak Styrofoam / thermocol atau kaca akrilik yang dapat memberikan penebat haba yang baik. Saya akan mengesyorkan Styrofoam / thermocol box yang mana lebih senang digunakan.

Reka bentuk alat:

susun atur bahan inkubator

Mentol 25 watt bertindak sebagai sumber haba watt yang lebih tinggi boleh menyakiti telur di dalam bekas kecil. Kelembapan disediakan oleh vaporizer, anda mungkin menggunakan vaporizer sesuatu yang serupa seperti yang ditunjukkan di bawah.

Ia menghasilkan aliran wap tebal yang akan masuk ke inkubator. Stim boleh dibawa melalui tiub fleksibel.

Tiub fleksibel boleh menjadi serupa seperti yang ditunjukkan di bawah:

Uap mungkin masuk dari atas kotak Styrofoam / termocol seperti yang ditunjukkan dalam reka bentuk alat, sehingga panas yang berlebihan akan terlepas walaupun lubang kawalan kelembapan dan kurang menyakiti telur.

Terdapat silinder yang membawa telur dengan beberapa lubang di sekelilingnya, disambungkan ke motor servo. Motor servo memutar silinder 180 darjah setiap 8 jam sehingga memutar telur.

Putaran telur mencegah embrio melekat pada membran cengkerang dan juga memberikan kontak dengan bahan makanan di dalam telur, terutama pada tahap awal inkubasi.

Silinder berputar mesti mempunyai beberapa lubang sehingga peredaran udara yang betul akan ada dan juga silinder mesti berlubang di kedua sisi.

Silinder berputar boleh berupa tiub PVC atau silinder kadbod.

Tampalkan tongkat ais krim di kedua hujung silinder berongga sehingga batang ais krim menjadikan dua bulatan separa sama. Tampal lengan motor servo di tengah batang ais krim. Di seberang lubang lubang dan tampal pemetik gigi dengan kuat.

Masukkan pemetik gigi di dalam kotak dan tampal servo di dinding bertentangan di dalam kotak. Silinder mesti tetap mendatar mungkin, sekarang silinder boleh berputar ketika motor servo berputar.

Dan ya, gunakan kreativiti anda untuk menjadikan perkara menjadi lebih baik.

Sekiranya anda ingin menampung lebih banyak telur, silakan lebih banyak silinder seperti itu dan pelbagai motor servo boleh disambungkan pada pin garisan kawalan yang sama.

Lubang kawalan kelembapan dapat dibuat dengan mencucuk pensil melalui kotak Styrofoam / thermocol di bahagian atas. Sekiranya anda membuat banyak lubang yang tidak diperlukan atau jika kelembapan atau suhu terlalu cepat keluar, anda mungkin menutup sebahagian lubang menggunakan pita elektrik atau saluran.

Sensor DHT11 adalah pusat projek yang mungkin diletakkan di tengah-tengah empat sisi inkubator (di dalam) tetapi jauh dari mentol atau tiub masuk kelembapan.

Kipas CPU dapat ditempatkan seperti yang ditunjukkan dalam reka bentuk alat untuk peredaran udara. Untuk peredaran udara yang betul gunakan sekurang-kurangnya dua peminat menolak udara ke arah yang bertentangan , sebagai contoh: salah satu kipas CPU mendorong ke bawah dan kipas CPU lain menolak ke atas.

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

Itu semua mengenai radas. Sekarang mari kita bincangkan di litar.

Diagarm Skematik:

kawalan monitor LCD digital kelembapan inkubator

Litar di atas adalah untuk sambungan Arduino ke LCD. Laraskan potensiometer 10K untuk menyesuaikan kontras LCD.

Arduino inkubator kawalan iklim automatik

Arduino adalah otak projek. Terdapat 3 butang tekan untuk menetapkan suhu dan kelembapan. Pin A5 mengawal geganti untuk penguap dan A4 untuk mentol. Sensor DHT11 disambungkan ke pin A0. Pin A1, A2 dan A3 digunakan untuk butang tekan.

Pin # 7 (pin bukan PWM) disambungkan ke wayar kawalan motor servo banyak motor servo boleh disambungkan ke pin # 7. Terdapat kesalahpahaman bahawa motor servo hanya berfungsi dengan pin PWM Arduino, yang tidak benar. Ia juga berfungsi dengan senang pada pin bukan PWM.

Sambungkan diod 1N4007 melintasi gegelung geganti dalam bias terbalik untuk menghilangkan lonjakan voltan tinggi semasa menghidupkan dan mematikan.

Bekalan Kuasa:

Litar bekalan kuasa inkubator Arduino

Bekalan kuasa di atas dapat menyediakan bekalan 9 V dan 5 V untuk kipas relay, Arduino, Servo motor (SG90) dan CPU. Soket DC disediakan untuk menghidupkan Arduino.

Gunakan pendingin untuk pengatur voltan.

Itu menyimpulkan bekalan kuasa.

Muat turun sensor DHT perpustakaan:

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

Kod 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 mengendalikan Litar:

· Dengan persediaan perkakasan dan perkakas yang lengkap, hidupkan litar ON.

· Layar menunjukkan 'set suhu' tekan tombol atas atau bawah untuk mendapatkan suhu keinginan dan tekan 'set tombol'.

· Sekarang paparan menunjukkan 'tetapkan Kelembapan' tekan tombol atas atau bawah untuk mendapatkan kelembapan keinginan dan tekan 'set butang'.

· Ia memulakan fungsi inkubator.

Sila rujuk internet atau dapatkan nasihat profesional untuk tahap suhu dan kelembapan telur.

Sekiranya anda mempunyai pertanyaan khusus mengenai litar kawalan suhu dan kelembapan inkubator automatik Arduino ini, sila nyatakan di bahagian komen. Anda mungkin akan mendapat balasan pantas.




Sebelumnya: Pengawal Pam Berasaskan SMS dengan Matikan Kering Secara Automatik Seterusnya: Sistem Makluman Bekalan Air Berasaskan SMS