Инкубатор који користи Ардуино са аутоматском контролом температуре и влажности

Испробајте Наш Инструмент За Елиминисање Проблема





У овом посту ћемо изградити инкубатор користећи Ардуино који може саморегулирати своју температуру и влажност. Овај пројекат је предложио господин Имран иоусаф, који је страствени читалац ове веб странице.



Увод

Овај пројекат је осмишљен према сугестијама господина Имрана, али урађене су неке додатне модификације како би овај пројекат био универзално погодан за све.

Можете искористити своју креативност и машту да бисте обавили овај пројекат.



Па да схватимо шта је инкубатор? (За нообс)

Инкубатор је затворени апарат чија је унутрашња средина изолована од амбијенталне.

На овај начин се ствара повољно окружење за примерак који се негује. На пример, инкубатори се користе за узгој микроорганизама у лабораторијама, инкубатори се користе у болницама за збрињавање превремено рођене новорођенчади.

Инкубатор који ћемо изградити у овом пројекту је за ваљење пилећих јаја или било којих других птичјих јаја.

Свим заједничким инкубаторима је заједничко: регулише температуру, влажност и обезбеђује адекватно снабдевање кисеоником.

Притиском на предвиђене тастере можете подесити температуру и влажност, а такође приказује и унутрашњу температуру и влажност у реалном времену. Једном када се поставе оба параметра, он аутоматски контролише грејни елемент (сијалицу) и испаривач (овлаживач) да би достигли задату вредност.

Хајде сада да разумемо апаратуру и дизајн инкубатора.

Шасија инкубатора може бити од стиропора / термокол кутије или акрилног стакла што може пружити добру топлотну изолацију. Препоручио бих кутију од стиропора / термокола са којом ће бити лакше радити.

Дизајн апарата:

распоред материјала инкубатора

Сијалица од 25 вати делује као извор топлоте јер већа снага може оштетити јаја у малом контејнеру. Влажност ваздуха обезбеђује испаривач, можете користити испаривач нешто слично као што је приказано доле.

Ствара густу струју паре која ће улазити у инкубатор. Пара се може преносити преко било које флексибилне цеви.

Флексибилна цев може бити нешто слично као што је приказано доле:

Пара може улазити са врха кутије од стиропора / термокола, као што је приказано у дизајну апарата, тако да ће вишак топлоте излазити кроз рупе за контролу влажности и мање оштетити јаја.

Постоји цилиндар који носи јаја са неколико рупа око себе, повезан са серво мотором. Серво мотор окреће цилиндар за 180 степени сваких 8 сати и тако окреће јаја.

Ротација јаја спречава да се ембрион залепи за мембрану љуске, а такође обезбеђује контакт са прехрамбеним материјалом у јајету, посебно у раној фази инкубације.

Ротирајући цилиндар мора имати неколико бројева рупа како би била присутна одговарајућа циркулација ваздуха, а такође цилиндар мора бити шупаљ са обе стране.

Ротирајући цилиндар може бити ПВЦ цев или картонски цилиндар.

Залепите штапић за сладолед на оба краја шупљег цилиндра тако да штапић за сладолед направи два једнака полукруга. Залепите руку серво мотора на средину штапића сладоледа. На другој страни пробушите рупу и чврсто залепите трзалицу за зубе.

Уметните држач за зубе у кутију и залепите серво на супротни зид унутар кутије. Цилиндар мора остати водораван што је више могуће, сада се цилиндар може окретати док се серво мотор ротира.

И да, искористите своју креативност да ствари побољшате.

Ако желите да примите више јаја, направите више таквих цилиндара и више серво мотора може се повезати на исти пин управљачке линије.

Рупе за контролу влажности могу се направити пробијањем оловке кроз кутију од стиропора / термокола на врху. Ако сте направили пуно непотребних рупа или ако влага или температура пребрзо излазе, неке рупе можете прекрити електричном или селотејп траком.

ДХТ11 сензор је срж пројекта који се може поставити на средину било које четири стране инкубатора (унутра), али даље од сијалице или улазне цеви за влагу.

ЦПУ вентилатори се могу поставити како је приказано у дизајну уређаја за циркулацију ваздуха. За правилну циркулацију ваздуха користите најмање два вентилатори који гурају ваздух у супротном смеру , на пример: један од ЦПУ вентилатора који гура према доле, а други ЦПУ вентилатор који гура према горе.

Већина ЦПУ вентилатора ради на 12В, али на 9В ради сасвим добро.

То је све о апаратима. Хајде сада да разговарамо о кругу.

Схематски дијагарм:

контрола влажности инкубатора дигитални ЛЦД монитор

Горњи круг је за везу Ардуино-а са ЛЦД-ом. Подесите 10К потенциометар за подешавање контраста ЛЦД-а.

Ардуино инкубатор аутоматска контрола климе

Ардуино је мозак пројекта. Постоје 3 тастера за подешавање температуре и влажности. Пин А5 контролише релеј за испаривач и А4 за сијалицу. ДХТ11 сензор је повезан на пин А0. Клинови А1, А2 и А3 користе се за тастере.

Пин # 7 (не-ПВМ пин) повезан је на управљачку жицу серво мотора вишеструки серво мотори могу бити повезани на пин # 7. Постоји заблуда да серво мотори раде само са ПВМ пиновима Ардуина, што није тачно. Такође сретно ради и на ПВМ пиновима.

Повежите диоду 1Н4007 преко завојнице релеја у обрнутом положају да бисте елиминисали високонапонске скокове док се укључујете и искључујете.

Напајање:

Коло напајања Ардуино инкубатора

Горње напајање може да обезбеди напајање од 9 В и 5 В за релеј, Ардуино, Серво мотор (СГ90) и ЦПУ вентилаторе. ДЦ прикључак је предвиђен за напајање Ардуина.

Користите хладњаке за регулаторе напона.

То закључује напајање.

Преузмите библиотечки сензор ДХТ:

хттпс://ардуино-инфо.викиспацес.цом/филе/детаил/ДХТ-либ.зип

Програмски код:

//------------------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-------------------//

Како управљати кругом:

· Са завршеним подешавањем хардвера и уређаја, укључите струјни круг.

· На екрану се приказује „подешена температура“ притисните тастер горе или доле да бисте добили жељену температуру и притисните „тастер за подешавање“.

· Сада се на екрану приказује „подеси влажност“ притисните тастере горе или доле да бисте постигли жељену влажност и притисните „тастер за подешавање“.

· Почиње функционисање инкубатора.

Погледајте Интернет или потражите савет од стручњака за температуру и ниво влажности јаја.

Ако имате било каквих конкретних питања у вези са овим Ардуино аутоматским кругом за контролу температуре и влажности инкубатора, слободно изразите у одељку за коментаре. Можете добити брзи одговор.




Претходно: СМС контролер пумпе са аутоматским искључивањем на суво Следеће: Систем упозорења за водоснабдевање заснован на СМС-у