Πίνακας περιεχομένων:
Βίντεο: Ρολόι περιβάλλοντος πραγματικού χρόνου: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Σκοπός
Έφτιαξα αυτό το ρολόι επειδή έχω μια λωρίδα LED με δυνατότητα διεύθυνσης και θέλω να το χρησιμοποιήσω. Τότε είδα ότι το δωμάτιό μου δεν έχει καλό ρολόι που ταιριάζει με τους τοίχους του. Έτσι αποφάσισα να φτιάξω ένα ρολόι το οποίο μπορεί να αλλάξει τα χρώματα του ανάλογα με τη διάθεση των χρηστών ή το χρώμα του τοίχου.
Βήμα 1: Βίντεο YouTube
Δείτε αυτό το βίντεο στο 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: Σας ευχαριστώ
επισκεφθείτε τη διεύθυνση
Συνιστάται:
Ρολόι πραγματικού χρόνου με χρήση AT89s52: 3 βήματα
Real TIme Clock Using AT89s52: WELCOME BACK, Αυτό είναι το shubham Trivedi και σήμερα θα σχεδιάσω το ρολόι πραγματικού χρόνου χρησιμοποιώντας τον μικροελεγκτή At89s52. Ο μικροελεγκτής AT89S52 είναι η καρδιά αυτού του έργου. Το DS1307 IC χρησιμοποιείται ως RTC. Αυτό το IC DS1307 απαιτούσε διεπαφή I2C, αλλά 89
SCARA Robot: Learning About Foward and Inverse Kinematics !!! (Plot Twist Μάθετε πώς να δημιουργείτε μια διεπαφή πραγματικού χρόνου στο ARDUINO χρησιμοποιώντας την ΕΠΕΞΕΡΓΑΣΙΑ !!!!): 5 βήματα (με εικόνες)
SCARA Robot: Learning About Foward and Inverse Kinematics !!! (Plot Twist Μάθετε πώς να δημιουργείτε μια διεπαφή πραγματικού χρόνου στο ARDUINO χρησιμοποιώντας την ΕΠΕΞΕΡΓΑΣΙΑ !!!!): Ένα ρομπότ SCARA είναι ένα πολύ δημοφιλές μηχάνημα στον κόσμο της βιομηχανίας. Το όνομα σημαίνει τόσο Selective Compliant Assembly Robot Arm είτε Selective Compliant Articulated Robot Arm. Είναι βασικά ένα ρομπότ τριών βαθμών ελευθερίας, που είναι τα δύο πρώτα διανομή
DS1307 Ρολόι πραγματικού χρόνου RTC με Arduino: 4 βήματα
DS1307 Ρολόι πραγματικού χρόνου RTC με Arduino: Σε αυτό το σεμινάριο, θα μάθουμε για το Ρολόι πραγματικού χρόνου (RTC) και πώς το Arduino & Ρολόι πραγματικού χρόνου IC DS1307 συνδυάζεται ως συσκευή χρονισμού. Το ρολόι πραγματικού χρόνου (RTC) χρησιμοποιείται για την παρακολούθηση του χρόνου και τη διατήρηση ενός ημερολογίου. Για να χρησιμοποιήσετε ένα RTC, w
Ρολόι βασισμένο σε Arduino χρησιμοποιώντας μονάδα ρολογιού πραγματικού χρόνου DS1307 (RTC) & βήματα 0,96: 5
Ρολόι βασισμένο σε Arduino χρησιμοποιώντας τη μονάδα ρολογιού πραγματικού χρόνου DS1307 (RTC) & 0.96: Γεια σας παιδιά σε αυτό το σεμινάριο θα δούμε πώς να φτιάξετε ένα ρολόι εργασίας χρησιμοποιώντας μια μονάδα ρολογιού πραγματικού χρόνου DS1307 & Οθόνες OLED. Έτσι θα διαβάσουμε την ώρα από τη μονάδα ρολογιού DS1307. Και εκτυπώστε το στην οθόνη OLED
NODEMCU Lua ESP8266 Με ρολόι πραγματικού χρόνου (RTC) & EEPROM: 7 βήματα
NODEMCU Lua ESP8266 Με ρολόι πραγματικού χρόνου (RTC) & EEPROM: Η σωστή ώρα είναι απαραίτητη εάν θέλετε να τηρείτε αρχείο καταγραφής δεδομένων. Υπάρχουν διάφοροι τρόποι για να αντλήσετε χρόνο από πηγές στο Διαδίκτυο. Μπορείτε να ρωτήσετε γιατί να μην χρησιμοποιήσετε το ESP8266 για να έχετε χρόνο για εσάς; Λοιπόν, μπορείτε, έχει το δικό του εσωτερικό RTC (σε πραγματικό χρόνο