חממה באמצעות ארדואינו עם בקרת טמפרטורה ולחות אוטומטית

נסה את הכלי שלנו לביטול בעיות





בפוסט זה אנו הולכים לבנות חממה באמצעות ארדואינו שיכולה לווסת את הטמפרטורה והלחות שלה. פרויקט זה הוצע על ידי מר אימראן יוסף שהוא קורא נלהב של אתר זה.



מבוא

פרויקט זה תוכנן בהתאם להצעותיו של מר אימרן, אך נעשה שינוי כלשהו כדי להפוך את הפרויקט הזה לאוניברסלי לכל.

אתה יכול להשתמש ביצירתיות ובדמיון שלך כדי לבצע את הפרויקט הזה.



אז בואו להבין מה זה חממה? (עבור noobs)

החממה היא מכשיר סגור שסביבתו הפנימית מבודדת מסביבת הסביבה.

זאת כדי ליצור סביבה נוחה לדגימה המטופלת. לדוגמא חממות משמשות לגידול אורגניזם מיקרוביאלי במעבדות, חממות משמשות בבתי חולים לטיפול בתינוקות שנולדו בטרם עת.

סוג החממה שאנחנו הולכים לבנות בפרויקט זה נועד לבקיעת ביצי עוף או כל ביצת עופות אחרת.

לכל החממות יש דבר משותף שהוא מווסת את הטמפרטורה, הלחות ומספק אספקת חמצן מספקת.

אתה יכול להגדיר טמפרטורה ולחות על ידי לחיצה על הכפתורים המסופקים וגם זה מראה את הטמפרטורה והלחות הפנימיים בזמן אמת. ברגע ששני הפרמטרים נקבעו הוא שולט באופן אוטומטי על גוף החימום (הנורה) והמאייד (מכשיר האדים) כדי לעמוד בנקודת ההגדרה.

עכשיו בואו להבין את המנגנון ואת העיצוב של החממה.

השלדה של החממה עשויה להיות מקלקר / קופסת תרמוקול או זכוכית אקרילית שיכולה לספק בידוד תרמי טוב. אני ממליץ על קופסא קלקר / תרמוקול שיהיה קל יותר לעבוד איתה.

תכנון מכשירים:

פריסת חומר חממה

נורה של 25 וואט משמשת כמקור חום הספק גבוה יותר עלול לפגוע בביצים במיכל קטן. הלחות מסופקת על ידי מאדה, אתה יכול להשתמש במאדה במשהו דומה כמוצג להלן.

הוא מייצר זרם אדים עבה אשר יכנס לחממה. ניתן לשאת את האדים דרך כל צינור גמיש.

הצינור הגמיש יכול להיות משהו דומה כמוצג להלן:

האדים עשויים להיכנס מלמעלה מתיבת הקלקר / תרמוקול כפי שמוצג בתכנון המכשירים, כך שעודף חום יימלט למרות חורי בקרת הלחות ופחות יפגע בביצים.

יש גליל הנושא ביצים עם מספר חורים סביבו, המחוברים למנוע סרוו. מנוע סרוו מסובב את הצילינדר 180 מעלות כל 8 שעות ובכך מסובב את הביצים.

סיבוב הביציות מונע מהעובר להיצמד לקרום הקליפה ומספק גם מגע עם חומר המזון בביצה, במיוחד בשלב מוקדם של הדגירה.

הגליל המסתובב חייב להיות בעל מספר מספר חורים כדי שיהיה זרימת אוויר תקינה וגם הגליל חייב להיות חלול משני הצדדים.

הגליל המסתובב יכול להיות צינור PVC או גליל קרטון.

הדביקו מקל גלידה בשני קצות הגליל החלול כך שמקל הגלידה יוצר שני עיגולי חצי שווים. הדבק את זרוע מנוע הסרוו באמצע מקל הגלידה. בצד השני תוחבים חור ומדביקים קיסם בחוזקה.

הכנס את קופסת השיניים בתוך הקופסה והדבק את הסרוו על הקיר הנגדי בתוך הקופסה. הגליל חייב להישאר אופקי ככל האפשר, כעת הגליל יכול להסתובב בזמן שמנוע הסרבו מסתובב.

וכן, השתמש ביצירתיות שלך כדי לשפר את הדברים.

אם ברצונכם להכיל יותר ביצים הכינו עוד צילינדרים כאלה וניתן לחבר מנוע סרוו מרובה באותו סיכת קו בקרה.

ניתן ליצור את חורי בקרת הלחות על ידי תנועת עיפרון דרך קופסת הקלקר / תרמוקול בחלקה העליון. אם עשיתם הרבה חורים מיותרים או אם לחות או טמפרטורה בורחים מהר מדי, אתם עלולים לכסות חלק מהחורים באמצעות סרט חשמלי או סרט דביק.

חיישן DHT11 הוא לב הפרויקט אשר עשוי להיות ממוקם באמצע כל ארבעת צדי החממה (מבפנים) אך הרחק מהנורה או מצינור כניסת הלחות.

ניתן למקם מאווררי מעבד כפי שמוצג בתכנון המכשירים לזרימת אוויר. לצורך זרימת אוויר תקינה השתמש לפחות בשניים אוהדים דוחפים את האוויר בכיוון ההפוך , למשל: אחד ממאוורר המעבד הדוחף כלפי מטה ומאוורר המעבד הנוסף דוחף כלפי מעלה.

רוב מאוורר המעבד עובד על 12 וולט אבל על 9 וולט עובד בסדר גמור.

זה הכל על המנגנון. עכשיו בואו נדון במעגל.

Diagarm סכמטי:

חממת לחות שליטה דיגיטלית LCD צג

המעגל הנ'ל מיועד לחיבור Arduino ל- LCD. התאם פוטנציומטר 10K להתאמת ניגודיות LCD.

חממת ארדואינו בקרת אקלים אוטומטית

הארדואינו הוא מוחו של הפרויקט. ישנם 3 כפתורי לחיצה להגדרת טמפרטורה ולחות. הסיכה A5 שולטת בממסר לאידוי וב- A4 לנורה. חיישן DHT11 מחובר לסיכה A0. הפינים A1, A2 ו- A3 המשמשים ללחצני כפתורים.

סיכה מס '7 (סיכה שאינה PWM) מחוברת לחוט הבקרה של מנוע סרוו ניתן לחבר מנועי סרוו מרובים לסיכה מס' 7. יש תפיסה מוטעית שמנועי סרוו עובדים רק עם סיכות PWM של ארדואינו, וזה לא נכון. זה עובד בשמחה גם על סיכות שאינן PWM.

חבר דיודה 1N4007 על פני סליל הממסר בהטיה הפוכה כדי למנוע קוצים של מתח גבוה בזמן הפעלה וכיבוי.

ספק כוח:

מעגל אספקת חשמל חממת Arduino

ספק הכוח הנ'ל יכול לספק אספקת 9 וולט ו -5 וולט לממסר, ארדואינו, מנוע סרוו (SG90) ומאווררי מעבד. שקע ה- DC מסופק להפעלת הארדואינו.

השתמש בגופי קירור לווסת המתח.

זה מסכם את אספקת החשמל.

הורד את חיישן DHT בספרייה:

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

קוד תכנית:

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

כיצד להפעיל את המעגל:

· עם הגדרת החומרה והמכשירים שהושלמו, הפעל את המעגל למצב פועל.

· התצוגה מציגה 'הגדרת טמפרטורה' לחץ על כפתור למעלה או למטה כדי לקבל את טמפרטורת הרצון ולחץ על 'כפתור הגדר'.

· כעת התצוגה מציגה 'הגדר לחות' לחץ על לחצנים למעלה או למטה כדי לקבל לחות רצון ולחץ על 'כפתור הגדר'.

· זה מתחיל את תפקוד החממה.

אנא עיין באינטרנט או קבל ייעוץ מאיש מקצוע לגבי טמפרטורות ולחות הביצים.

אם יש לך שאלה ספציפית ביחס למעגל בקרת הטמפרטורה והחממה האוטומטית של Arduino, אל תהסס לבטא בסעיף ההערות. יתכן שתקבל תשובה מהירה.




קודם: בקר משאבות מבוסס SMS עם כיבוי אוטומטי של הפעלה יבשה הבא: מערכת התראת אספקת מים מבוססת SMS