Spisu treści:

Zegar czasu rzeczywistego otoczenia: 4 kroki
Zegar czasu rzeczywistego otoczenia: 4 kroki

Wideo: Zegar czasu rzeczywistego otoczenia: 4 kroki

Wideo: Zegar czasu rzeczywistego otoczenia: 4 kroki
Wideo: Arduino 5: ZEGAR 2024, Lipiec
Anonim
Zegar czasu rzeczywistego otoczenia
Zegar czasu rzeczywistego otoczenia

Cel

Zrobiłem ten zegar, ponieważ mam w pobliżu adresowalną taśmę LED i chcę go użyć. Potem zobaczyłem, że w moim pokoju nie ma dobrego Zegara, który pasowałby do ścian. Postanowiłem więc zrobić Zegar, który może zmieniać kolory w zależności od nastroju użytkownika lub koloru ściany.

Krok 1: Film z YouTube

Image
Image

Obejrzyj ten film na YouTube, aby uzyskać pełne instrukcje

Krok 2: Procedura

Najpierw wziąłem płytę ze sklejki o wymiarach 24 x 15 cali.

Pokrój taśmę LED na kawałki i wklej je na płytkę Następnie po przylutowaniu zakrywam całość czarnym papierem wykresowym Następnie wklejam na niego arkusz termowęgla i przecinam termowęgiel ostrym nożem w kształcie 4 wyświetlaczy siedmiosegmentowych wraz z dwa otwory w środku. Następnie przygotowałem mój obwód za pomocą schematu obwodu podanego poniżej

i wkleiłem to wszystko za tablicą. Zamówiłem również niestandardową płytkę drukowaną na to samo z https://jlcpcb.com, która zapewnia najlepsze prototypy pcb za najniższą cenę z Chin i wysyłamy na cały świat szybko i bezpiecznie. po przylutowaniu wszystkich elementów do płyty wyjąłem płytkę stykową i naprawiłem wszystko za płytą i zakryłem przednią część cienką, półprzezroczystą kalką. Zegar wygląda niesamowicie i zwiększa piękno ściany. kolory dostosowywania sprawiają, że idealnie nadaje się do każdej ściany.

Jeśli podoba Ci się ten projekt, uprzejmie zasubskrybuj na youtube lub odwiedź naszą stronę https://robocircuits.com Dziękujemy za przeczytanie!

Krok 3: Kod

/* Kodeks został zaprojektowany przez RoboCircuits

* Odwiedź naszą stronę internetową https://robocircuits.com, aby uzyskać pomoc dotyczącą tego kodu * Ten kod używa biblioteki DS3231.h, pobierz go z https://robocircuits.com * Aby uzyskać pełny samouczek, Obejrzyj wideo na naszym kanale YouTube https://youtube. com/obwody robota */

#włącz #włącz

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

// Uruchom DS3231 używając interfejsu sprzętowego DS3231 rtc(SDA, SCL);

#ifdef _AVR_ #include #endif

// Który pin w Arduino jest podłączony do NeoPixels? // Na Trinket lub Gemma sugerujemy zmianę na 1 #define PIN 6

// Ile NeoPixeli jest podłączonych do Arduino? #define NUMPIXELS 45

// Kiedy konfigurujemy bibliotekę NeoPixel, mówimy jej, ile pikseli i którego pinu użyć do wysyłania sygnałów. // Zauważ, że w przypadku starszych pasków NeoPixel może być konieczna zmiana trzeciego parametru - zobacz przykład strandtest //, aby uzyskać więcej informacji o możliwych wartościach. Adafruit_NeoPixel piksele = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int opóźnienie = 500; // opóźnienie o pół sekundy

void setup() { // To jest dla Trinket 5V 16MHz, możesz usunąć te trzy linie, jeśli nie używasz Trinket #if zdefiniowany (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // Koniec specjalnego kodu drobiazgu

piksele.początek(); // Inicjuje bibliotekę NeoPixel. // Konfiguracja połączenia szeregowego Serial.begin(115200); // Zainicjuj obiekt rtc rtc.begin(); // Poniższe wiersze można odkomentować, aby ustawić datę i godzinę //rtc.setDOW(ŚRODA); // Ustaw dzień tygodnia na NIEDZIELĘ //rtc.setTime(12, 0, 0); // Ustaw czas na 12:00:00 (format 24-godzinny) //rtc.setDate(1, 1, 2014); // Ustaw datę na 1 stycznia 2014 }

void loop() { if(digitalRead(2)==HIGH) { int a=analogRead(A0); int b= odczyt analogowy (A1); int c= odczyt analogowy (A2); i=mapa(a, 0, 1025, 0, 150); // Zielony kolor j=map(b, 0, 1025, 0, 150); // Kolor niebieski k=map(c, 0, 1025, 0, 150); // kolor czerwony } else { i= 0; j= 0; k= 150; }

// Kod podświetlenia for(int x=29;x<=45;x++) { piksele.setPixelColor(x, piksele. Color(i, j, k)); piksele.pokaż(); }

// Pobieranie czasu rzeczywistego z rtc String x=rtc.getTimeStr(); // Wyślij czas Serial.println(rtc.getTimeStr()); int godzina1= x.charAt(0); int godzina2= x.charAt(1); int min1= x.charAt(3); int min2= x.charAt(4); godzina1=godzina1-48; godzina2=godzina2-48; min1=min1-48; min2=min2-48;

// Wyświetlanie czasu na Zegar switch(hour1) { //case 0: zero(0); //przerwa; przypadek 1: jeden(0); przerwa; przypadek 2: dwa(0); przerwa; domyślnie: null(0); przerwa; } switch(hour2) { case 0: zero(7); przerwa; przypadek 1: jeden(7); przerwa; przypadek 2: dwa(7); przerwa; przypadek 3: trzy(7); przerwa; przypadek 4: cztery(7); przerwa; przypadek 5: pięć(7); przerwa; przypadek 6: sześć(7); przerwa; przypadek 7: siedem(7); przerwa; przypadek 8: osiem(7); przerwa; przypadek 9: dziewięć(7); przerwa; domyślnie: null(7); przerwa; } switch(min1) { przypadek 0: zero(15); przerwa; przypadek 1: jeden(15); przerwa; przypadek 2: dwa(15); przerwa; przypadek 3: trzy(15); przerwa; przypadek 4: cztery(15); przerwa; przypadek 5: pięć(15); przerwa; domyślnie: null(15); przerwa; } switch(min2) { przypadek 0: zero(22); przerwa; przypadek 1: jeden(22); przerwa; przypadek 2: dwa(22); przerwa; przypadek 3: trzy(22); przerwa; przypadek 4: cztery(22); przerwa; przypadek 5: pięć(22); przerwa; przypadek 6: sześć(22); przerwa; przypadek 7: siedem(22); przerwa; przypadek 8: osiem(22); przerwa; przypadek 9: dziewięć(22); przerwa; domyślnie: null(22); przerwa; } piksele.setPixelColor(14, piksele. Color(i, j, k)); piksele.pokaż(); opóźnienie(250); piksele.setPixelColor(14, piksele. Color(0, 0, 0)); piksele.pokaż(); opóźnienie(250); }

void zero(int a) { piksele.setPixelColor(a+0, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Color(i, j, k)); piksele.pokaż(); } void one(int a) { piksele.setPixelColor(a+0, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Kolor(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Color(i, j, k)); piksele.pokaż(); } void two(int a) { piksele.setPixelColor(a+0, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Kolor(0, 0, 0)); piksele.pokaż(); } void three(int a) { piksele.setPixelColor(a+0, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Color(i, j, k)); piksele.pokaż(); } void four(int a) { piksele.setPixelColor(a+0, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Kolor(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Color(i, j, k)); piksele.pokaż(); } void five(int a) { piksele.setPixelColor(a+0, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Color(i, j, k)); piksele.pokaż(); } void six(int a) { piksele.setPixelColor(a+0, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Color(i, j, k)); piksele.pokaż(); } void seven(int a) { piksele.setPixelColor(a+0, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Kolor(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Color(i, j, k)); piksele.pokaż(); } void eight(int a) { piksele.setPixelColor(a+0, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Color(i, j, k)); piksele.pokaż(); } void nine(int a) { piksele.setPixelColor(a+0, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Color(i, j, k)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Color(i, j, k)); piksele.pokaż(); } void null(int a) { piksele.setPixelColor(a+0, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+1, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+2, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+3, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+4, piksele. Color(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+5, piksele. Kolor(0, 0, 0)); piksele.pokaż(); piksele.setPixelColor(a+6, piksele. Kolor(0, 0, 0)); piksele.pokaż(); }

Krok 4: Dziękuję

odwiedź

Zalecana: