Satura rādītājs:

Slepenais sienas pulkstenis: 27 soļi (ar attēliem)
Slepenais sienas pulkstenis: 27 soļi (ar attēliem)

Video: Slepenais sienas pulkstenis: 27 soļi (ar attēliem)

Video: Slepenais sienas pulkstenis: 27 soļi (ar attēliem)
Video: Joka pēc alfabēts / Funny Alphabet 2024, Novembris
Anonim
Noslēpumains sienas pulkstenis
Noslēpumains sienas pulkstenis

Laika ritējums ir tas, ko mēs nevaram kontrolēt. Tas notiek tādā pašā ātrumā, ja mēs guļam, esam nomodā, garlaicīgi vai esam saderinājušies. Ar pašreizējiem notikumiem ir svarīgi atcerēties, ka laiks iet. Kamēr mēs gaidām laiku, kāpēc neizdarīt kaut ko tādu, kas laika ritējumu padara pievilcīgāku skatīties.

Šo pulksteni iedvesmoja Mengenlehreuhr, kas atrasts Berlīnē, Vācijā, un to var nolasīt tādā pašā veidā. Tāpat kā oriģināls, tas parāda laiku, izmantojot apgaismotus, krāsainus laukus.

Tam ir 96 gaismas diodes, kas izgaismo 52 “ciparu” apgabalus. Atšķirībā no oriģināla, tai ir apļveida dizains, kas ietver sekundes gredzenu, nevis horizontālu joslu izkārtojumu. Ārējā josla norāda sekundes kopā ar vidējo punktu, nākamās divas joslas norāda minūtes, bet pēdējās iekšējās joslas norāda stundas.

Ja jūsu rokās ir materiāls un papildu laiks, kāpēc neizmantot šo laiku, lai pagatavotu kaut ko tādu, kas to parādīs!

Šajā projektā es izdarītu dažas izmaiņas, ja to atkārtotu. Pirmkārt, es rāmi un LED plāksni krāsotu baltu, nevis melnu. Tas atspoguļotu vairāk gaismas caur lielo priekšējo lēcu. Es arī gaidītu līdz beigām, lai ievietotu gaismas diodes. Man vajadzēja, lai tāfele būtu pabeigta agrāk, lai tā varētu man palīdzēt rakstīt kodu. Ņemot to vērā, vispirms iemācīsimies to lasīt!

Attēls
Attēls

1. darbība: kā lasīt pulksteni

Pulkstenis tiek nolasīts no iekšējiem apļiem līdz ārējiem. Četru lauku iekšējais gredzens apzīmē piecas pilnas stundas, līdzās otrajam gredzenam arī četrus laukus, kas apzīmē vienu pilnu stundu, parādot stundas vērtību 24 stundu formātā. Trešais gredzens sastāv no vienpadsmit laukiem, kas katrs apzīmē piecas pilnas minūtes, nākamajā gredzenā ir vēl četri lauki, kas katrs apzīmē vienu pilnu minūti. Visbeidzot, 29 lauku ārējais gredzens apzīmē pāra sekundes, kad centrā mirgo gaisma, lai apzīmētu nepāra (kad deg) vai pāra (ja nav izgaismota) sekundes.

Attēls
Attēls

Piemēram, iepriekš redzamajā attēlā ir 1 no pieciem stundu cipariem, 3 no vienas stundas cipariem, 8 no piecu minūšu cipariem, 4 no vienas minūtes cipariem un 23 no diviem otrajiem cipariem un vidējā otrā cipara.

1x5 + 3x1: 8x5 + 4x1: 23x2 + 1x1 = 8:44:47 = 8:44:47

Attēls
Attēls

Iepriekš redzamais laiks ir: 3x5 + 0x1: 3x5 + 2x1: 5x2 + 1x1 = 15:17:11 = 15:17:11 PM

Attēls
Attēls

Iepriekš redzamais laiks ir: 3x5 + 2x1: 3x5 + 3x1: 16x2 + 1x1 = 17:18:33 = 5:18:33 PM

2. darbība: instrumenti un materiāli

Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli

Elektronikas materiāli:

  • Arduino Nano
  • Reālā laika pulkstenis
  • Adresējamas gaismas diodes
  • Barošanas spraudnis
  • Barošanas kabelis
  • USB barošanas spraudnis
  • No gaismas atkarīgs rezistors un līdzsvarots rezistors (ja vēlaties, lai tas naktī aptumšojas)
  • Vads

Kokapstrādes materiāli:

  • 3/4 collas Saplāksnis
  • Plāns saplāksnis
  • Koksnes lūžņi (es izmantoju 2x4, bet derētu arī cietkoksne)
  • Krāsa
  • Akrila 30 x 36 collu loksne (atrodama vietējā labiekārtošanas veikalā)
  • Logu nokrāsa (mēģiniet iegūt avotu lokāli. Ja tāda nav pieejama, šeit varat atrast pietiekami lielu lapu)
  • Logu nokrāsu uzklāšanas šķidrums (smidzināšanas pudelē es izmantoju ūdeni, kas sajaukts ar bērnu šampūnu)
  • Windex
  • Miesnieka papīrs
  • Skrūves
  • Izsmidziniet līmi
  • Līme
  • Līmes zīmulis

Rīki:

  • Lineāls
  • Xacto nazis
  • Lente
  • Divpusēja lente
  • Kompass
  • Apļa griešanas džiga
  • Finierzāģis
  • Lentzāģis
  • Vārpstas slīpmašīna
  • Palm Sander
  • Disku slīpmašīna
  • Maršrutētāja tabula
  • Awl
  • Urbji un urbji/Driven
  • Skavas
  • Lodāmurs
  • Lodēt
  • Stiepļu noņēmēji

3. darbība: salieciet veidnes

Salieciet veidnes
Salieciet veidnes
Salieciet veidnes
Salieciet veidnes

Lielai veidnei izdrukājiet to, izmantojot plakāta iestatījumu programmā Adobe Reader. Nogrieziet katra papīra malas un salīmējiet kopā. Vertikālās, horizontālās un diagonālās līnijas palīdzēs ievietot veidni. Visās lapās ir nelieli skaitļi, lai tās būtu sakārtotas, ja tās nedarbotos.

Visas nepieciešamās veidnes un faili ir atrodami 26. darbībā.

4. darbība. Aptuveni sagriezti apļi

Aptuveni sagriezti apļi
Aptuveni sagriezti apļi
Aptuveni sagriezti apļi
Aptuveni sagriezti apļi

Izvietojot abas veidnes uz 3/4 collu saplākšņa loksnes, ar kompasu uzzīmējiet apļus, kas ir nedaudz lielāki nekā nepieciešams. Izmantojot finierzāģi, izgrieziet raupjo formu.

5. solis: sagrieziet pēc izmēra

Izgriezt pēc izmēra
Izgriezt pēc izmēra
Izgriezt pēc izmēra
Izgriezt pēc izmēra

Izmantojot lentzāģa apļveida griešanas uzgali, sagrieziet apļus līdz galīgajam izmēram.

6. darbība: izmantojiet veidni

Lietot veidni
Lietot veidni
Lietot veidni
Lietot veidni
Lietot veidni
Lietot veidni

Izmantojot smidzināšanas līmi, katru veidni uzklājiet uz apli. Ievietojiet naglu veidnes centrā, lai to centrētu uz apļa.

7. darbība: izgrieziet veidni

Izgriezt veidni
Izgriezt veidni
Izgriezt veidni
Izgriezt veidni
Izgriezt veidni
Izgriezt veidni

Izmantojot finierzāģi, izgrieziet katru atsevišķu veidnes logu. Ja jums ir piekļuve CNC, šis solis būtu daudz vienkāršāks! Katrā logā es urbju caurumu, lai palīdzētu šajā procesā. Sākot griešanu, veidne var sākt atdalīties. Ja tas notiek, varat to nostiprināt ar nelieliem lentes gabaliem.

8. solis: slīpēšana

Slīpēšana
Slīpēšana
Slīpēšana
Slīpēšana
Slīpēšana
Slīpēšana

Izmantojot smilšpapīru, kas uzklāts uz nūjas, vārpstas slīpmašīnas un palmu slīpmašīnas, noslīpējiet un izlīdziniet finierzāģa atstāto aptuveno griezumu.

9. solis: urbšanas turētāji gaismas diodēm

Urbju turētāji gaismas diodēm
Urbju turētāji gaismas diodēm
Urbju turētāji gaismas diodēm
Urbju turētāji gaismas diodēm
Urbju turētāji gaismas diodēm
Urbju turētāji gaismas diodēm
Urbju turētāji gaismas diodēm
Urbju turētāji gaismas diodēm

Atzīmējiet katra cauruma centru ar īlenu un urbiet gaismas diodēm atstarpes. Es izmantoju vadotni, lai palīdzētu urbt perpendikulāri manai sagatavei, un aizmugurējo dēli, lai izvairītos no koka izpūšanas aizmugurē.

10. solis: apvienojiet dēļus

Apvienot dēļus
Apvienot dēļus
Apvienot dēļus
Apvienot dēļus
Apvienot dēļus
Apvienot dēļus

Apmainiet priekšējos un aizmugurējos dēļus un izsekojiet rāmja daļas LED paneļa aizmugurē. Pārvietojiet rāmi atpakaļ uz LED paneļa priekšpusi un izurbiet caurumus un pieskrūvējiet gabalus kopā.

Plašāku informāciju skatiet attēlu piezīmēs.

11. solis: ievietojiet gaismas diodes

Ievietojiet gaismas diodes
Ievietojiet gaismas diodes
Ievietojiet gaismas diodes
Ievietojiet gaismas diodes

Izvelciet gaismas diodes caur LED paneļa aizmuguri. Atverēm jābūt pietiekami izvietotām, lai jums nebūtu jāpārgriež vadi, izņemot pārvietošanos no viena apļa uz nākamo.

No aizmugures gaismas diodes sākas centrā un pēc tam darbojas pretēji pulksteņrādītāja virzienam, pēc tam līdz nākamajam gredzenam.

12. darbība: pievienojiet 1. segmentu

Pievienojiet 1. segmentu
Pievienojiet 1. segmentu
Pievienojiet 1. segmentu
Pievienojiet 1. segmentu
Pievienojiet 1. segmentu
Pievienojiet 1. segmentu

Izgrieziet 9 segmentus no veidnes "1. segments", kas piestiprināta 3/4 collu saplāksnim (atrodams 26. solī). Piestipriniet pie LED plāksnes ar līmi un skavām. Ja esat nepacietīgs, varat arī izmantot naglas, lai to nostiprinātu vietā.

Kad mala ir sausa, noslīpējiet tās ar disku slīpmašīnu.

13. solis: krāsojiet

Krāsa
Krāsa
Krāsa
Krāsa
Krāsa
Krāsa
Krāsa
Krāsa

Izsmidziniet krāsu gan LED dēli, gan rāmi. Ja es to darītu vēlreiz, es būtu izvēlējies izmantot baltu krāsu, nevis melnu, jo tā vairāk atspoguļotu caur objektīvu.

14. darbība: 2. segments

2. segments
2. segments
2. segments
2. segments
2. segments
2. segments

Izgrieziet 9 segmentus no veidnes "2. segments", kas piestiprināta no koka, kura biezums ir 2 3/8 collas (atrodams 26. solī). Es izmantoju dažus lūžņus 2x4 no veikala. Piestipriniet segmentus sausā veidā un pārliecinieties, vai tie labi iederas ar lentes skavu. Ja viss ir kārtībā, pārklājiet ārpusi ar gleznotāju lenti, lai līme netiktu pielipusi, un ļaujiet nožūt vismaz stundu, pirms pāriet uz nākamo soli.

15. darbība: 3. segments

3. segments
3. segments
3. segments
3. segments
3. segments
3. segments

Izgrieziet 9 segmentus no veidnes "3. segments", kas pievienota no 3/8 collu biezas lūžņu koksnes (atrodama 26. solī). Līmējiet tos tā, lai 2. segmenta šuves atrastos katra 3. segmenta vidū. Tas stiprinās gredzenu.

16. solis: gluds gredzens un krāsa

Gluds gredzens un krāsa
Gluds gredzens un krāsa
Gluds gredzens un krāsa
Gluds gredzens un krāsa

Es izgatavoju pielāgotu slīpēšanas bloku no lielā gredzena nogrieztā gabala. Slīpējiet gredzena iekšpusi un ārpusi un aizpildiet visas plaisas, kas varētu būt radušās līmēšanas procesā.

Kad tas ir gluds, uzklājiet dažas melnas krāsas kārtas un caurspīdīgu kārtu.

17. solis: sagrieziet akrilu

Izgrieziet akrilu
Izgrieziet akrilu
Izgrieziet akrilu
Izgrieziet akrilu
Izgrieziet akrilu
Izgrieziet akrilu
Izgrieziet akrilu
Izgrieziet akrilu

Izgrieziet akrilu līdz kvadrātam, kura izmērs ir 30 x 30 collas, un atzīmējiet centru. Piestipriniet akrilu ar abpusēju lenti. Izmantojot skalošanas trimmera uzgali, noņemiet lieko akrilu

18. darbība: uzklājiet logu nokrāsu

Uzklājiet logu nokrāsu
Uzklājiet logu nokrāsu
Uzklājiet logu nokrāsu
Uzklājiet logu nokrāsu
Uzklājiet logu nokrāsu
Uzklājiet logu nokrāsu

Videi, kurā nav putekļu, noņemiet aizsargplēvi no akrila. Uzklājiet aerosolu un noņemiet pamatni no loga nokrāsas. Uzklājiet loga nokrāsu ar lipīgu pusi uz leju. Izmantojot slotiņu vai kredītkarti, izspiediet visu šķidrumu no loga nokrāsas. Kad visi burbuļi un grumbas ir noņemtas, ar asu nazi nogrieziet lieko logu nokrāsu.

19. solis: pievienojiet defuseru

Pievienojiet defuseru
Pievienojiet defuseru
Pievienojiet defuseru
Pievienojiet defuseru

Es izmantoju lielu gaļas papīra gabalu, lai darbotos kā atkausētājs. Izklājiet papīru uz līdzenas virsmas. Pārklājiet rāmja seju ar līmi no līmes. Pirms līme nožūst, nolieciet pulksteņa priekšpusi uz papīra uz leju un rupji nogrieziet lieko. Kad žāvēts, izmantojiet asu nazi, lai apgrieztu skalošanu.

20. solis: uzklājiet izolāciju

Uzklājiet izolāciju
Uzklājiet izolāciju

Es izmantoju elektrisko lenti, lai strāvas un datu līnijas būtu atsevišķi.

21. solis: salieciet

Salieciet
Salieciet
Salieciet
Salieciet
Salieciet
Salieciet

Noņemiet otru aizsargkārtu no akrila. Ievietojiet akrilu gredzena iekšpusē ar loga nokrāsu uz augšu. Pārbīdiet atlikušo pulksteņa laiku gredzenā. Izmantojiet skavu, lai izdarītu vieglu spiedienu, kamēr caur gredzenu un LED plāksnē tiek urbts caurums. Tam vajadzētu būt apmēram 1 1/8 collas no aizmugures. Esiet piesardzīgs, lai netiktu urbts gaismas diodē. Ieskrūvējiet fermas galvas skrūvi caurumā. Atkārtojiet kopā astoņas skrūves ap pulksteņa perimetru.

22. solis: pievienojiet stiprinājuma punktus

Pievienojiet stiprinājuma punktus
Pievienojiet stiprinājuma punktus

Līmes enkurs norāda uz pulksteņa aizmuguri, lai piestiprinātu aizmugurējo vāciņu. Tie ir 3/4 collas biezi un apmēram 2 collas gari.

23. solis: urbšanas jauda un LDR sensora caurumi

Urbšanas jauda un LDR sensora caurumi
Urbšanas jauda un LDR sensora caurumi

Caur pulksteņa apakšējo daļu izurbiet strāvas kontaktdakšu un caurumu augšpusē gaismas atkarīgā rezistora (LDR) sensoram.

24. darbība: uzstādiet elektronikas turētāju

Uzstādiet elektronikas turētāju
Uzstādiet elektronikas turētāju
Uzstādiet elektronikas turētāju
Uzstādiet elektronikas turētāju

Uzstādiet 3D drukāto turētāju RTC un Arduino Nano. Pievienojiet visu elektroniku, kā parādīts shēmā.

25. solis: aizmugurējais vāks

Aizmugurējais vāciņš
Aizmugurējais vāciņš
Aizmugurējais vāciņš
Aizmugurējais vāciņš
Aizmugurējais vāciņš
Aizmugurējais vāciņš
Aizmugurējais vāciņš
Aizmugurējais vāciņš

Izgrieziet aizmugurējo vāku no plāna saplākšņa, kas ir mazāks par pulksteņa ārpusi. Izurbiet caurumus stiprinājuma vietās. Atrodiet muguras centru un izmēriet 8 collas abos virzienos, lai izgrieztu atslēgas caurumus (standarts 16 - tapas centros ASV). Es urbju galveno caurumu, kas ir nedaudz lielāks par skrūvju galvu, ko es izmantošu, un iegriezu caurumu vienā virzienā lielāku. Krāsojiet melnu krāsu un piestipriniet vāku vietā.

26. darbība: kods un faili

Atkal, es esmu diezgan jauns, lai izmantotu daudzas šeit izmantotās Arduino bibliotēkas, tāpēc esmu pārliecināts, ka ir labāki veidi, kā tos izmantot.

Es uzrakstīju kodu, lai to varētu viegli atjaunināt, pamatojoties uz to, cik gaismas diožu jūs izmantojat, ja projekts tiek palielināts vai samazināts. Viss, kas jums jādara, ir atjaunināt LED sākuma un beigu pozīcijas, kā arī to, cik gaismas diodes ir katra cipara daļa.

Esmu pievienojis dažas animācijas, kas tiek atskaņotas gan startēšanas laikā, gan stundā. Tie ir sudo nejauši, pamatojoties uz nejaušo skaitļu ģeneratoru, kas tam ir uz kuģa.

Jūs varat iestatīt pulksteni, lai mainītu krāsas vai paliktu nemainīgs. Jūs pat varat izcelt indikatora ciparu, lai palīdzētu nolasīt laiku, kā parādīts ievadā.

Jūtieties brīvi rediģēt un mainīt kodu, kā vēlaties.

#include "RTClib.h"

#include #define NUM_LEDS 96 #define DATA_PIN 3 #define LDR A0 RTC_DS1307 rtc; Būla laiksChange = false; Būla printTime = false; // Iestatiet uz true, ja vēlaties redzēt izvadi konsolē. Noderīga atkļūdošanai. Būla redDown = true; Būla zaļaDown = false; Būla zilsDown = nepatiess; Būla cikls = nepatiess; // Iestatiet patiesu, ja vēlaties, lai pulksteņa krāsas mainītu Būla izcelšanu = true; // Iestatiet patiesu, lai izceltu 'pēdējo ciparu'. // Katras laika konstantes grupas sākuma un beigu vietas int SECOND_1_LOCATION = 0; const int HOUR_2_START_LOCATION = 1; const int HOUR_2_END_LOCATION = 8; const int HOUR_1_START_LOCATION = 9; const int HOUR_1_END_LOCATION = 20; const int MINUTE_2_START_LOCATION = 21; const int MINUTE_2_END_LOCATION = 42; const int MINUTE_1_START_LOCATION = 43; const int MINUTE_1_END_LOCATION = 66; const int SECOND_2_START_LOCATION = 67; const int SECOND_2_END_LOCATION = 95; const int LEDS_PER_HOUR_1 = 3; const int LEDS_PER_HOUR_2 = 2; const int LEDS_PER_MINUTE_1 = 6; const int LEDS_PER_MINUTE_2 = 2; // Reizinātāji, ko izmanto laika konstantu sadalīšanai int MULTIPLIER_FIVE = 5; const int MULTIPLIER_TWO = 2; const int START_UP_DELAY = 1; // Mainiet to, lai paātrinātu vai palēninātu palaišanas animāciju const int CYCLE_SPEED = 1; // Šeit mainiet krāsu maiņas cikla ātrumu (jābūt virs 1) // Deklarējiet mainīgos int lastSecond = 0; int currentHour = 0; int currentMinute = 0; int currentSecond = 0; int stunda1 = 0; int stunda2 = 0; int minūte1 = 0; int minūte2 = 0; int otrais1 = 0; int otrais2 = 0; int cycleCount = 1; float fadeValue = 255; float fadeCheck = 255; uint8_t spilgti = 255; int numberOfAnimations = 5; int nejaušība = 0; // Iestatīt krāsas uint8_t red = 0; uint8_t zaļš = 0; uint8_t zils = 255; uint8_t izcelt_sarkans = 60; uint8_t izcelt_zaļš = 60; uint8_t izcelt_zils = 255; // Definējiet gaismas diožu masīvu CRGB gaismas diodes [NUM_LEDS]; void setup () {Serial.begin (19200); FastLED.addLeds (gaismas diodes, NUM_LEDS); LEDS.setBrightness (spilgts); FastLED.clear (); rtc.begin (); // Norakstiet rindu zemāk, lai iestatītu laiku. // rtc.adjust (DateTime (2020, 2, 19, 23, 59, 50)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Startēšanas animācija animate (nejaušība); } void loop () {// Iegūt laiku DateTime now = rtc.now (); currentHour = tagad.stunda (); currentMinute = tagad.minūte (); currentSecond = tagad.second (); timeChange = nepatiess; // Izmantojiet tos, lai manuāli iestatītu laiku bez RTC. Noderīga atkļūdošanai // currentHour = 5; // pašreizējāMinute = 30; // pašreizējaisOtrais = 30; // Atiestatīt visus bitus uz nulli (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB:: Black; } // Iestatīt stundu // Iestatīt stundu 1 stundu1 = (currentHour % MULTIPLIER_FIVE) * LEDS_PER_HOUR_1; // Tas saskaitīs laika vienības kopējās gaismas diodes, kas iedegsies (int i = HOUR_1_START_LOCATION; i 0) // && hour1 <12) {par (int i = (HOUR_1_START_LOCATION + stunda1 - 1); i> = (HOUR_1_START_LOCATION + stunda1-LEDS_PER_HOUR_1); i--) {leds = CRGB (izcelt_sarkans, izcelt_zaļš, izcelt_zils); }} // Iestatīt stundu 2 stunda2 = (currentHour / MULTIPLIER_FIVE) * LEDS_PER_HOUR_2; // Tas saskaitīs laika vienības kopējās gaismas diodes, kas iedegsies (int i = HOUR_2_START_LOCATION; i 0) // && hour2 <8) {par (int i = (HOUR_2_START_LOCATION + stunda2 - 1); i> = (HOUR_2_START_LOCATION + stunda2-LEDS_PER_HOUR_2); i--) {leds = CRGB (izcelt_sarkans, izcelt_zaļš, izcelt_zils); }} // Iestatīt minūti // Iestatīt minūti 1 minūte1 = (currentMinute % MULTIPLIER_FIVE) * LEDS_PER_MINUTE_1; // Tas saskaitīs laika vienības kopējās gaismas diodes, kas iedegsies (int i = MINUTE_1_START_LOCATION; i 0) // && minute1 <24) {par (int i = (MINUTE_1_START_LOCATION + minute1 - 1); i> = (MINUTE_1_START_LOCATION + minūte1-LEDS_PER_MINUTE_1); i--) {leds = CRGB (izcelt_sarkans, izcelt_zaļš, izcelt_zils); }} // Iestatīt minūti 2 minūtes2 = (currentMinute / MULTIPLIER_FIVE) * LEDS_PER_MINUTE_2; // Tas saskaitīs laika vienības kopējās gaismas diodes, kas iedegsies (int i = MINUTE_2_START_LOCATION; i 0) // && minute2 <22) {par (int i = (MINUTE_2_START_LOCATION + minute2 - 1); i> = (MINUTE_2_START_LOCATION + minūte2-LEDS_PER_MINUTE_2); i--) {leds = CRGB (izcelt_sarkans, izcelt_zaļš, izcelt_zils); }} // Iestatīt Second if (currentSecond! = LastSecond) {timeChange = true; } // Iestatīt otro 1 sekundi1 = currentSecond % MULTIPLIER_TWO; if (second1 == 1) {leds [SECOND_1_LOCATION] = CRGB (sarkans, zaļš, zils); } // Iestatīt otro 2 sekundi2 = currentSecond / MULTIPLIER_TWO; par (int i = SECOND_2_START_LOCATION; i 0) // && second2 <29) {par (int i = (SECOND_2_START_LOCATION + second2 - 1); i> = (SECOND_2_START_LOCATION + second2 - 1); i--) {leds = CRGB (izcelt_sarkans, izcelt_zaļš, izcelt_zils); }} lastSecond = currentSecond; // Saskaitiet programmas ciklus un izsauciet funkciju setColor, lai mainītu LED krāsu krāsu CYCLE_SPEED ciklos. if (cycleCount gaišs) // {// fadeValue = gaišs; //} // cits if (fadeValue <150) // {// fadeValue = 150; //} // LEDS.setBrightness (fadeValue); FastLED.show (); // Izdrukāt pašreizējo laiku konsolē, ja (timeChange == true && printTime == true) {printToConsole (); }} // Animācijas funkcija šeit pievieno vēl citas animācijas, kā vēlaties void animate (int select) {if (select == 0) {for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (sarkans, zaļš, zils); FastLED.show (); kavēšanās (START_UP_DELAY); } priekš (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: melns; FastLED.show (); kavēšanās (START_UP_DELAY); }} cits ja (izvēlieties == 1) {par (int i = 0; i <250; i ++) {int light = random (95); gaismas diodes [gaisma] = CRGB (sarkana, zaļa, zila); FastLED.show (); }} cits if (izvēlieties == 2) {leds [0] = CRGB (sarkans, zaļš, zils); par (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {gaismas diodes [SECOND_2_START_LOCATION+i] = CRGB (sarkana, zaļa, zila); ja (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {noved [MINUTE_1_START_LOCATION + i] = CRGB (sarkans, zaļš, zils); } ja (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {noved [MINUTE_2_START_LOCATION + i] = CRGB (sarkans, zaļš, zils); } ja (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {noved [HOUR_1_START_LOCATION + i] = CRGB (sarkans, zaļš, zils); } ja (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {noved [HOUR_2_START_LOCATION + i] = CRGB (sarkans, zaļš, zils); } kavēšanās (34); FastLED.show (); }} cits if (izvēlieties == 3) {leds [0] = CRGB (sarkans, zaļš, zils); par (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {gaismas diodes [SECOND_2_END_LOCATION - i] = CRGB (sarkana, zaļa, zila); ja (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {noved [MINUTE_1_END_LOCATION - i] = CRGB (sarkans, zaļš, zils); } ja (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {noved [MINUTE_2_END_LOCATION - i] = CRGB (sarkans, zaļš, zils); } ja (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {noved [HOUR_1_END_LOCATION - i] = CRGB (sarkans, zaļš, zils); } ja (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {noved [HOUR_2_END_LOCATION - i] = CRGB (sarkans, zaļš,zils); } kavēšanās (34); FastLED.show (); }} cits ja (izvēlieties == 4) {par (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Black; } FastLED.show (); kavēšanās (200); par (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {gaismas diodes = CRGB (sarkana, zaļa, zila); } FastLED.show (); kavēšanās (200); priekš (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: melns; } FastLED.show (); kavēšanās (200); par (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {gaismas diodes = CRGB (sarkana, zaļa, zila); } FastLED.show (); kavēšanās (200); par (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: melns; } FastLED.show (); kavēšanās (200); }} // Krāsu riteņbraukšanas funkcija void setColor (Būla ciklsKrāsas) {if (cycleColors == true) {if (redDown == true && greenDown == false) {red ++; zaļš--; ja (zaļš <= 0) {sarkans = 255; redDown = nepatiess; greenDown = taisnība; }} cits if (zaļšDown == true && blueDown == false) {zaļš ++; zils-; ja (zils <= 0) {zaļš = 255; greenDown = nepatiess; blueDown = taisnība; }} cits if (blueDown == true && redDown == false) {blue ++; sarkans--; ja (sarkans <= 0) {zils = 255; blueDown = nepatiess; redDown = taisnība; }}} cits {sarkans = 0; zaļa = 0; zils = 255; }} // Drukāt uz seriālā monitora funkciju void printToConsole () {Serial.print ("Pašreizējais laiks:"); Serial.print (currentHour); Serial.print (":"); Serial.print (currentMinute); Serial.print (":"); Serial.println (currentSecond); Serial.println (""); par (int i = HOUR_2_START_LOCATION; i <= HOUR_2_END_LOCATION; i ++) {Serial.print (gaismas diodes ); ja (i % 2 == 0) {Serial.print (""); }} Serial.println (""); par (int i = HOUR_1_START_LOCATION; i <= HOUR_1_END_LOCATION; i ++) {Serial.print (gaismas diodes ); ja ((((i - HOUR_1_START_LOCATION + 1) % 3) == 0) {Serial.print (""); }} Serial.println (""); par (int i = MINUTE_2_START_LOCATION; i <= MINUTE_2_END_LOCATION; i ++) {Serial.print (gaismas diodes ); ja ((((i - MINUTE_2_START_LOCATION) + 1) % 2 == 0) {Serial.print (""); }} Serial.println (""); par (int i = MINUTE_1_START_LOCATION; i <= MINUTE_1_END_LOCATION; i ++) {Serial.print (gaismas diodes ); ja ((((i - MINUTE_1_START_LOCATION) + 1) % 6 == 0) {Serial.print (""); }} Serial.println (""); par (int i = SECOND_2_START_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {Serial.print (gaismas diodes ); Serial.print (""); } Serial.println (""); Serial.println (gaismas diodes [SECOND_1_LOCATION]); Sērijas.println (); par (int i = 0; i <NUM_LEDS; i ++) {Serial.print (gaismas diodes ); } Sērijas.println (); Sērijas.println (); }

27. solis: izbaudiet

Attēls
Attēls

Noslēgumā jāsaka, ka šo pulksteni ir brīnišķīgi skatīties, un, tiklīdz jūs to uztverat, to ir salīdzinoši viegli lasīt. Ja izveidojat savu pulksteņa projektu, dariet man to zināmu!

Ieteicams: