INHOUDSOPGAWE:

Kriptiese muurklok: 27 stappe (met foto's)
Kriptiese muurklok: 27 stappe (met foto's)

Video: Kriptiese muurklok: 27 stappe (met foto's)

Video: Kriptiese muurklok: 27 stappe (met foto's)
Video: Kleuters op familiefeest 😂 2024, November
Anonim
Kriptiese muurklok
Kriptiese muurklok

Die verloop van tyd is iets wat ons nie kan beheer nie. Dit gebeur in dieselfde tempo as ons slaap, wakker, verveeld of verloof is. Met huidige gebeure is dit belangrik om te onthou dat tyd sal verbygaan. Terwyl ons wag dat die tyd verbygaan, maak dan nie iets wat die verloop van tyd aantrekliker maak om na te kyk nie.

Hierdie horlosie is geïnspireer deur die Mengenlehreuhr wat in Berlyn, Duitsland, gevind is en kan op dieselfde manier gelees word. Net soos die oorspronklike, vertel dit die tyd deur middel van verligte, gekleurde velde.

Dit beskik oor 96 LED's wat 52 'syfer' -streke verlig. Anders as die oorspronklike, bevat dit 'n sirkelvormige ontwerp met 'n sekonde -ring, in plaas van 'n horisontale staafuitleg. Die buitenste band dui sekondes aan in samewerking met die middelste punt, die volgende twee bande dui minute aan, met die laaste binnebande wat ure aandui.

As u afvalmateriaal en ekstra tyd in u hande het, gebruik dan hierdie tyd om iets te maak wat dit wys!

Daar is 'n paar veranderinge wat ek aan hierdie projek sou maak as ek dit weer sou aanbring. Eerstens sou ek die raam en LED -bord wit in plaas van swart verf. Dit sou meer lig deur die groot lens aan die voorkant weerkaats. Ek sou ook tot die einde wag om die LED's in te sit. Ek het nodig gehad dat die bord vroeër klaar was, sodat dit my kon help met die skryf van die kode. Met dit uit die weg, laat ons eers leer hoe om dit te lees!

Beeld
Beeld

Stap 1: Hoe om die horlosie te lees

Die klok word van die binnekringe na die buitekant gelees. Die binneste ring van vier velde dui elk vyf volle ure aan, langs die tweede ring, ook van vier velde, wat elk een volle uur aandui, met die uurwaarde in 24-uur-formaat. Die derde ring bestaan uit elf velde, wat elk vyf volle minute aandui, die volgende ring het nog vier velde, wat elk 'n volle minuut aandui. Uiteindelik dui die buitenste ring van 29 velde ewe sekondes aan, terwyl die lig in die middel flikker om ongelyke (as aangesteek) of ewe sekonde (as dit nie aangeskakel is nie) aan te dui.

Beeld
Beeld

Byvoorbeeld, die prent hierbo het 1 van die vyf uur syfers, 3 van die een uur syfers, 8 van die vyf minute syfers, 4 van die een minuut syfers en 23 van die twee tweede syfers en die middelste tweede syfer verlig.

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

Beeld
Beeld

Die tyd hierbo getoon is: 3x5 + 0x1: 3x5 + 2x1: 5x2 + 1x1 = 15:17:11 = 15:17:11

Beeld
Beeld

Die tyd hierbo getoon is: 3x5 + 2x1: 3x5 + 3x1: 16x2 + 1x1 = 17:18:33 = 17:18:33 PM

Stap 2: gereedskap en materiaal

Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal
Gereedskap en materiaal

Elektroniese materiaal:

  • Arduino Nano
  • Real -time klok
  • Adresbare LED's
  • Kragprop
  • Krag kabel
  • USB -kragprop
  • Ligte afhanklike weerstand en gebalanseerde weerstand (as u dit in die nag wil laat verdof)
  • Draad

Houtbewerkingsmateriaal:

  • 3/4 duim laaghout
  • Dun laaghout
  • Skroothout (ek het 2x4s gebruik, maar hardehout sou ook werk)
  • Verf
  • Akriel 30 x 36 in. Vel (gevind by die plaaslike huisverbeteringswinkel)
  • Venstertint (probeer om plaaslik te soek. As daar nie een beskikbaar is nie, kan u 'n vel hier groot vind)
  • Venstertint -toedieningsvloeistof (ek gebruik water gemeng met baba sjampoe in 'n spuitbottel)
  • Windex
  • Slagterpapier
  • Skroewe
  • Spuit kleefmiddel
  • Gom
  • Plak plak

Gereedskap:

  • Heerser
  • Xacto -mes
  • Band
  • Dubbelzijdige band
  • Kompas
  • Circle Cutting Jig
  • Legkaart
  • Bandsaag
  • Spindel Sander
  • Palmskuurder
  • Skyfskuurmasjien
  • Router tafel
  • Slaw
  • Boor en boor stukkies/drywers
  • Klampe
  • Soldeerbout
  • Soldeer
  • Draadstroppers

Stap 3: Stel sjablone bymekaar

Stel sjablone bymekaar
Stel sjablone bymekaar
Stel sjablone bymekaar
Stel sjablone bymekaar

Vir die groot sjabloon, druk dit af met die plakkaatinstelling in Adobe Reader. Sny die kantlyne van elke papier af en plak dit saam. Die vertikale, horisontale en diagonale lyne sal help om die sjabloon in lyn te bring. Die bladsye het almal klein getalle om hulle georganiseer te hou as hulle buite werking val.

Alle benodigde sjablone en lêers word in stap 26 gevind.

Stap 4: Grof gesnyde sirkels

Grof gesnyde sirkels
Grof gesnyde sirkels
Grof gesnyde sirkels
Grof gesnyde sirkels

Plaas die twee sjablone op 'n laag laaghout van 3/4 duim en teken 'n bietjie groter sirkels as wat nodig is met 'n kompas. Sny die growwe vorm met 'n figuursaag.

Stap 5: Sny in grootte

Sny in grootte
Sny in grootte
Sny in grootte
Sny in grootte

Sny die sirkels tot 'n finale grootte met 'n sirkel om die mal te sny.

Stap 6: Pas sjabloon toe

Pas sjabloon toe
Pas sjabloon toe
Pas sjabloon toe
Pas sjabloon toe
Pas sjabloon toe
Pas sjabloon toe

Dien elke sjabloon in 'n sirkel toe met spuitgom. Steek 'n spyker in die middel van die sjabloon om dit op die sirkel te sentreer.

Stap 7: Sny sjabloon

Sny sjabloon
Sny sjabloon
Sny sjabloon
Sny sjabloon
Sny sjabloon
Sny sjabloon

Knip elke individuele venster van die sjabloon met 'n figuursaag. As u toegang tot 'n CNC het, sou hierdie stap baie makliker wees! Ek het 'n gat in elke venster geboor om met hierdie proses te help. As u begin sny, kan die sjabloon begin afkom. As dit gebeur, kan u dit met klein stukkies band vasmaak.

Stap 8: Skuur

Skuur
Skuur
Skuur
Skuur
Skuur
Skuur

Gebruik skuurpapier wat op 'n stok, 'n spilskuurder en palmskuurder aangebring word, en maak die growwe snit wat die figuursaag agtergelaat het, glad.

Stap 9: Boorhouers vir LED's

Boorhouers vir LED's
Boorhouers vir LED's
Boorhouers vir LED's
Boorhouers vir LED's
Boorhouers vir LED's
Boorhouers vir LED's
Boorhouers vir LED's
Boorhouers vir LED's

Merk die middel van elke gat met 'n aal en boor spelinggate vir die LED's. Ek het 'n gids gebruik om die boor loodreg op my werkstuk te hou en 'n agterplank om te keer dat die hout op die rug uitblaas.

Stap 10: Kombineer borde

Kombineer borde
Kombineer borde
Kombineer borde
Kombineer borde
Kombineer borde
Kombineer borde

Ruil die voor- en agterplate om en spoor dele van die raam agter op die LED -bord. Beweeg die raam terug na die voorkant van die LED -bord en boor gate en skroef die stukke aan mekaar vas.

Sien prentnotas vir meer inligting.

Stap 11: Plaas LED's

Plaas LED's
Plaas LED's
Plaas LED's
Plaas LED's

Druk die LED's deur die agterkant van die LED -bord. Die gate moet net so groot wees dat u geen drade hoef te sny nie, behalwe om van die een sirkel na die volgende te beweeg.

Van agter af begin die LED's in die middel en loop dan teen die kloksgewys en dan na die volgende ring.

Stap 12: Heg segment 1 aan

Heg segment 1 aan
Heg segment 1 aan
Heg segment 1 aan
Heg segment 1 aan
Heg segment 1 aan
Heg segment 1 aan

Knip 9 segmente uit die "Segment 1" -sjabloon wat op 3/4 duim laaghout vasgemaak is (gevind in stap 26). Heg aan die LED -bord vas met gom en klampe. As u ongeduldig is, kan u ook spykers gebruik om dit vas te hou.

Sodra dit droog is, skuur die rand gelyk met 'n skyfskuurder.

Stap 13: Verf

Verf
Verf
Verf
Verf
Verf
Verf
Verf
Verf

Spuitverf sowel die LED -bord as die raam. As ek dit weer gemaak het, sou ek gekies het om wit verf in plaas van swart te gebruik, aangesien dit meer reflektief deur die lens sou wees.

Stap 14: Segment 2

Segment 2
Segment 2
Segment 2
Segment 2
Segment 2
Segment 2

Knip 9 segmente uit die "Segment 2" -sjabloon wat uit hout geheg is wat 2 3/8 in dik is (gevind in stap 26). Ek het 'n paar stukkies 2x4 van die winkel af gebruik. Pas die segmente droog aan en sorg dat dit goed pas met 'n bandklem. As alles reg is, bedek die buitekant met kleeflint om te voorkom dat die gom vassit en laat dit minstens 'n uur droog word voordat u na die volgende stap gaan.

Stap 15: Segment 3

Segment 3
Segment 3
Segment 3
Segment 3
Segment 3
Segment 3

Knip 9 segmente uit die "Segment 3" -sjabloon wat uit 'n dik skroothout (3/8 duim) geheg is (gevind in stap 26). Plak dit vas sodat die nate van segment 2 in die middel van elke segment 3 is. Dit versterk die ring.

Stap 16: Maak die ring glad en verf

Gladde ring en verf
Gladde ring en verf
Gladde ring en verf
Gladde ring en verf

Ek het 'n pasgemaakte skuurblok gemaak van die afgesnyde stuk van die groot ring. Skuur die binnekant en buitekant van die ring en vul die krake wat tydens die gomproses verskyn het.

Sodra dit glad is, dien 'n paar lae swart verf en 'n deursigtige laag aan.

Stap 17: Sny akriel

Sny akriel
Sny akriel
Sny akriel
Sny akriel
Sny akriel
Sny akriel
Sny akriel
Sny akriel

Sny die akriel in 'n vierkant van 30 x 30 cm en merk die middel. Bevestig die akriel met dubbelzijdige band. Verwyder die oortollige akriel met 'n spoelbout

Stap 18: Dien Venstertint toe

Pas Venstertint toe
Pas Venstertint toe
Pas Venstertint toe
Pas Venstertint toe
Pas Venstertint toe
Pas Venstertint toe

Verwyder die beskermende film van die akriel in 'n stofvrye omgewing. Dien spuit toe en verwyder die agterkant van die venster. Wend die venster tint aan met die klewerige kant na onder. Druk met 'n rakel of 'n kredietkaart al die vloeistof onder die venster uit. As alle borrels en plooie verwyder is, sny die oortollige venster tint met 'n skerp mes.

Stap 19: Heg Defuser aan

Heg Defuser aan
Heg Defuser aan
Heg Defuser aan
Heg Defuser aan

Ek het 'n groot stuk slagterpapier gebruik om as 'n ontleder te dien. Plaas die papier op 'n plat oppervlak. Bedek die voorkant van die raam met gom van 'n gomstok. Voordat die gom droog word, lê die voorkant van die horlosie met die gesig na onder op die papier en sny die oortollige stof grof. As dit droog is, gebruik 'n skerp mes om dit te spoel.

Stap 20: Pas isolasie toe

Pas isolasie toe
Pas isolasie toe

Ek het elektriese band gebruik om die krag- en dataanlyne skei te hou.

Stap 21: Monteer

Versamel
Versamel
Versamel
Versamel
Versamel
Versamel

Verwyder die ander beskermende laag van die akriel. Plaas die akriel in die ring met die vensterkant na bo. Skuif die res van die horlosie in die ring. Gebruik 'n klem om ligte druk uit te oefen terwyl 'n gat deur die ring geboor word en in die LED -bord. Dit moet ongeveer 1 1/8 duim van agter wees. Wees versigtig om nie in 'n LED te boor nie. Skroef 'n takskroef in die gat vas. Herhaal vir 'n totaal van agt skroewe rondom die omtrek van die klok.

Stap 22: Heg ankerpunte aan

Heg ankerpunte aan
Heg ankerpunte aan

Gomanker wys aan die agterkant van die horlosie waarop die agterblad vasgemaak kan word. Dit is 3/4 in dik en ongeveer 2 in lank.

Stap 23: Boorkrag- en LDR -sensorgate

Boorkrag- en LDR -sensorgate
Boorkrag- en LDR -sensorgate

Boor 'n kraggat deur die onderkant van die horlosie vir die kragprop en 'n gat in die bokant van die ligafhanklike weerstand (LDR) sensor.

Stap 24: Installeer elektroniese houer

Installeer elektroniese houer
Installeer elektroniese houer
Installeer elektroniese houer
Installeer elektroniese houer

Installeer die 3D -gedrukte houer vir die RTC en Arduino Nano. Koppel alle elektronika soos aangedui in die skema.

Stap 25: Agterblad

Agterblad
Agterblad
Agterblad
Agterblad
Agterblad
Agterblad
Agterblad
Agterblad

Sny 'n agterblad van dun laaghout net kleiner as die buitekant van die horlosie. Boor gate in die ankerpunte. Vind die middel van die agterkant en meet 8 duim in beide rigtings om sleutelgate te sny (standaard 16 in senters vir studs in die VSA). Ek het die hoofgat net groter as die kop van die skroewe wat ek gaan gebruik, geboor en die gat in een rigting ingedien. Verf swart en plak die omslag vas.

Stap 26: Kode en lêers

Weereens, ek is redelik nuut in die gebruik van baie van die Arduino -biblioteke wat hier gebruik word, so ek is seker daar is beter maniere om dit te gebruik.

Ek het die kode geskryf om maklik opgedateer te word, gebaseer op hoeveel LED's u gebruik as die projek op of af is. Al wat u hoef te doen is om die begin- en eindposisies van die LED op te dateer, asook hoeveel LED's deel uitmaak van elke syfer.

Ek het 'n paar animasies bygevoeg wat by die aanvang sowel as op die uur speel. Hulle is sudo ewekansig gebaseer op die ewekansige getalgenerator wat dit aan boord het.

U kan die klok deur die kleure laat beweeg of by een staties bly. U kan selfs die aanwysersyfer uitlig om die tyd te help lees, soos in die inleiding getoon.

U kan die kode redigeer en verander soos u wil.

#sluit "RTClib.h" in

#include #define NUM_LEDS 96 #define DATA_PIN 3 #define LDR A0 RTC_DS1307 rtc; boolean timeChange = false; boolean printTime = false; // Stel op true as u die uitvoer in die konsole wil sien. Nuttig vir ontfouting. boolean redDown = true; boolean greenDown = false; boolean blueDown = false; boolean cycle = false; // Stel waar as u wil hê dat die kleure van die klok Booleaanse hoogtepunt moet laat val = waar; // Stel waar om 'laaste syfer' uit te lig. // Plekke van die begin en einde van elke groep tyd const 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; // Vermenigvuldigers wat gebruik word om tyd te verdeel const int MULTIPLIER_FIVE = 5; const int MULTIPLIER_TWO = 2; const int START_UP_DELAY = 1; // Verander dit om die opstartanimasie te versnel of te vertraag const int CYCLE_SPEED = 1; // Verander die tempo hier vir die kleurveranderingsiklus (moet bo 1 wees) // Declare variables int lastSecond = 0; int huidige uur = 0; int currentMinute = 0; int currentSecond = 0; int uur1 = 0; int uur2 = 0; int minuut1 = 0; int minute2 = 0; int tweede1 = 0; int tweede2 = 0; int cycleCount = 1; float fadeValue = 255; float fadeCheck = 255; uint8_t helder = 255; int numberOfAnimations = 5; int willekeur = 0; // Stel kleure uint8_t rooi = 0; uint8_t groen = 0; uint8_t blou = 255; uint8_t highlight_red = 60; uint8_t highlight_green = 60; uint8_t highlight_blue = 255; // Definieer die verskeidenheid leds CRGB -leds [NUM_LEDS]; ongeldige opstelling () {Serial.begin (19200); FastLED.addLeds (leds, NUM_LEDS); LEDS.setBrightness (helder); FastLED.clear (); rtc.begin (); // Los kommentaar hieronder om tyd in te stel. // rtc.adjust (DateTime (2020, 2, 19, 23, 59, 50)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Animasie aan die gang (ewekansig); } void loop () {// Kry tyd DateTime nou = rtc.now (); huidige uur = nou.uur (); currentMinute = now.minute (); currentSecond = now.second (); timeChange = vals; // Gebruik hierdie om die tyd sonder RTC handmatig in te stel. Nuttig vir ontfouting // currentHour = 5; // currentMinute = 30; // currentSecond = 30; // Stel alle stukkies terug op nul vir (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB:: Swart; } // Stel uur // Stel uur 1 uur1 = (huidige uur % MULTIPLIER_FIVE) * LEDS_PER_HOUR_1; // Dit tel die totale LED's van die tydseenheid om voor te lig (int i = HOUR_1_START_LOCATION; i 0) // && hour1 <12) {vir (int i = (HOUR_1_START_LOCATION + uur1 - 1); i> = (HOUR_1_START_LOCATION + uur1-LEDS_PER_HOUR_1); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }} // Stel uur 2 uur2 = (huidige uur / MULTIPLIER_VYF) * LEDS_PER_HOUR_2; // Dit tel die totale LED's van die tydseenheid om voor te lig (int i = HOUR_2_START_LOCATION; i 0) // && hour2 <8) {for (int i = (HOUR_2_START_LOCATION + hour2 - 1); i> = (HOUR_2_START_LOCATION + uur2-LEDS_PER_HOUR_2); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }} // Stel minute // Stel minuut 1 minuut1 = (currentMinute % MULTIPLIER_FIVE) * LEDS_PER_MINUTE_1; // Dit tel die totale LED's van die tydseenheid om aan te brand (int i = MINUTE_1_START_LOCATION; i 0) // && minute1 <24) {vir (int i = (MINUTE_1_START_LOCATION + minute1 - 1); i> = (MINUTE_1_START_LOCATION + minute1-LEDS_PER_MINUTE_1); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }} // Stel minuut 2 minute2 = (currentMinute / MULTIPLIER_FIVE) * LEDS_PER_MINUTE_2; // Dit tel die totale LED's van die tydseenheid om op te brand (int i = MINUTE_2_START_LOCATION; i 0) // && minute2 <22) {vir (int i = (MINUTE_2_START_LOCATION + minute2 - 1); i> = (MINUTE_2_START_LOCATION + minute2-LEDS_PER_MINUTE_2); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }}} // Stel Tweede as (currentSecond! = LastSecond) {timeChange = true; } // Stel tweede 1 sekonde1 = currentSecond % MULTIPLIER_TWO; as (tweede1 == 1) {leds [SECOND_1_LOCATION] = CRGB (rooi, groen, blou); } // Stel tweede 2 sekonde2 = currentSecond / MULTIPLIER_TWO; for (int i = SECOND_2_START_LOCATION; i 0) // && second2 <29) {for (int i = (SECOND_2_START_LOCATION + second2 - 1); i> = (SECOND_2_START_LOCATION + second2 - 1); i--) {leds = CRGB (highlight_red, highlight_green, highlight_blue); }} lastSecond = currentSecond; // Tel siklusse van die program en skakel die setColor -funksie om die kleur van die LED's ooit CYCLE_SPEED -siklusse te verander. as (cycleCount helder) // {// fadeValue = helder; //} // anders as (fadeValue <150) // {// fadeValue = 150; //} // LEDS.setBrightness (fadeValue); FastLED.show (); // Druk die huidige tyd op die konsole af as (timeChange == true && printTime == true) {printToConsole (); }}} // Animasie -funksie, voeg meer animasies hier by as u wil: leegmaak (int select) {if (select == 0) {for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (rooi, groen, blou); FastLED.show (); vertraging (START_UP_DELAY); } vir (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Swart; FastLED.show (); vertraging (START_UP_DELAY); }} anders as (kies == 1) {vir (int i = 0; i <250; i ++) {int light = random (95); leds [lig] = CRGB (rooi, groen, blou); FastLED.show (); }} anders as (kies == 2) {leds [0] = CRGB (rooi, groen, blou); vir (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {leds [SECOND_2_START_LOCATION+i] = CRGB (rooi, groen, blou); as (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {leds [MINUTE_1_START_LOCATION + i] = CRGB (rooi, groen, blou); } as (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {leds [MINUTE_2_START_LOCATION + i] = CRGB (rooi, groen, blou); } as (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {leds [HOUR_1_START_LOCATION + i] = CRGB (rooi, groen, blou); } as (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {leds [HOUR_2_START_LOCATION + i] = CRGB (rooi, groen, blou); } vertraging (34); FastLED.show (); }} anders as (kies == 3) {leds [0] = CRGB (rooi, groen, blou); vir (int i = 0; i <= SECOND_2_END_LOCATION - SECOND_2_START_LOCATION; i ++) {leds [SECOND_2_END_LOCATION - i] = CRGB (rooi, groen, blou); as (i <= (MINUTE_1_END_LOCATION - MINUTE_1_START_LOCATION)) {leds [MINUTE_1_END_LOCATION - i] = CRGB (rooi, groen, blou); } as (i <= (MINUTE_2_END_LOCATION - MINUTE_2_START_LOCATION)) {leds [MINUTE_2_END_LOCATION - i] = CRGB (rooi, groen, blou); } as (i <= (HOUR_1_END_LOCATION - HOUR_1_START_LOCATION)) {leds [HOUR_1_END_LOCATION - i] = CRGB (rooi, groen, blou); } as (i <= (HOUR_2_END_LOCATION - HOUR_2_START_LOCATION)) {leds [HOUR_2_END_LOCATION - i] = CRGB (rooi, groen,blou); } vertraging (34); FastLED.show (); }} anders as (kies == 4) {vir (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Swart; } FastLED.show (); vertraging (200); for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (rooi, groen, blou); } FastLED.show (); vertraging (200); for (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Swart; } FastLED.show (); vertraging (200); for (int i = SECOND_1_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {leds = CRGB (rooi, groen, blou); } FastLED.show (); vertraging (200); for (int i = SECOND_2_END_LOCATION; i> = SECOND_1_LOCATION; i--) {leds = CRGB:: Swart; } FastLED.show (); vertraging (200); }}} // Kleurfietsryfunksie void setColor (boolean cycleColors) {if (cycleColors == true) {if (redDown == true && greenDown == false) {red ++; groen--; as (groen <= 0) {rooi = 255; redDown = vals; greenDown = waar; }} anders as (greenDown == true && blueDown == false) {green ++; blou--; as (blou <= 0) {groen = 255; greenDown = vals; blueDown = waar; }} anders as (blueDown == true && redDown == false) {blue ++; rooi--; as (rooi <= 0) {blou = 255; blueDown = vals; redDown = waar; }}} anders {rooi = 0; groen = 0; blou = 255; }}} // Print to Serial Monitor function void printToConsole () {Serial.print ("Huidige tyd:"); Serial.print (huidige uur); Serial.print (":"); Serial.print (currentMinute); Serial.print (":"); Serial.println (currentSecond); Serial.println (""); vir (int i = HOUR_2_START_LOCATION; i <= HOUR_2_END_LOCATION; i ++) {Serial.print (leds ); as (i % 2 == 0) {Serial.print (""); }} Serial.println (""); vir (int i = HOUR_1_START_LOCATION; i <= HOUR_1_END_LOCATION; i ++) {Serial.print (leds ); as (((i - HOUR_1_START_LOCATION + 1) % 3) == 0) {Serial.print (""); }} Serial.println (""); vir (int i = MINUTE_2_START_LOCATION; i <= MINUTE_2_END_LOCATION; i ++) {Serial.print (leds ); as (((i - MINUTE_2_START_LOCATION) + 1) % 2 == 0) {Serial.print (""); }} Serial.println (""); vir (int i = MINUTE_1_START_LOCATION; i <= MINUTE_1_END_LOCATION; i ++) {Serial.print (leds ); as (((i - MINUTE_1_START_LOCATION) + 1) % 6 == 0) {Serial.print (""); }} Serial.println (""); vir (int i = SECOND_2_START_LOCATION; i <= SECOND_2_END_LOCATION; i ++) {Serial.print (leds ); Serial.print (""); } Serial.println (""); Serial.println (leds [SECOND_1_LOCATION]); Serial.println (); vir (int i = 0; i <NUM_LEDS; i ++) {Serial.print (leds ); } Serial.println (); Serial.println (); }

Stap 27: Geniet dit

Beeld
Beeld

Ten slotte, hierdie horlosie is wonderlik om na te kyk, en as u dit eers onder die knie kry, is dit relatief maklik om te lees. Laat weet my as u u eie klokprojek maak!

Aanbeveel: