Inhaltsverzeichnis:

Umgebungs-Echtzeituhr - Gunook
Umgebungs-Echtzeituhr - Gunook

Video: Umgebungs-Echtzeituhr - Gunook

Video: Umgebungs-Echtzeituhr - Gunook
Video: Nie wieder Internet-Probleme: So holt jeder das Maximum aus dem heimischen WLAN | stern TV 2024, Juli
Anonim
Umgebungs-Echtzeituhr
Umgebungs-Echtzeituhr

Ziel

Ich habe diese Uhr gemacht, weil ich einen adressierbaren LED-Streifen herumliegen habe und ihn verwenden möchte. Dann habe ich gesehen, dass mein Zimmer keine gute Uhr hat, die zu seinen Wänden passt. Also beschloss ich, eine Uhr zu bauen, die ihre Farben je nach Stimmung oder Wandfarbe des Benutzers ändern kann.

Schritt 1: YouTube-Video

Image
Image

Sehen Sie sich dieses YouTube-Video an, um eine vollständige Anleitung zu erhalten

Schritt 2: Verfahren

Ich nahm zuerst eine 24 x 15 Zoll Sperrholzplatte.

LED-Streifen in Stücke schneiden und auf die Platine kleben Dann Nach dem Löten bedecke ich das Ganze mit einem schwarzen Diagrammpapier Dann klebe ein Thermokohleblatt darauf und schneide die Thermokohle mit einem scharfen Cutter in Form von 4 Sieben-Segment-Anzeigen zusammen mit zwei Löcher in der Mitte. Dann habe ich meine Schaltung mit dem unten angegebenen Schaltplan fertig gemacht

und klebte dies alles hinter die Tafel. Ich habe auch eine benutzerdefinierte Leiterplatte für dieselbe von https://jlcpcb.com bestellt. Sie bieten die besten Leiterplatten-Prototypen zum niedrigsten Preis aus China und versenden sie weltweit schnell und sicher. Nachdem ich alle meine Komponenten auf meiner Platine gelötet hatte, entfernte ich das Steckbrett und befestigte alles hinter der Platine und bedeckte den vorderen Teil mit einem dünnen durchscheinenden Trace-Papier. Die Uhr sieht fantastisch aus und erhöht die Schönheit der Wand. Anpassungsfarben machen es perfekt für jede Wand.

Wenn Ihnen dieses Projekt gefällt, abonnieren Sie bitte auf youtube oder besuchen Sie unsere Website https://robocircuits.com Vielen Dank fürs Lesen!

Schritt 3: Code

/* Der Code wurde von RoboCircuits entwickelt

* Besuchen Sie unsere Website https://robocircuits.com für Hilfe zu diesem Code * Dieser Code verwendet die DS3231.h-Bibliothek, laden Sie ihn von https://robocircuits.com herunter * Für eine vollständige Anleitung Sehen Sie sich das Video auf unserem YouTube-Kanal https://youtube an. com/robocircuits */

#einschließen #einschließen

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

// Init den DS3231 über die Hardwareschnittstelle DS3231 rtc(SDA, SCL);

#ifdef _AVR_ #include #endif

// Welcher Pin des Arduino ist mit den NeoPixels verbunden? // Bei einem Schmuckstück oder einer Gemma empfehlen wir, dies in 1 zu ändern #define PIN 6

// Wie viele NeoPixel sind an den Arduino angeschlossen? #define NUMPIXEL 45

// Wenn wir die NeoPixel-Bibliothek einrichten, teilen wir ihr mit, wie viele Pixel und welcher Pin zum Senden von Signalen verwendet werden soll. // Beachten Sie, dass Sie bei älteren NeoPixel-Streifen möglicherweise den dritten Parameter ändern müssen – siehe das Beispiel strandtest // für weitere Informationen zu möglichen Werten. Adafruit_NeoPixel-Pixel = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int Verzögerungswert = 500; // Verzögerung für eine halbe Sekunde

void setup () {// Dies ist für Trinket 5V 16MHz, Sie können diese drei Zeilen entfernen, wenn Sie kein Trinket #wenn definiert verwenden (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Ende des Schmuckstück-Sondercodes

Pixel.begin(); // Dies initialisiert die NeoPixel-Bibliothek. // Serielle Verbindung einrichten Serial.begin (115200); // Initialisiere das rtc-Objekt rtc.begin(); // Die folgenden Zeilen können unkommentiert werden, um Datum und Uhrzeit einzustellen //rtc.setDOW(WEDNESDAY); // Wochentag auf SONNTAG setzen //rtc.setTime(12, 0, 0); // Stellen Sie die Uhrzeit auf 12:00:00 (24-Stunden-Format) //rtc.setDate (1, 1, 2014); // Setzen Sie das Datum auf den 1. Januar 2014 }

Void Schleife () { if (digitalRead (2) = = HOCH) { Int a = analogRead (A0); int b= analogRead(A1); int c = analogRead (A2); i=map(a, 0, 1025, 0, 150); // Grüne Farbe j=map(b, 0, 1025, 0, 150); // Blaue Farbe k=map(c, 0, 1025, 0, 150); // Rote Farbe} sonst { i= 0; j= 0; k = 150; }

// Code für Hintergrundbeleuchtung for(int x=29;x<=45;x++) { Pixel.setPixelColor(x, Pixel. Color(i, j, k)); Pixel.show(); }

// Echtzeit von rtc abrufen String x=rtc.getTimeStr(); // Sendezeit Serial.println (rtc.getTimeStr ()); int Stunde1= x.charAt(0); int Stunde2= x.charAt(1); int min1= x.charAt(3); int min2= x.charAt(4); Stunde1=Stunde1-48; Stunde2=Stunde2-48; min1=min1-48; min2=min2-48;

// Anzeige der Zeit am Uhrschalter (Stunde1) {// Fall 0: Null (0); //brechen; Fall 1: eins(0); brechen; Fall 2: zwei (0); brechen; Standard: nulll(0); brechen; } Schalter (Stunde2) { Fall 0: Null (7); brechen; Fall 1: eins(7); brechen; Fall 2: zwei (7); brechen; Fall 3: drei (7); brechen; Fall 4: vier (7); brechen; Fall 5: fünf (7); brechen; Fall 6: sechs (7); brechen; Fall 7: sieben (7); brechen; Fall 8: acht (7); brechen; Fall 9: neun (7); brechen; Standard: nulll(7); brechen; } Schalter (min1) { Fall 0: null (15); brechen; Fall 1: eins(15); brechen; Fall 2: zwei (15); brechen; Fall 3: drei (15); brechen; Fall 4: vier (15); brechen; Fall 5: fünf (15); brechen; Standard: nulll(15); brechen; } Schalter (min2) { Fall 0: Null (22); brechen; Fall 1: eins (22); brechen; Fall 2: zwei (22); brechen; Fall 3: drei (22); brechen; Fall 4: vier (22); brechen; Fall 5: fünf (22); brechen; Fall 6: sechs (22); brechen; Fall 7: sieben (22); brechen; Fall 8: acht (22); brechen; Fall 9: neun (22); brechen; Standard: nulll(22); brechen; } Pixel.setPixelColor(14, Pixel. Color(i, j, k)); Pixel.show(); Verzögerung (250); Pixel.setPixelColor(14, Pixel. Color(0, 0, 0)); Pixel.show(); Verzögerung (250); }

Leere Null (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (i, j, k)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(i, j, k)); Pixel.show(); aufrechtzuerhalten. Void one (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(i, j, k)); Pixel.show(); aufrechtzuerhalten. Void zwei (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(0, 0, 0)); Pixel.show(); aufrechtzuerhalten. Void drei (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(i, j, k)); Pixel.show(); aufrechtzuerhalten. Void vier (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (i, j, k)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(i, j, k)); Pixel.show(); aufrechtzuerhalten. Void fünf (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (i, j, k)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(i, j, k)); Pixel.show(); aufrechtzuerhalten. Void sechs (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (i, j, k)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(i, j, k)); Pixel.show(); aufrechtzuerhalten. Void sieben (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(i, j, k)); Pixel.show(); aufrechtzuerhalten. Void acht (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (i, j, k)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(i, j, k)); Pixel.show(); aufrechtzuerhalten. Void neun (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (i, j, k)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(i, j, k)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(i, j, k)); Pixel.show(); aufrechtzuerhalten. Void nulll (int a) { Pixel.setPixelColor (a + 0, Pixel. Color (0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+1, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+2, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+3, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+4, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+5, Pixel. Color(0, 0, 0)); Pixel.show(); Pixel.setPixelColor(a+6, Pixel. Color(0, 0, 0)); Pixel.show(); }

Schritt 4: Danke

Besuchen Sie