תוכן עניינים:

מזין הדגים האוטומטי עשה זאת בעצמך: שלב 2: 10 שלבים (עם תמונות)
מזין הדגים האוטומטי עשה זאת בעצמך: שלב 2: 10 שלבים (עם תמונות)

וִידֵאוֹ: מזין הדגים האוטומטי עשה זאת בעצמך: שלב 2: 10 שלבים (עם תמונות)

וִידֵאוֹ: מזין הדגים האוטומטי עשה זאת בעצמך: שלב 2: 10 שלבים (עם תמונות)
וִידֵאוֹ: כאבי גב תחתון ותסמונת מטבולית יום 3 2024, יולי
Anonim
מזין הדגים האוטומטי עשה זאת בעצמך: שלב 2
מזין הדגים האוטומטי עשה זאת בעצמך: שלב 2

מזין הרמה 2 הוא שלב גדול למעלה משלב 1. גרסה זו משתמשת במודול wifi ESP8266 לסנכרן את השעון של הארדואינו כדי לשלוט בלוח הזמנים והתאורה של הטנק.

שלב 1: מה תצטרך:

הכל ברמה 1 למעט טיימר האור

  • ESP8266-01
  • מתכנת FTDI (לתכנת ה- ESP8266)
  • מלחם
  • רצועת LED 5V RGBW (SK6812 IP 65, לבן לאור היום, השתמשתי בזה)
  • רצועת האור צריכה להיות עמידה במים, שכן מים יתאדו מהמיכל ויתעבו על מכסה המיכל וידליקו את עצמם.
  • ספק כוח 5V (השתמשתי באחד זה, הארדואינו לא יכול להפעיל את כל הנורות לבד).
  • אל תהסס להשתמש בכל ספק כוח 5V שאתה רוצה, רק וודא שהוא מספק מספיק כוח כדי לספק את כל האורות.
  • ווסת מתח 3.3V
  • ה- ESP8266 פועל על 3.3V, זו הסיבה שכל השאר הוא 5V, קל יותר לרדת 5 ל -3.3 מאשר לרדת 12 ל -3.3
  • נגדים (1kOhm x2, 2kOhm x2 (או 1kOhm x4), 10kOhm x1)
  • דבק מגע
  • דבק חם
  • חלקים מודפסים תלת -ממד x8 (מסופקים קבצי STL)
  • חשפניות חוטים (אני ממליץ על דברים שימושיים אלה)
  • לוח לחם (לדברים מוקדמים)
  • לוח פרוטובארד/פרויקט (להרכבה סופית)
  • כבל חשמל סטנדרטי בעל 3 שיניים.
  • (אופציונלי) מנוע רעידות טלפון סלולרי (כדי לסער את המזרן) (השתמשתי באחד מאלה)
  • התקן את ספריות הארדואינו הבאות:
  • ESP8266WiFi.h
  • WiFiUdp.h
  • TimeLib.h
  • Dusk2Dawn.h
  • Adafruit_NeoPixel.h
  • סבלנות.

שלב 2: איך זה עובד

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

שלב 3: תכנות ה- ESP8266

תכנות ה- ESP8266
תכנות ה- ESP8266

אוקיי, אז ה- ESP8266 הוא ממזר לתכנות.

זה לא ידידותי ללוח אם יש לך חוטי מגשר נקבה אני ממליץ להשתמש באלה. אם ה- ESP8266 שלך הגיע ללא התקנת קושחה כמו שלי, יהיה עליך להבהב את הקושחה. השתמש במתכנת FTDI לשם כך, יש הרבה הוראות כיצד לעשות זאת במקומות אחרים, אך סיפקתי תרשים חיווט מטעמי נוחות. וודא כי מתכנת FTDI מספק 3.3V! 5V יטגן את ה- ESP8266 שלך. בתרשים שלי, הכתום המחובר בין GPI01 ל- GND צריך להתבצע רק כאשר מהבהבים את הקושחה של ESP8266. GPI01 צריך להישאר מחובר בעת העלאת קוד ארדואינו בפועל למודול.

לאחר מכן, יהיה עליך להעלות את הקוד האמיתי של ESP8266. השתמש במתכנת FTDI הפעם יחד עם ה- arduino IDE. יהיה עליך גם להוריד ולהתקין את כל הספריות המשמשות. ההגדרות המשמשות להעלאת הקוד עם arduino 1.8 נמצאות בחלק של ההערות בהתחלה. הקפד לעדכן את הקוד באמצעות רשת ה- wifi והסיסמה שלך.

שלב 4: חבר את ה- ESP8266 ל- Arduino

חבר את ה- ESP8266 ל- Arduino
חבר את ה- ESP8266 ל- Arduino
חבר את ה- ESP8266 ל- Arduino
חבר את ה- ESP8266 ל- Arduino

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

לאחר שה- ESP8266 מחובר כולו, אתה אמור לראות הבזק אור כחול כאשר הוא מחובר לחשמל, לאחר מספר שניות לאחר מכן הוא אמור לקבל את זמן יוניקס מהאינטרנט ולשלוח אותו לארדואינו, ואז יש לו לולאת חלל ריקה () שהוא יושב בו עד שהוא מתאפס, בדיוק כמו מזין Tier 1.

כדי לוודא ש- ESP8266 פועל, יהיה עליך להעלות את הקוד מהשלב הבא לארדואינו ולפתוח את הצג הטורי.

שלב 5: העלאת קוד Arduino ופתרון בעיות

העלאת קוד Arduino ופתרון בעיות
העלאת קוד Arduino ופתרון בעיות

עכשיו העלה את הקוד לננו הארדואינו, פתח את הצג הטורי, אתה אמור לראות משהו כמו הדוגמה למעלה. הארדואינו מתאפס כאשר אתה פותח את הצג הטורי, כך ש- ESP8266 יתאפס בו זמנית. הצג הסדרתי יתחיל לספור את השניות מחצות הלילה ב -1 בינואר 1970, עד שה- ESP8266 ישלח לו את שעת יוניקס הנוכחית. כשזה קורה אתה אמור לראות את זה:

זה יכול לקחת 3-15 שניות עד שזה עובד, אז סבלנות. לעתים רחוקות ראיתי שזה לוקח יותר מ -10 שניות אבל תן לזה 15 לפני שתתחיל בפתרון בעיות.

אם ה- ESP8266 שלך לא שולח את הזמן לארדואינו, נסה את השלבים הבאים:

· וודא שהכל מחווט בדיוק כפי שהוא אמור

· בדוק שוב שאתה מכניס את ה- SSID והסיסמה של ה- wifi הנכונים ל- ESP8266, אם לא תצטרך לחבר אותו מחדש למתכנת FTDI כדי להעלות את המידע הנכון, ולאחר מכן לחבר אותו מחדש לארדואינו. (SSID או סיסמה ארוכים במיוחד עלולים לגרום לבעיות מסוימות, אך רשת ה- wifi שלי מכילה למעלה מ- 20 תווים בשני התחומים ולכן רוב הרשתות הביתיות צריכות להיות תקינות)

· בדוק בדף הניהול של הנתב שלך (אם אתה יכול) אם יש לך מכשיר מחובר שמופיע רק כאשר ה- ESP8266 פועל. כדי לוודא שהוא נשאר דולק בזמן שאתה בודק זאת (הארדואינו משבית אותו) חבר מחדש את החוט המוביל לסיכת האיפוס של ESP8266 ישירות ל -3.3V, והשארתו גבוהה תשאיר את ה- ESP8266 דולק. הקפד לבטל זאת לאחר שתבדוק.

שלב 6: התאמה אישית של קוד הארדואינו

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

כדי להבין טוב יותר כיצד מחשב הארדואינו את הזריחה והשקיעה, קרא את התיעוד בספריית Dusk2Dawn. יהיה עליך להזין את קו הרוחב והאורך שלך (אם תשנה את שם המיקום שלך, וודא שהוא משתנה בכל מקום בקוד!) Dusk2Dawn משתמש בקואורדינטות ה- GPS שלך (שתוכל למצוא במפות Google) ובזמן המקומי, כדי לקבוע מתי השמש זורחת ושוקעת תוך דקות מחצות. המשתנה minfromMid הוא הדקה הנוכחית מאז חצות, ומשווים אותה מול זריחה, שקיעה, זמני האכלה ושעת דמדומים כדי לספר לארדואינו מתי לעשות מה. הקפד לעדכן גם את אזור הזמן שלך, ברירת המחדל היא EST.

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

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

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

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

שלב 7: התאורה

האור
האור

חבר את רצועת ה- LED שלך אם עדיין לא עשית זאת.

הספק (אדום) ל- 5V, הקרקע (לבן) לקרקע, אות (ירוק) לסיכה 6 (או מה שתגדיר אותו). לאחר איפוס הארדואינו, הנורות יהיו בהירות מלאה עד ש- ESP8266 ישלח את הזמן לארדואינו והוא יקבע היכן הוא נמצא במחזור התאורה. עדיף להגדיר זאת בערב או בלילה, שכן שינוי האור יהיה דרסטי יותר. אם האורות אינם משתנים תוך 30 שניות, אפס את הארדואינו. קוד האיפוס שלי אמור לפעול, אבל אני לא מתכנת במקצועי כך שעדיין עשויים להיות כמה באגים לכאן או לכאן. אתה יכול לבדוק שהאיפוס פועל על ידי הגדרת זמן האיפוס לדקה לאחר שתעלה מחדש את הקוד והמתנה (השניה לאיפוס אקראית, כך שאפשר לארוך 1-2 דקות עד לאיפוס בפועל) תוכל לבצע את אותו הטריק מאוחר יותר על מנת לוודא שהסרוו פועל על ידי שינוי זמן האכלה. רק הקפד לשנות את הזמנים האלה בחזרה לפני שאתה משאיר אותו פועל.

לוח הזמנים המוגדר כברירת מחדל לתאורה הוא די פשוט:

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

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

שלב 8: הדפסת החלקים

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

תיקיית.zip מכילה שתי קבוצות של קבצי STL, אחת עבור מנוע סרוו SM22 המקורי בו השתמשתי ואחת נוספת עבור סרוו SG90 הנפוץ בהרבה. שניהם מכילים את קבצי Fusion 360 אם אתה רוצה/צריך לשנות את כל החלקים. STLs ST22 בהחלט משתלבים זה בזה, מכיוון שהם אלה בהם השתמשתי. לא הדפסתי או בדקתי את החלקים SG90.

עבור חומרים, אני ממליץ להשתמש בפלסטיק בטוח למזון. השתמשתי ב- Raptor PLA מ- makergeeks, המגיע בהמון צבעים והוא סופר חזק לאחר שהסתרת אותו למשך 10 דקות. ניתן לעשות זאת על ידי הרתחת החלקים, מה שאני ממליץ לך לעשות רק עבור הגלגל אם הוא לא ממש מתאים מכיוון שהחישול יכווץ את החלקים בכ -3%.

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

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

שלב 9: הרכבה

הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה

השתמש ב- protoboard כדי לחבר הכל. השתמשתי בחוטי מגשר כך שלא הייתי צריך להלחם כל כך הרבה, אבל זה המקום שבו תלחם הכי הרבה. כל עוד החיבורים זהים, המערכת תעבוד כפי שעשתה על לוח הלחם. הלחמתי יחד סיכות כותרת ליצירת "מסילות כוח" לקרקע, 5V, 3.3V, וכן יציאות האות של אותות סרוו ו- 3.3V ללא כוח ל- ESP8266 (RX, CH_PD ו- RST). כיוונתי את כל הסיכות כלפי הצד התחתון של הלוח, כשהרכיבים בחלקו העליון.

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

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

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

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

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

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

שלב 10: דברים שכדאי להקפיד עליהם בהתחלה:

דברים שכדאי לשים לב אליהם בהתחלה
דברים שכדאי לשים לב אליהם בהתחלה
דברים שכדאי לשים לב אליהם בהתחלה
דברים שכדאי לשים לב אליהם בהתחלה
דברים שכדאי לשים לב אליהם בהתחלה
דברים שכדאי לשים לב אליהם בהתחלה

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

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

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

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

מוּמלָץ: