Πίνακας περιεχομένων:

Ρολόι περιβάλλοντος πραγματικού χρόνου: 4 βήματα
Ρολόι περιβάλλοντος πραγματικού χρόνου: 4 βήματα

Βίντεο: Ρολόι περιβάλλοντος πραγματικού χρόνου: 4 βήματα

Βίντεο: Ρολόι περιβάλλοντος πραγματικού χρόνου: 4 βήματα
Βίντεο: Μαρία Ευθυμίου Αντέχοντας στο Χρόνο Επεισόδιο 5 - Ιστορία του Νέου Ελληνισμού (13ος - 19ος αιών.) 2024, Νοέμβριος
Anonim
Ρολόι πραγματικού χρόνου περιβάλλοντος
Ρολόι πραγματικού χρόνου περιβάλλοντος

Σκοπός

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

Βήμα 1: Βίντεο YouTube

Image
Image

Δείτε αυτό το βίντεο στο youtube για πλήρεις οδηγίες

Βήμα 2: Διαδικασία

Πρώτα πήρα έναν πίνακα από κόντρα πλακέ 24 x 15 ιντσών.

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

και το έβαλε όλο αυτό πίσω από τον πίνακα. Παρήγγειλα επίσης ένα προσαρμοσμένο pcb για το ίδιο από τη https://jlcpcb.com παρέχουν τα καλύτερα πρωτότυπα pcb στη χαμηλότερη τιμή από την Κίνα και αποστέλλονται παγκοσμίως γρήγορα και με ασφάλεια. μετά τη συγκόλληση όλων των εξαρτημάτων μου στον πίνακα μου, αφαίρεσα το ψωμί και στερέωσα τα πάντα πίσω από τον πίνακα και κάλυψα το μπροστινό τμήμα χρησιμοποιώντας ένα λεπτό ημιδιαφανές χαρτί ιχνών. Το ρολόι φαίνεται φοβερό και αυξάνει την ομορφιά του τοίχου. Τα χρώματα προσαρμογής το καθιστούν ιδανικό για κάθε τοίχο.

Αν σας αρέσει αυτό το έργο, κάντε εγγραφή στο youtube ή επισκεφθείτε την ιστοσελίδα μας https://robocircuits.com Σας ευχαριστούμε που διαβάσατε!

Βήμα 3: Κωδικός

/* Ο κώδικας έχει σχεδιαστεί από τα RoboCircuits

* Επισκεφτείτε τον ιστότοπό μας https://robocircuits.com για βοήθεια σχετικά με αυτόν τον κωδικό * Αυτός ο κώδικας χρησιμοποιεί τη βιβλιοθήκη DS3231.h κατεβάστε το από τη διεύθυνση https://robocircuits.com * Για πλήρη φροντιστήριο παρακολουθήστε βίντεο στο κανάλι μας στο YouTube https:// youtube. com/robocircuits */

#συμπεριλάβω #συμπεριλάβω

int i = 0, j = 0, k = 150;

// Ξεκινήστε το DS3231 χρησιμοποιώντας τη διεπαφή υλικού DS3231 rtc (SDA, SCL).

#ifdef _AVR_ #Include #endif

// Ποια ακίδα στο Arduino είναι συνδεδεμένη με τα NeoPixels; // Σε ένα μπιχλιμπίδι ή Gemma προτείνουμε να το αλλάξετε σε 1 #καθορίστε το PIN 6

// Πόσα NeoPixel είναι προσαρτημένα στο Arduino; #define NUMPIXELS 45

// Όταν ρυθμίζουμε τη βιβλιοθήκη NeoPixel, της λέμε πόσα εικονοστοιχεία και ποια ακίδα πρέπει να χρησιμοποιηθεί για την αποστολή σημάτων. // Σημειώστε ότι για παλαιότερες λωρίδες NeoPixel μπορεί να χρειαστεί να αλλάξετε την τρίτη παράμετρο-δείτε το παράδειγμα strandtest // για περισσότερες πληροφορίες σχετικά με πιθανές τιμές. Εικονοστοιχεία Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int καθυστέρηση = 500; // καθυστέρηση για μισό δευτερόλεπτο

void setup () {// Αυτό είναι για Trinket 5V 16MHz, μπορείτε να αφαιρέσετε αυτές τις τρεις γραμμές εάν δεν χρησιμοποιείτε Trinket #if #endif // Ειδικός κωδικός τέλους μπιχλιμπιδιού

pixels.begin (); // Αυτό προετοιμάζει τη βιβλιοθήκη NeoPixel. // Ρύθμιση σειριακής σύνδεσης Serial.begin (115200); // Αρχικοποιήστε το αντικείμενο rtc rtc.begin (); // Οι ακόλουθες γραμμές μπορούν να σχολιαστούν για να ορίσετε την ημερομηνία και την ώρα //rtc.setDOW(WEDNESDAY); // Ορισμός ημέρας-εβδομάδας σε ΚΥΡΙΑΚΗ //rtc.setTime(12, 0, 0); // Ορίστε την ώρα στις 12:00:00 (μορφή 24 ωρών) //rtc.setDate(1, 1, 2014). // Ορίστε την ημερομηνία στην 1η Ιανουαρίου 2014}

void loop () {if (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = χάρτης (a, 0, 1025, 0, 150); // Πράσινο χρώμα j = χάρτης (b, 0, 1025, 0, 150); // Μπλε χρώμα k = χάρτης (c, 0, 1025, 0, 150); // Κόκκινο χρώμα} else {i = 0; j = 0; k = 150; }

// Κωδικός για οπίσθιο φωτισμό για (int x = 29; x <= 45; x ++) {pixels.setPixelColor (x, pixels. Color (i, j, k)); pixels.show (); }

// Ανάκτηση σε πραγματικό χρόνο από rtc String x = rtc.getTimeStr (); // Χρόνος αποστολής Serial.println (rtc.getTimeStr ()); int ώρα 1 = x.charAt (0); int ώρα2 = x.charAt (1); int min1 = x.charAt (3); int min2 = x.charAt (4); ώρα1 = ώρα1-48; ώρα2 = ώρα2-48; min1 = min1-48; min2 = min2-48;

// Εμφάνιση χρόνου στο διακόπτη ρολογιού (ώρα1) {// θήκη 0: μηδέν (0). //Διακοπή; περίπτωση 1: ένα (0)? Διακοπή; περίπτωση 2: δύο (0). Διακοπή; προεπιλογή: nulll (0); Διακοπή; } διακόπτης (ώρα2) {περίπτωση 0: μηδέν (7); Διακοπή; περίπτωση 1: ένα (7)? Διακοπή; περίπτωση 2: δύο (7). Διακοπή; περίπτωση 3: τρία (7). Διακοπή; θήκη 4: τέσσερα (7). Διακοπή; θήκη 5: πέντε (7). Διακοπή; θήκη 6: έξι (7). Διακοπή; θήκη 7: επτά (7). Διακοπή; θήκη 8: οκτώ (7). Διακοπή; θήκη 9: εννέα (7). Διακοπή; προεπιλογή: nulll (7); Διακοπή; } διακόπτης (min1) {περίπτωση 0: μηδέν (15); Διακοπή; περίπτωση 1: ένα (15)? Διακοπή; περίπτωση 2: δύο (15). Διακοπή; περίπτωση 3: τρία (15). Διακοπή; θήκη 4: τέσσερα (15). Διακοπή; θήκη 5: πέντε (15). Διακοπή; προεπιλογή: nulll (15); Διακοπή; } διακόπτης (min2) {περίπτωση 0: μηδέν (22); Διακοπή; περίπτωση 1: ένα (22)? Διακοπή; περίπτωση 2: δύο (22). Διακοπή; περίπτωση 3: τρία (22). Διακοπή; θήκη 4: τέσσερα (22). Διακοπή; θήκη 5: πέντε (22). Διακοπή; θήκη 6: έξι (22). Διακοπή; θήκη 7: επτά (22). Διακοπή; θήκη 8: οκτώ (22). Διακοπή; περίπτωση 9: εννέα (22). Διακοπή; προεπιλογή: nulll (22); Διακοπή; } pixels.setPixelColor (14, pixels. Color (i, j, k)); pixels.show (); καθυστέρηση (250)? pixels.setPixelColor (14, pixels. Color (0, 0, 0)); pixels.show (); καθυστέρηση (250)? }

κενό μηδέν (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void one (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void two (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (0, 0, 0)); pixels.show (); } void three (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void four (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void five (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void six (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void seven (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } κενό οκτώ (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void nine (int a) {pixels.setPixelColor (a+0, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (i, j, k)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (i, j, k)); pixels.show (); } void nulll (int a) {pixels.setPixelColor (a+0, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+1, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+2, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+3, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+4, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+5, pixels. Color (0, 0, 0)); pixels.show (); pixels.setPixelColor (a+6, pixels. Color (0, 0, 0)); pixels.show (); }

Βήμα 4: Σας ευχαριστώ

επισκεφθείτε τη διεύθυνση

Συνιστάται: