Τα φυτά του ενυδρείου χρειάζονται φως για να δημιουργήσουν ενέργεια μέσω της φωτοσύνθεσης, ενώ πολλά ψάρια επωφελούνται από ένα κανονικό κύκλος φωτός, αλλά πώς μπορείτε να τους παρέχετε τεχνητό φωτισμό με τα DIY ηλεκτρονικά εργαλεία που έχετε ήδη έχω? Ας φτιάξουμε ένα σύστημα φωτισμού ενυδρείου DIY χρησιμοποιώντας ένα Arduino, ρολόι σε πραγματικό χρόνο και λωρίδα LED.

Χρήση φωτός ενυδρείου LED

Πριν ξεκινήσουμε, αξίζει να σημειωθεί ότι τα LED που χρησιμοποιούμε σε αυτό το έργο δεν είναι LED πλήρους φάσματος που μιμούνται το φως της ημέρας. Αυτό σημαίνει ότι δεν παρέχουν όλα τα μήκη κύματος φωτός που είναι ευεργετικά για τα φυτά, καθιστώντας τα ακατάλληλο για φυτά ενυδρείου με μεγάλες ανάγκες φωτός και σπατάλη μικρής ποσότητας της ενέργειας που παράγεται από το LED.

Τούτου λεχθέντος, για φυτεμένα ενυδρεία με απαιτήσεις χαμηλού φωτισμού, ο φωτισμός LED όπως αυτός μπορεί να είναι εξαιρετικός επιλογή που προσφέρει ταχύτερη και πιο υγιή ανάπτυξη των φυτών χωρίς το κόστος που συνεπάγεται ο πολύς φωτισμός ενυδρείων προϊόντα; απλά δεν θα πάρεις την ίδια ισχύ.

instagram viewer

Δεν είναι μόνο τα φυτά στο ενυδρείο σας που επωφελούνται από τον φωτισμό LED: πολλά είδη ψαριών απολαμβάνουν έναν τακτικό κύκλο φωτός που μιμείται μέρα και νύχτα για να διατηρήσει τον κιρκάδιο ρυθμό τους, δίνοντάς τους τη δυνατότητα να ξεκουραστούν, να αναζητήσουν τροφή και να είναι δραστήριοι όπως θα ήταν το άγριο.

Για να δημιουργήσετε ένα σύστημα φωτισμού LED που τροφοδοτεί έναν κύκλο ημέρας-νύχτας για τα ψάρια και τα φυτά στο ενυδρείο σας, θα χρησιμοποιήσουμε ένα Arduino, ένα ρολόι πραγματικού χρόνου (RTC) και μια λωρίδα LED—όπως μπορεί να χρησιμοποιηθεί για μια μεγάλη ποικιλία του Έργα φωτισμού LED Arduino.

Τι χρειάζεσαι?

Χρειάζεστε μόνο μια χούφτα εξαρτήματα για να ολοκληρώσετε αυτήν την κατασκευή:

  • 1x Μικροελεγκτής Arduino με καρφίτσες SDA/SCL (Uno, Leonardo, Micro, κ.λπ. χρησιμοποιούμε Pro Micro)
  • 1x μονάδα RTC DS3231
  • 1x WS2812/WS2812B NeoPixel RGB λωρίδα LED με βαθμολογία IP65 ή υψηλότερη (χρησιμοποιούμε μια λωρίδα 60 LED 1 μέτρου WS2812 που έχει σφραγιστεί με πυρίτιο. μπορεί να επωφεληθείτε από τη χρήση περισσότερων LED αν έχετε δεξαμενή 20+ γαλονιών)
  • 1 x 12v τροφοδοτικό AC σε DC με θηλυκό βύσμα κάννης
  • 1 x 1000uF πυκνωτής (προαιρετικό)
  • Διάφορα σύρματα και θερμοσυστελλόμενα κομμάτια
  • Superglue/ταινία διπλής όψης
  • Νήμα 3D εκτυπωτή (προαιρετικό)

Θα χρειαστείτε επίσης κάποια εργαλεία για να ολοκληρώσετε αυτό το έργο.

  • Ένα κολλητήρι
  • Συρματοκόφτες/απογυμνωτές
  • Θερμικό πιστόλι
  • Εκτυπωτής 3D (προαιρετικό)

Καλωδίωση της εγκατάστασης φωτός LED του ενυδρείου DIY

Η καλωδίωση του φωτισμού του ενυδρείου σας DIY είναι απλή, με λίγες μόνο συνδέσεις που πρέπει να κάνετε πριν ξεκινήσετε την κωδικοποίηση του έργου σας. Το παραπάνω διάγραμμα δείχνει όλες τις συνδέσεις που πρέπει να κάνετε, αλλά το έχουμε αναλύσει στις παρακάτω ενότητες.

Καλωδίωση του ρολογιού πραγματικού χρόνου

Το DS3231 RTC σε αυτό το έργο λειτουργεί ως χρονόμετρο για τον φωτισμό LED στο ενυδρείο μας. Αυτή η μονάδα έχει τέσσερις ακίδες που θα χρησιμοποιήσουμε: SCL, SDA, VCC και GND, οι οποίες μπορούν να συνδεθούν απευθείας με το Arduino Pro Micro.

  • SCL σε 3 στο Arduino
  • SDA σε 2 στο Arduino
  • VCC σε 5V στο Arduino
  • GND σε GND στο Arduino

Καλωδίωση της λωρίδας LED

Η καλωδίωση της λωρίδας LED σας είναι πιο περίπλοκη από το RTC, καθώς οι λυχνίες LED είναι πιθανό να βρίσκονται σε κάποια απόσταση από το Arduino και πρέπει να χρησιμοποιήσετε ξεχωριστό τροφοδοτικό για να πάρετε την πλήρη φωτεινότητα από τα LED σας. Το παραπάνω διάγραμμα δείχνει πώς μπορείτε να συνδέσετε τη λωρίδα LED NeoPixel στο Arduino και την πηγή τροφοδοσίας για το καλύτερο Αποτελέσματα.

  • DIN σε Digital Pin 7 στο Arduino
  • GND σε GND σε Arduino και αρνητικό (-) τερματικό πηγής ενέργειας
  • Τερματικό VCC/5V+/12V σε θετική (+) πηγή ενέργειας
  • Συνιστάται ιδιαίτερα να χρησιμοποιείτε έναν πυκνωτή 1000uF στους ακροδέκτες της αρνητικής (-) και της θετικής (+) πηγής ενέργειας για να αποτρέψετε ζημιά στα LED σας

Παράλληλα με τη σύνδεση της λωρίδας LED με την πηγή τροφοδοσίας Arduino και 12V, θα τροποποιήσουμε επίσης Κλωνοποιήστε το NeoPixel για να δημιουργήσετε τρεις μικρότερες λωρίδες LED που θα συνδέονται σε μια αλυσίδα με ένα μακρύ καλώδιο. Θα χρησιμοποιήσουμε ένα μονωμένο καλώδιο τριών πυρήνων για αυτό, μαζί με θερμική συρρίκνωση για τη στεγανοποίηση των αρμών. Η λωρίδα LED μας συνοδεύεται από υποδοχές JST σε κάθε άκρο, παρέχοντάς μας έναν βολικό τρόπο για να κάνουμε δυνατή την αποσύνδεση της ταινίας από το Arduino μας.

Κωδικοποιήστε τα φώτα NeoPixel του ενυδρείου Arduino που κάνετε DIY

Το στοιχείο κωδικοποίησης αυτού του έργου είναι πιο περίπλοκο από την καλωδίωση. Μπορείτε να ξεκινήσετε με ένα βασικό κενό έργο Arduino, καθώς δεν θα χρειαστούμε τίποτα εκτός των λειτουργιών που το συνοδεύουν.

Προσθήκη των Βιβλιοθηκών

Πριν προσθέσουμε οποιονδήποτε κώδικα, πρέπει να εγκαταστήσουμε κάποιες βιβλιοθήκες και όλες αυτές μπορούν να βρεθούν στο Arduino IDE Library Manager.

  • Wire.h: Αυτή η βιβλιοθήκη συνοδεύεται από το Arduino IDE και σας επιτρέπει να επικοινωνείτε με στοιχεία I2C, όπως το RTC μας.
  • Adafruit_NeoPixel.h: Αυτή η βιβλιοθήκη προσθέτει λειτουργίες/τάξεις για τον έλεγχο των LED NeoPixel, αλλά λειτουργεί εξίσου καλά με την κανονική μας ταινία LED WS2812.
  • RTClib.h: Αυτή η βιβλιοθήκη μας δίνει τη δυνατότητα να ελέγχουμε τη μονάδα DS3231 RTC.
#περιλαμβάνω  //Βιβλιοθήκη ταινίας LED
#περιλαμβάνω
#περιλαμβάνω //Βιβλιοθήκη RTC

Προσθήκη καθολικών μεταβλητών (προαιρετικό)

Προσθέσαμε καθολικές μεταβλητές στον κώδικά μας, ώστε να μπορούμε να αλλάξουμε τη συμπεριφορά του φωτισμού μας με κουμπιά και άλλες εισόδους σε μελλοντικά έργα. Αυτό δεν είναι απαραίτητο, αλλά θα διευκολύνει την επεξεργασία του κωδικού σας όταν χρειάζεται να κάνετε αλλαγές. Προσθέσαμε μεταβλητές για τη φωτεινότητα και την απόχρωση LED, μαζί με μια μεταβλητή για την αποθήκευση του χρώματος της λωρίδας LED μας.

Δήλωση & αρχικοποίηση αντικειμένων ταινίας LED/RTC

Στη συνέχεια, πρέπει να δηλώσουμε τη λωρίδα LED και το RTC ως αντικείμενα που μπορούν να χρησιμοποιηθούν από το Arduino μας, και στη συνέχεια να τα αρχικοποιήσουμε μέσα στον βρόχο εγκατάστασης.

Οι λωρίδες LED μας μπορούν να δηλωθούν ορίζοντας πρώτα την ακίδα που χρησιμοποιείται και ρυθμίζοντας τον αριθμό των LED στη λωρίδα, αλλά στη συνέχεια μπορείτε να χρησιμοποιήσετε τις παρακάτω γραμμές για να κάνετε την ίδια τη δήλωση.

#define LED_PIN 7 // Ορίζει τη λωρίδα LED μας στην καρφίτσα 7
#define LED_COUNT 60 // Ορίζει τον αριθμό των LED NeoPixel
Λωρίδα Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Δηλώνει το αντικείμενο της λωρίδας LED μας

Το RTC είναι πιο εύκολο να δηλώσετε και χρειάζεται μόνο να χρησιμοποιήσετε την παρακάτω γραμμή για να το εκτελέσετε. όλες οι σημαντικές ρυθμίσεις εφαρμόζονται από προεπιλογή.

RTC_DS3231 rtc;

Μόλις ολοκληρωθεί αυτό, πρέπει απλώς να αρχικοποιήσουμε το RTC χρησιμοποιώντας τον ακόλουθο κώδικα στην κλάση εγκατάστασης.

 Serial.begin (57600); //Ξεκινά η σειριακή μας σύνδεση

#ifndef ESP8266
ενώ (!Σειρά); // Περιμένετε να συνδεθεί η σειριακή θύρα
#τέλος εαν

αν (! rtc.begin()) {
Serial.println("Δεν ήταν δυνατή η εύρεση του RTC");
Serial.flush();
ενώ (1) καθυστέρηση (10);
} //Αυτό ελέγχει για να βεβαιωθεί ότι το RTC μας είναι συνδεδεμένο

Δημιουργία του βρόχου χρονοδιακόπτη

Τώρα, ήρθε η ώρα να δημιουργήσετε τον κύριο βρόχο για τις λωρίδες LED του ενυδρείου σας. Αυτό γίνεται μέσα στον κύριο βρόχο που συνοδεύει το άδειο έργο Arduino και αυτό σημαίνει ότι θα εκτελείται συνεχώς.

Ξεκινάμε τον βρόχο ελέγχοντας την τρέχουσα ώρα με το ρολόι μας σε πραγματικό χρόνο και ορίζοντας μια μεταβλητή για την αποθήκευση, διασφαλίζοντας ότι το φως της ημέρας παρέχεται κατά τη διάρκεια της ημέρας. Μόλις έχουμε ένα Ημερομηνία ώρα μεταβλητή για παιχνίδι, μπορούμε να αντιστοιχίσουμε την τρέχουσα ώρα και λεπτό σε ξεχωριστές μεταβλητές, επιτρέποντάς μας να ελέγχουμε τον φωτισμό μας με μεγάλη ακρίβεια.

 DateTime now = rtc.now(); //Συλλέγει την τρέχουσα ώρα
int ωω = now.hour(); //Εφαρμόζει το ρεύμα μας σε μια μεταβλητή

Μετά από αυτό, χρησιμοποιήσαμε μια σειρά από αν δηλώσεις για να καθορίσουμε αν θα ανάψουμε τα φώτα μας. Αυτά τα αν οι δηλώσεις ελέγχουν αν η τρέχουσα ώρα είναι ίση ή μεγαλύτερη από 9 π.μ. και ίση ή μικρότερη από 9 μ.μ., δίνοντάς μας ένα παράθυρο από τις 9 π.μ. έως τις 9 μ.μ. για να έχουμε τα φώτα LED μας αναμμένα.

Εάν πληρούνται αυτές οι προϋποθέσεις, κωδικοποιήστε μέσα στο αν Η δήλωση ορίζει τη φωτεινότητα και το χρώμα των λωρίδων LED στις καθολικές μεταβλητές που ορίσαμε νωρίτερα, μαζί με τη χρήση ενός προβολή εντολή για ενημέρωση της λωρίδας LED. Εάν δεν πληρούνται οι προϋποθέσεις, α αλλού Η δήλωση χρησιμοποιείται για τη ρύθμιση της φωτεινότητας των LED στο 0, απενεργοποιώντας τα ουσιαστικά κατά τη διάρκεια της νύχτας.

 strip.begin(); //Ενεργοποιεί τη λωρίδα LED
strip.show(); //Εμφανίζει τις αλλαγές LED από κάθε βρόχο

εάν (ωω <= 8) { //Εάν η ώρα είναι ίση ή μικρότερη από 8 π.μ., η λωρίδα LED διαγράφεται
strip.clear();
}
εάν ((ωω > 8) && (ωω < 21)) { //Εάν η ώρα είναι μεταξύ 9 π.μ. και 9 μ.μ., τα LED ανάβουν
strip.setBrightness (255);
strip.fill (κίτρινοΛευκό, 0, 59);
}

if (hh >= 21) { //Εάν η ώρα είναι ίση ή μεγαλύτερη από 9 μ.μ., η λωρίδα LED διαγράφεται
strip.clear();
}

Ο Πλήρης Κώδικας

#include //Βιβλιοθήκη λωρίδων LED
#περιλαμβάνω
#include //RTC Library
#define LED_PIN 7 // Ορίζει τη λωρίδα LED μας στην καρφίτσα 7
#define LED_COUNT 60 // Ορίζει τον αριθμό των LED NeoPixel
Λωρίδα Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Δηλώνει το αντικείμενο της λωρίδας LED μας
uint32_t κίτρινοΛευκό = λωρίδα. Χρώμα (255, 251, 201); //Δημιουργεί μια μεταβλητή ανοιχτού χρώματος
RTC_DS3231 rtc; //Δηλώνει το αντικείμενο RTC μας
void setup() {
Serial.begin (57600); //Ξεκινά η σειριακή μας σύνδεση
#ifndef ESP8266
ενώ (!Σειρά); // Περιμένετε να συνδεθεί η σειριακή θύρα
#τέλος εαν
αν (! rtc.begin()) {
Serial.println("Δεν ήταν δυνατή η εύρεση του RTC");
Serial.flush();
ενώ (1) καθυστέρηση (10);
} //Αυτό ελέγχει για να βεβαιωθεί ότι το RTC μας είναι συνδεδεμένο
}
void loop() {
DateTime now = rtc.now(); //Συλλέγει την τρέχουσα ώρα
int ωω = now.hour(); //Εφαρμόζει το ρεύμα μας σε μια μεταβλητή
strip.begin(); //Ενεργοποιεί τη λωρίδα LED
strip.show(); //Εμφανίζει τις αλλαγές LED από κάθε βρόχο
εάν (ωω <= 8) { //Εάν η ώρα είναι ίση ή μικρότερη από 8 π.μ., η λωρίδα LED διαγράφεται
strip.clear();
}
εάν ((ωω > 8) && (ωω < 21)) { //Εάν η ώρα είναι μεταξύ 9 π.μ. και 9 μ.μ., τα LED ανάβουν
strip.setBrightness (255);
strip.fill (κίτρινοΛευκό, 0, 59);
}
if (hh >= 21) { //Εάν η ώρα είναι ίση ή μεγαλύτερη από 9 μ.μ., η λωρίδα LED διαγράφεται
strip.clear();
}
καθυστέρηση (1000); //Καθυστέρηση για σταθερότητα
}

Τοποθέτηση του φωτισμού του ενυδρείου σας LED

Η λωρίδα LED μας συνοδεύεται από μια εύχρηστη αυτοκόλλητη ταινία, που καθιστά απίστευτα εύκολη την προσάρτησή της στην κουκούλα/καπάκι της δεξαμενής μας. Το ίδιο αποτέλεσμα μπορεί να επιτευχθεί με ταινία διπλής όψης ή υπερκόλλα, αλλά πρέπει να είστε προσεκτικοί για να διασφαλίσετε ότι η κόλλα που θα επιλέξετε θα μπορέσει να επιβιώσει από τη συσσώρευση συμπύκνωσης. Θα μπορούσατε επίσης να εκτυπώσετε 3D μια βάση για το νέο σας φωτιστικό ενυδρείου, εάν η δεξαμενή σας δεν έχει καπάκι και μια θήκη για τα άλλα εξαρτήματα που έχετε χρησιμοποιήσει.

Φωτιστικά ενυδρείου Arduino DIY

Τα φυτά και τα ψάρια του ενυδρείου επωφελούνται από έναν τακτικό κύκλο φωτισμού. Αν και το φως μας δεν είναι πλήρους φάσματος, εξακολουθεί να παρέχει μεγάλο μέρος του μπλε, του πράσινου και του κόκκινου φωτός που χρειάζονται τα φυτά σας. Το καλύτερο, όμως, είναι ότι αυτό το έργο είναι απίστευτα προσιτό, απλό και διασκεδαστικό.

Τα καλύτερα αξεσουάρ για έξυπνες δεξαμενές ενυδρείου

Αυτοματοποιήστε το ενυδρείο σας επενδύοντας σε έξυπνα αξεσουάρ που θα μειώσουν την ανάγκη για χειροκίνητη παρέμβαση, διατηρώντας τα ψάρια σας υγιή και χαρούμενα.

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχετικά θέματα
  • DIY
  • Arduino
  • Φώτα LED
  • Εξυπνο σπίτι
Σχετικά με τον Συγγραφέα
Σάμουελ Λ. Garbett (Δημοσιεύτηκαν 33 άρθρα)

Ο Samuel είναι ένας συγγραφέας τεχνολογίας με έδρα το Ηνωμένο Βασίλειο με πάθος για όλα τα πράγματα DIY. Έχοντας ξεκινήσει επιχειρήσεις στους τομείς της ανάπτυξης ιστοσελίδων και της τρισδιάστατης εκτύπωσης, παράλληλα με την εργασία ως συγγραφέας για πολλά χρόνια, ο Samuel προσφέρει μια μοναδική εικόνα του κόσμου της τεχνολογίας. Εστιάζοντας κυρίως σε έργα τεχνολογίας DIY, δεν του αρέσει τίποτα περισσότερο από το να μοιράζεται διασκεδαστικές και συναρπαστικές ιδέες που μπορείτε να δοκιμάσετε στο σπίτι. Εκτός δουλειάς, ο Samuel μπορεί συνήθως να βρεθεί να κάνει ποδήλατο, να παίζει βιντεοπαιχνίδια υπολογιστή ή να προσπαθεί απεγνωσμένα να επικοινωνήσει με το κατοικίδιο καβούρι του.

Περισσότερα από τον Samuel L. Garbett

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε