תוכן עניינים:
- אספקה
- שלב 1: סקירה כללית של עיצוב
- שלב 2: סקירת קוד
- שלב 3: הצמדת Nema 17 לפלטת הבסיס והקצפת
- שלב 4: חיווט L298N & RTC
- שלב 5: קידוד עם הערות
- שלב 6: בעיות וכיצד תיקנתי אותן
וִידֵאוֹ: מזין כלבים אוטומטי: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
זהו הפרויקט שלי של מזין חיות מחמד אוטומטי. שמי פארקר אני בכיתה יא 'ועשיתי את הפרויקט הזה ב -11 בנובמבר 2020 בתור CCA (פעילות סיום הקורס) בפרויקט זה אני אראה לך כיצד להכין מזין חיות מחמד אוטומטי עם ארדואינו UNO. אתה יכול לבחור זמן שאתה יכול לשנות. המזון יועבר דרך קפיצה ויאכיל את חיות המחמד שלכם!
אספקה
מכשירי חשמל:
- ארדואינו UNO
- L298N - 10 $ - שולט ב- Nema 17
- NEMA 17 - 10 $ - מסובב את המזווה כך שהמזון מתפזר
- RTC (DS1307) - 10 $ - נותן את הזמן
- ספק כוח 12V - 5 $ - מאפשר הכל
- מיני לחם - לחלל חיווט נוסף
- חוטי מגשר - מחברים הכל
- חוטים נקבה לזכר - מחבר הכל
חוּמרָה:
- נימה להדפסת תלת מימד - למדפסת תלת מימד
- 2 ברגי M4 - החזק את צלחת הבסיס במקומה
- 4 ברגי Nema 17 - החזק את nema למטה
- PVC T 48 מ"מ פנימי ממד 66 מ"מ חיצוני - 3 $
כלים:
- מדפסת תלת מימד
- תרגיל
- אקדח הלחמה
שלב 1: סקירה כללית של עיצוב
העיצוב של מזין החיות פשוט מאוד. מיכל עולה לחלק העליון של ה- PVC T. לאחר מכן מכסה על החלק האחורי של ה- PVC T (כפי שמוצג בתמונה) עם ה- Nema 17 המחובר אליו. אז ה- Nema 17 תידחק לחלק האחורי של האוג'ר שניתן לראות למעלה ובורג ייכנס לצד שיחזיק אותו במקומו כדי שלא יעוות את החור שניתן לראות למעלה!
אז הקציצה פשוט תדחוף את האוכל מהצינור לתוך קערה!
שלב 2: סקירת קוד
ל- RTC & Stepper יש ספרים בשם RTClib.h ו- Stepper.h שמוסיפים קוד פשוט ל- RTC & Stepper. אם הצהרות אם פשוטות מאוד אמירתו אם השעה והדקות שוות לזמן האמור היא תסובב את הנום שיוציא את המזון. שאר הקוד קל מאוד להבנה אפילו למי שיש לו יום ניסיון.
שלב 3: הצמדת Nema 17 לפלטת הבסיס והקצפת
ראשית אתה רוצה לקחת את לוח הבסיס שלך ולחבר אותו ל- Nema 17 שלך באמצעות החורים המוכנים מראש על צלחת הבסיס. לאחר שתעשה זאת, ברצונך לחבר את המזווה ל- Nema באמצעות החור האחורי עליו. לאחר מכן חבר את צלחת הבסיס עם הקפיצה וה- Nema המחוברים ואז הברג את ברגי M2 לכל צד.
שלב 4: חיווט L298N & RTC
שלב זה יגיד לך כיצד לחבר את ה- L298N & RTC
נתחיל בסיכות 8, 9, 10, 11 ל- L298N
- פין 8 (לבן) ל- IN1
- פין 9 (סגול) ל- IN2
- פין 10 (ורוד) ל- IN3
- PIN 11 (צהוב) עד IN4
בשלב הבא נחבר את ה- Nema 17 ל- L298N
- OUT1 עד 1 ב- NEMA
- OUT2 עד 2 ב- NEMA
- OUT3 עד 3 ב- NEMA
- OUT4 עד 4 ב- NEMA
חיבור 12 וולט וארדואינו ל- L298N (לא הצלחנו למצוא 12 וולט תארו לעצמכם סוללת 9 וולט כחיל)
- וולט עד 12V
- הקרקע ל- GND
- 5V עד 5V על לוח הלחם
חיבור RTC ל- Arduino
- GND ל- GND
- 5V עד 5V על לוח קרש
- SDA עד A5
- SCL עד A4
סיכות מגשר
כל סיכות המגשר אמורות להיות על L298N
שלב 5: קידוד עם הערות
הקוד ברור יותר בתמונות למעלה
// שם: פארקר פרדריק
// שם הפרויקט: מזין חיות מחמד אוטומטי // תאריך: שלישי, 10 בנובמבר 2020 // מורה: מ. בוניסטל // דסק: האכילו את חיות המחמד שלכם בזמן האמור!
// ליוברים לדברים שהשתמשתי בהם #כלול #כלול #כלול "RTClib.h"
RTC_DS1307 rtc; // אומר במה אני משתמש ב- RTC
// כאן אתה קובע את הזמן לאוכל
// שעות int mornFeedTime = 12; int nightFeedTime = 7; // דקות int mornFeedTimeM = 29; int nightFeedTimeM = 00; // Seconds int mornFeedTimeS = 20; int nightFeedTimeS = 00;
char daysOfTheWeek [7] [12] = {"יום ראשון", "שני", "שלישי", "יום רביעי", "חמישי", "שישי", "שבת"}; // גורם לימים רגילים להפוך לימי השבוע
const int feed = 200; // זה הצעדים שלך אז כמה פעמים אתה רוצה שזה יסתובב
Stepper myStepper (הזנה, 8, 9, 10, 11); // הסיכות שלך ל- Nema 17 ולרוב המדרגות האחרות
הגדרת void () {Serial.begin (9600);
בעוד (! סדרתי); // אם ה- RTC אינו פועל הוא יציג אותו במסך הסידורי אם (! Rtc.begin ()) {Serial.println ("לא הצלחתי למצוא RTC"); בעוד (1); }
// זה יגיד לך אם השעון בזמן אמת פועל או לא והוא יציג אותו על המסך הסידורי אם (! Rtc.isrunning ()) {Serial.println ("RTC פועל!");
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // זה ייקח זמן למחשב שלך וישתמש בו ב- RTC
// אם ברצונך לקבל זמן מוגדר במקום זמן המחשב תוכל לעשות זאת כאן //rtc.adjust(DateTime(2020, 10, 29, 8, 28, 0)); // שנה/חודש/יום/שעה/דקה/שנייה} myStepper.setSpeed (200); // מהירות שאתה רוצה שהיא תפנה ל-}
לולאת void () {DateTime עכשיו = rtc.now ();
// זה יהפוך את המשתנה הזה לשעה שהוא כרגע וכו 'int hr = now.hour (); int mi = now.minute (); int se = now.second ();
// קוד כך שבזמן שנקבע הוא יוציא את האוכל והוא יסתובב 5 פעמים, זאת אם להזנת הבוקר
if (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println ("ארוחת בוקר!"); myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
}
// קוד כך שבזמן שנקבע הוא יוציא את האוכל והוא יסתובב 5 פעמים, זה להאכיל בלילה
if (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println ("ארוחת ערב!"); myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700);
myStepper.step (-feed); עיכוב (700); }
// זה יציג את YEAR, MONTH, DAY, HOUR, MINUTE, SECOND בסדרה
Serial.print (now.year (), DEC); Serial.print ('/'); Serial.print (now.month (), DEC); Serial.print ('/'); Serial.print (now.day (), DEC); Serial.print ("("); Serial.print (daysOfTheWeek [now.dayOfTheWeek ()]); Serial.print (")"); Serial.print (now.hour (), DEC); Serial.print (':'); Serial.print (now.minute (), DEC); Serial.print (':'); Serial.print (now.second (), DEC); Serial.println (); }
אתר שבו השתמשתי עבור RTC מחקתי את רוב הדברים מלבד הצהרות if שאומרות אם ה- RTC מופעל או לא. השתמשתי בעיקר באתר זה כדי ללמוד כיצד לתכנת את ה- RTC
אתר אינטרנט בו השתמשתי עבור מנוע צעד זה עזר לי להבין כיצד לתכנת את המדרגה להפעלה לא ממש שמרתי מזה. זה פשוט עזר לי להבין איך לקודד את זה
שלב 6: בעיות וכיצד תיקנתי אותן
כמה בעיות שהיו לי
- הייתי צריך ספק כוח של 12 וולט, הייתה לי רק סוללה של 9 ווט מצאתי אחת והיא נפתרה במהירות.
- בעת חיבור L298N ל- NEMA 17 היו לי החוטים לא תקינים ב- A ו- A- מה שגרם לזה להציק קצת. פשוט תיקנתי את זה על ידי החלפת החוטים לכיוון השני.
- ניסיתי להפוך את הקוד לפשוט יותר כי בהצהרה if myStepper.step (-feed); שוב ושוב נראה מבולגן. אז הייתי צריך לשנות את זה בחזרה.
- הייתה לי צלחת בסיס בגודל הלא נכון כפי שניתן לראות בתמונה, כך שהייתי צריך להדפיס קצת חדש תלת מימד וזה התאים מושלם!
- הבעיה שיש לי היא שזה נתקע מכיוון שהקציצה קטנה עד כדי כך שהיא תקועה בדרך פשוטה שאני יכול לתקן היא על ידי הגדלת המזווה בכמות קטנה!
מוּמלָץ:
מזין כלבים אוטומטי !!: 4 שלבים
מזין כלבים אוטומטי !!: קל, מועיל ובריא
מזין צמחים אוטומטי WiFi עם מאגר - הגדרת גידול פנימי/חיצוני - צמחי מים באופן אוטומטי עם ניטור מרחוק: 21 שלבים
מזין צמחים אוטומטי WiFi עם מאגר - הגדרת גידול פנימי/חיצוני - צמחי מים באופן אוטומטי עם ניטור מרחוק: במדריך זה נדגים כיצד להתקין מערכת הזנת צמחים פנימית/חיצונית המותאמת באופן אוטומטי לצמחים וניתנת לניטור מרחוק באמצעות פלטפורמת Adosia
מזין כלבים מבוקר Alexa: 6 שלבים (עם תמונות)
מזין כלבים מבוקר Alexa: זהו הכלב שלנו ביילי. היא חלק מהבורדר קולי וכלב הבקר האוסטרלי, כך שלפעמים היא חכמה יותר משלה, במיוחד כשזה מגיע לספר זמן ולדעת מתי היא צריכה לאכול ארוחת ערב. בדרך כלל, אנו מנסים להאכיל אותה בסביבות השעה 18:00
מזין כלבים אוטומטי: 5 שלבים
מזין כלבים אוטומטי: זהו מדריך שלב אחר שלב כיצד להכין מזין כלבים אוטומטי באמצעות Arduino. זה מושלם אם אתה מחוץ לבית במשך רוב היום. במקום שהכלב שלך יצטרך לחכות כל היום לאוכל, או שתחזור הביתה כדי להאכיל אותו, המכשיר הזה
מזין כלבים אוטומטי של פטל פאי וסטרימר וידאו חי: 3 שלבים
מזין כלבים אוטומטי מ- Raspberry Pi & סטרימינג וידאו חי: זהו מזין הכלבים האוטומטי שלי מ- Raspberry PI. עבדתי מהבוקר בין השעות 11: 00-21: 00. הכלב שלי משתגע אם אני לא מאכיל אותו בזמן. גולש בגוגל לרכוש מזיני מזון אוטומטיים, הם אינם זמינים בהודו וייבוא יקר