צמחי אקווריום זקוקים לאור כדי ליצור אנרגיה באמצעות פוטוסינתזה, בעוד שדגים רבים נהנים מצמח רגיל מחזור האור, אבל איך אתה יכול לספק תאורה מלאכותית עבורם עם הכלים האלקטרוניים עשה זאת בעצמך כבר יש? בואו נבנה מערכת תאורת אקווריום עשה זאת בעצמך באמצעות ארדואינו, שעון זמן אמת ופס לד.
שימוש באור LED אקווריום
לפני שנתחיל, ראוי לציין שהנוריות בהן אנו משתמשים בפרויקט זה אינן נוריות LED בספקטרום מלא המחקות אור יום. זה אומר שהם לא מספקים את כל אורכי הגל המועילים לצמחים, מה שהופך אותם לא מתאים לצמחי אקווריום עם צורכי אור כבדים ובזבוז כמות קטנה מהאנרגיה שמפיקה נוריות.
עם זאת, עבור אקווריומים נטועים עם דרישות אור נמוכות, תאורת LED כזו יכולה להיות מצוינת בחירה שמציעה צמיחה מהירה ובריאה יותר של צמחים ללא העלות שמגיעה עם תאורת אקווריום רבות מוצרים; אתה פשוט לא תקבל את אותו הספק.
לא רק הצמחים באקווריום שלכם נהנים מתאורת LED: מיני דגים רבים נהנים ממחזור אור קבוע מחקה יום ולילה כדי לשמר את הקצב הצירקדי שלהם, מה שמאפשר להם לנוח, לחפש מזון ולהיות פעילים כפי שהם היו. הטבע הפראי.
לבנות מערכת תאורת LED המפעילה מחזור יום-לילה עבור הדגים והצמחים באקווריום שלך, אנו נשתמש בארדואינו, שעון זמן אמת (RTC) ופס LED - כפי שניתן להשתמש בו עבור מגוון רחב שֶׁל
פרויקטי תאורת LED של Arduino.מה אתה צריך?
אתה צריך רק קומץ חלקים כדי להשלים את המבנה הזה:
- 1x מיקרו-בקר Arduino עם פיני SDA/SCL (Uno, Leonardo, Micro וכו'; אנחנו משתמשים ב-Pro Micro)
- 1x מודול DS3231 RTC
- רצועת LED 1x WS2812/WS2812B NeoPixel RGB עם דירוג IP65 ומעלה (אנו משתמשים ברצועת WS2812 60 LED 1 מטר WS2812 שנאטמה בסיליקון; אתה עשוי להפיק תועלת משימוש בעוד נוריות LED אם יש לך מיכל של 20+ ליטר)
- 1x 12v AC to DC מתאם מתח עם מחבר חבית נקבה
- קבל 1x 1000uF (אופציונלי)
- חוטים מגוונים וחתיכות לכווץ חום
- דבק סופר/סרט דו צדדי
- חוט חוט מדפסת תלת מימד (אופציונלי)
תצטרך גם כמה כלים כדי להשלים את הפרויקט הזה.
- מלחם
- חותכי חוטים/חשפניות
- אקדח חום
- מדפסת תלת מימד (אופציונלי)
חיווט את הגדרת תאורת ה-LED באקווריום עשה זאת בעצמך
לחבר את תאורת האקווריום שלך בעשה זאת בעצמך הוא פשוט, עם רק כמה חיבורים לעשות לפני שתוכל להתחיל בקידוד הפרויקט שלך. התרשים שלמעלה מציג את כל החיבורים שאתה צריך לעשות, אבל פירקנו את זה בסעיפים למטה.
חיווט של שעון זמן אמת
ה-DS3231 RTC בפרויקט זה פועל כטיימר לתאורת ה-LED באקווריום שלנו. למודול זה יש ארבעה פינים שבהם נשתמש: SCL, SDA, VCC ו-GND, את כולם ניתן לחבר ישירות אל Arduino Pro Micro שלנו.
- SCL ל-3 בארדואינו
- SDA ל-2 ב- Arduino
- VCC ל-5V ב- Arduino
- GND ל GND ב- Arduino
חיווט את רצועת ה-LED
חיווט רצועת ה-LED שלך מסובך יותר מה-RTC, מכיוון שהנוריות צפויות להיות במרחק מה מהארדואינו ואתה צריך להשתמש במתאם מתח נפרד כדי לקבל את הבהירות המלאה מנורות ה-LED שלך. התרשים שלמעלה מראה כיצד אתה יכול לחבר את רצועת ה-LED NeoPixel שלך ל-Arduino ולמקור החשמל שלך על הצד הטוב ביותר תוצאות.
- DIN ל-Digital Pin 7 ב- Arduino
- GND ל-GND ב-Arduino ומסוף מקור מתח שלילי (-).
- VCC/5V+/12V למסוף מקור מתח חיובי (+).
- מומלץ מאוד להשתמש בקבל של 1000uF על פני מסוף מקור הכוח השלילי (-) והחיובי (+) כדי למנוע נזק לנוריות ה-LED שלך
לצד חיבור רצועת ה-LED שלנו ל-Arduino ומקור המתח של 12V, אנו נשנה גם שיבוט NeoPixel ליצירת שלושה פסי LED קטנים יותר שיחברו בשרשרת עם כבל ארוך. לשם כך נשתמש בכבל משולש ליבות מבודד, יחד עם כיווץ חום כדי לאטום את המפרקים. פס ה-LED שלנו הגיע עם מחברי JST בכל קצה, מה שמספק לנו דרך נוחה לאפשר לנתק את הפס מהארדואינו שלנו.
קידוד עשה זאת בעצמך את אורות NeoPixel Aquarium Arduino
אלמנט הקידוד של פרויקט זה מסובך יותר מהחיווט. אתה יכול להתחיל עם פרויקט Arduino ריק בסיסי, מכיוון שלא נצטרך שום דבר מחוץ לפונקציות שמגיעות איתו.
הוספת הספריות
לפני הוספת קוד כלשהו, עלינו להתקין מספר ספריות, ואת כל אלה ניתן למצוא בתוך Arduino IDE Library Manager.
- Wire.h: ספרייה זו מגיעה עם Arduino IDE ומאפשרת לך לתקשר עם רכיבי I2C, כמו ה-RTC שלנו.
- Adafruit_NeoPixel.h: ספרייה זו מוסיפה פונקציות/שיעורים לשליטה בנורות LED של NeoPixel, אבל היא עובדת באותה מידה עם פס ה-LED הרגיל שלנו WS2812.
- RTClib.h: ספרייה זו מאפשרת לנו לשלוט במודול DS3231 RTC שלנו.
#לִכלוֹל //ספריית LED Strip
#לִכלוֹל
#לִכלוֹל //ספריית RTC
הוספת משתנים גלובליים (אופציונלי)
הוספנו משתנים גלובליים לקוד שלנו כדי שנוכל לשנות את התנהגות התאורה שלנו עם כפתורים וכניסות אחרות בפרויקטים עתידיים. זה לא חיוני, אבל זה יקל על עריכת הקוד שלך כשתצטרך לבצע שינויים. הוספנו משתנים עבור בהירות וגוון LED, יחד עם משתנה לאחסון צבע פס ה-LED שלנו.
הכרזה ואיתחול אובייקטי LED Strip/RTC
לאחר מכן, עלינו להכריז על רצועת ה-LED וה-RTC שלנו כאובייקטים שיכולים לשמש את ה-Arduino שלנו, ולאחר מכן אתחולם בתוך לולאת ההגדרה שלנו.
ניתן להצהיר על פסי ה-LED שלנו על ידי הגדרה תחילה של הסיכה שבה נעשה שימוש והגדרת מספר נוריות הלד על הרצועה, אך לאחר מכן ניתן להשתמש בקווים למטה כדי לבצע את ההצהרה עצמה.
#define LED_PIN 7 // מגדיר את פס ה-LED שלנו לפין 7
#define LED_COUNT 60 // מגדיר את ספירת ה-NeoPixel LED
רצועת Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //מצהיר על אובייקט פס ה-LED שלנו
קל יותר להכריז על ה-RTC, ואתה רק צריך להשתמש בשורה למטה כדי להפעיל אותו; כל ההגדרות החשובות מיושמות כברירת מחדל.
RTC_DS3231 rtc;
ברגע שזה הושלם, אנחנו רק צריכים לאתחל את ה-RTC שלנו באמצעות הקוד הבא במחלקת ההתקנה שלנו.
Serial.begin (57600); //מתחיל את החיבור הטורי שלנו
#ifndef ESP8266
while (!סדרתי); // המתן לחיבור של יציאה טורית
#endif
אם (! rtc.begin()) {
Serial.println("לא הצליח למצוא RTC");
Serial.flush();
בעוד (1) עיכוב (10);
} //זה בודק כדי לוודא שה-RTC שלנו מחובר
בניית לולאת הטיימר
עכשיו, הגיע הזמן לבנות את הלולאה הראשית עבור פסי ה-LED של האקווריום שלך. זה מטופל בתוך הלולאה הראשית שהגיעה עם פרויקט Arduino הריק שלך, וזה אומר שהוא יפעל ברציפות.
אנו מתחילים את הלולאה על ידי בדיקת השעה הנוכחית עם שעון הזמן האמיתי שלנו והגדרת משתנה לאחסון אותו, ומבטיחים שאור יום יסופק במהלך היום. ברגע שיש לנו א תאריך שעה משתנה לשחק איתו, אנחנו יכולים להקצות את השעה והדקה הנוכחית למשתנים נפרדים, מה שמאפשר לנו לשלוט בתאורה שלנו בדיוק רב.
DateTime now = rtc.now(); //אוסף את השעה הנוכחית
int hh = now.hour(); //מחיל את הנוכחי our על משתנה
בעקבות זאת, השתמשנו בסדרה של אם הצהרות כדי לקבוע אם להדליק את האורות שלנו. אלה אם הצהרות בודקות אם השעה הנוכחית שווה או יותר מ-9:00 ושווה או פחות מ-21:00, מה שנותן לנו חלון של 9:00 עד 21:00 כדי להדליק את נורות ה-LED שלנו.
אם תנאים אלה מתקיימים, קוד בתוך אם הצהרה מגדירה את הבהירות והצבע של פסי ה-LED שלנו למשתנים הגלובליים שקבענו קודם לכן, יחד עם שימוש ב-a הופעה פקודה לעדכון פס ה-LED. אם התנאים לא מתקיימים, א אַחֵר הצהרה משמשת כדי להגדיר את בהירות הנוריות ל-0, ולמעשה מכבה אותן במהלך הלילה.
strip.begin(); //מדליק את פס הלד
strip.show(); //מראה את השינויים ב-LED מכל לולאהif (hh <= 8) { //אם הזמן שווה או קטן מ-8:00, פס ה-LED נמחק
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //אם השעה היא בין 9:00 ל-21:00, הנוריות נדלקות
strip.setBrightness (255);
strip.fill (צהוב לבן, 0, 59);
}
if (hh >= 21) { //אם הזמן שווה או גדול מ-21:00, רצועת ה-LED מנוקה
strip.clear();
}
הקוד המלא
#include //ספריית LED Strip
#לִכלוֹל
#include //ספריית RTC
#define LED_PIN 7 // מגדיר את פס ה-LED שלנו לפין 7
#define LED_COUNT 60 // מגדיר את ספירת ה-NeoPixel LED
רצועת Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //מצהיר על אובייקט פס ה-LED שלנו
uint32_t yellowWhite = רצועה. צבע (255, 251, 201); //יוצר משתנה צבע בהיר
RTC_DS3231 rtc; //מצהיר על אובייקט ה-RTC שלנו
void setup() {
Serial.begin (57600); //מתחיל את החיבור הטורי שלנו
#ifndef ESP8266
while (!סדרתי); // המתן לחיבור של יציאה טורית
#endif
אם (! rtc.begin()) {
Serial.println("לא הצליח למצוא RTC");
Serial.flush();
בעוד (1) עיכוב (10);
} //זה בודק כדי לוודא שה-RTC שלנו מחובר
}
void loop() {
DateTime now = rtc.now(); //אוסף את השעה הנוכחית
int hh = now.hour(); //מחיל את הנוכחי our על משתנה
strip.begin(); //מדליק את פס הלד
strip.show(); //מראה את השינויים ב-LED מכל לולאה
if (hh <= 8) { //אם הזמן שווה או קטן מ-8:00, פס ה-LED נמחק
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //אם השעה היא בין 9:00 ל-21:00, הנוריות נדלקות
strip.setBrightness (255);
strip.fill (צהוב לבן, 0, 59);
}
if (hh >= 21) { //אם הזמן שווה או גדול מ-21:00, רצועת ה-LED מנוקה
strip.clear();
}
עיכוב (1000); //עיכוב ליציבות
}
התאמת תאורת ה-LED שלך לאקווריום
פס ה-LED שלנו הגיע עם פס דבק שימושי מחובר, מה שהופך אותו קל להפליא לחבר אותו למכסה המנוע/מכסה של הטנק שלנו. ניתן להשיג את אותה תוצאה עם סרט דו צדדי או דבק על, אך עליך להקפיד על מנת להבטיח שהדבק שתבחר יוכל לשרוד הצטברות עיבוי. אתה יכול גם להדפיס תלת מימד מעמד לאור האקווריום החדש שלך אם למיכל שלך אין מכסה, ומארז עבור הרכיבים האחרים שבהם השתמשת.
עשה זאת בעצמך אורות אקווריום Arduino
צמחי אקווריום ודגים נהנים ממחזור תאורה קבוע. למרות שהאור שלנו אינו בספקטרום מלא, הוא עדיין מספק הרבה מהאור הכחול, האור הירוק והאור האדום שהצמחים שלך צריכים. עם זאת, מה שהכי טוב הוא שהפרויקט הזה הוא זול להפליא, פשוט וכיף לקחת על עצמו.
הפוך את האקווריום שלך לאוטומטי על ידי השקעה באביזרים חכמים שיפחיתו את הצורך בהתערבות ידנית, וישמרו על דגים בריאים ומאושרים.
קרא הבא
- עשה זאת בעצמך
- ארדואינו
- נורות לד
- בית חכם
סמואל הוא סופר טכנולוגיה מבוסס בריטניה עם תשוקה לכל מה שקשור ל-DIY. לאחר שהקים עסקים בתחומי בניית אתרים והדפסת תלת מימד, לצד עבודתו ככותב שנים רבות, סמואל מציע תובנה ייחודית לעולם הטכנולוגיה. הוא מתמקד בעיקר בפרויקטים טכנולוגיים של עשה זאת בעצמך, הוא לא אוהב יותר מאשר לחלוק רעיונות מהנים ומרגשים שתוכלו לנסות בבית. מחוץ לעבודה, בדרך כלל ניתן למצוא את סמואל רוכב על אופניים, משחק במשחקי מחשב או מנסה נואשות לתקשר עם סרטן המחמד שלו.
הירשם לניוזלטר שלנו
הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!
לחץ כאן כדי להירשם