Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Har du noen gang ønsket at lunsjtiden var lengre, men du visste ikke hvor du skulle finne de ekstra minuttene? Vel, ønsker ikke lenger!
Takket være store fremskritt innen klokke -teknologi, presenterer jeg for deg en klokke som øker 20% hver dag kl. 11.00 og reduserer 20% hver dag kl. 11:48, noe som gir deg tolv minutter ekstra lunsj. Tolv minutter kan ikke virke som mye, men for å sette det i perspektiv er dette en hel time ekstra lunsj hver uke.
Trinn 1: Gå Få ting
Du vil trenge:
(x1) Standard veggklokke (x1) Adafruit DS1307 sanntidsklokke (x1) Arduino Uno (m/ATMEGA328 DIP -brikke) (x1) Ekstra ATMEGA328 -brikke med Arduino bootloader installert (se siste trinn) (x2) BC547 NPN -transistorer (x2) BC557 PNP -transistorer (x1) 28 -pinners stikkontakt (x1) 16mhz krystall + (x2) 20pf kondensatorer (x1) 1K -motstand (x1) 7805 -regulator (x1) 4 -pinners stikkontakt (x1) 9V batteri (x1) 9V batteriknapp
(Vær oppmerksom på at noen av koblingene på denne siden inneholder koblinger fra Amazon. Dette endrer ikke prisen på noen av elementene til salgs, men jeg tjener en liten provisjon hvis du klikker på noen av disse koblingene og kjøper noe. Jeg invester disse pengene på nytt i materialer og verktøy for fremtidige prosjekter. Hvis du ønsker et alternativt forslag til en leverandør av noen av delene, vennligst gi meg beskjed.)
Trinn 2: Fjern bevegelsen
Fjern klokkebevegelsen fra urkroppen. Dette vil kreve at frontglasset fjernes fra klokken, så vel som klokkens hender. Vær forsiktig så du ikke ødelegger noe. Du må sette sammen alt igjen senere.
Trinn 3: Hack bevegelsen
Klokkebevegelsen har en enkelt spole trinnmotor inni. Den grunnleggende teorien her er at vi vil koble spolen fra klokkens timingkrets og deretter feste ledninger til spolen slik at vi kan kontrollere den selv. Så, ved å vite dette, åpne opp klokkebevegelsen og noter nøye hvor alt er (eller ta et bilde). Ta fra hverandre bevegelsen til kretskortet er fritt. Finn kontaktene på kretskortet der motoren er plassert. Legg merke til at disse to kontaktene har spor som går til brikken (gjemt under den svarte klippen). Tanken er å bruke et barberblad eller en kniv til å klø vekk på disse sporene til forbindelsen med brikken er synlig brutt. For et godt mål, kuttet jeg også bort timing -krystallet, noe som gjorde kretsen mer eller mindre ubrukelig. Til slutt loddet jeg omtrent 6 ledning til hver av motorterminalene. Da dette var gjort, satte jeg alt sammen igjen. Det var ikke et sted i saken der jeg enkelt kunne slippe ledningene gjennom og jeg trengte det å gå skikkelig sammen igjen, så jeg endte med å skjære et lite hull for ledningene å passere gjennom.
Trinn 4: Sett sammen klokken igjen
Når bevegelsen din er god og hacket, men klokken er sammen igjen. Viktig: Sørg for at timen, minuttet og sekundviseren står i kø kl. 12.00. Jeg gjorde ikke dette første gangen og oppdaget raskt at klokken ikke ville vises riktig med mindre alle hendene var stilt opp.
Trinn 5: RTC -sett
Hvis du ikke allerede har gjort det, men sammen Adafruit DS1307 sanntidsklokke. Her er noen instruksjoner for å få jobben gjort. Mens du er i gang, kan du også angi tiden på RTC -kortet. Så lenge du ikke tar ut batteriet, trenger du bare å gjøre dette en gang (minst de neste fem årene eller til batteriet dør). Du kan få grundige instruksjoner for å stille inn tiden på Ladyadas nettsted.
Trinn 6: Bygg kretsen
Kretsen er ganske enkel. Det er i utgangspunktet det barna i disse dager kaller en "hackduino", en kontakt for RTC-kortet og en rå H-bro for å kontrollere motoren.
Trinn 7: Programmer brikken
Du må installere RTClib -biblioteket for at koden din skal fungere. Instruksjoner for å gjøre dette er på Ladyadas side. Last ned lunchtime_clock.zip, pakk den ut og last opp lunchtime_clock.pde -koden til brikken din. Hvis du ikke har lyst til å laste ned filen, her er koden: // Lunchtime Clock // av Randy Sarafan // // Bremser 20% ved 11 og øker 20% kl. 11:48 til den når 1./ / Resten av tiden går klokken med normal hastighet // // Gjør hva du vil med denne koden. Bare vær sikker på at det du gjør er fantastisk. // #include #include "RTClib.h" RTC_DS1307 RTC; int klokke = 9; int clockpin1 = 10; ugyldig oppsett () {Serial.begin (57600); Wire.begin (); RTC.begin (); } void loop () {DateTime now = RTC.now (); TurnTurnTurn (1000); if (now.hour () == 11) {for (int i = 0; i <1800; i ++) {TurnTurnTurn (800); } for (int i = 0; i <1800; i ++) {TurnTurnTurn (1200); }}} int TurnTurnTurn (int TimeToWait) {analogWrite (klokke, 0); analogWrite (clockpin1, 124); // angir verdien (område fra 0 til 255) forsinkelse (TimeToWait); analogWrite (klokke, 124); analogWrite (clockpin1, 0); forsinkelse (TimeToWait); }
Trinn 8: Sett alt sammen
Når den er programmert, overfører du ATMEGA168 -brikken fra Arduino til kretskortet. Koble RTC -kortet til kontakten. Sørg for at pinnene er stilt riktig opp før du slår den på. Fest kretskortet og batteriet på baksiden av klokken. På ekte DIY-måte i siste øyeblikk brukte jeg varmt lim og gaffertape for å gjøre dette. Selvklebende borrelås ville være ideelt.
Trinn 9: Synkroniser klokkene
Sett en ny ATMEGA168 -brikke i Arduino. Koble Arduino igjen til RTC -kortet.
Kjør prøvekoden fra Ladyadas side. Åpne den serielle skjermen. Tiden som vises her er tiden du vil synkronisere klokken til.
Jeg fant ut at det var enklest å stille en tredje klokke (datamaskinens klokke) til å være perfekt synkronisert med RTC -kortet. Deretter slo jeg av Arduino, overførte RTC -kortet tilbake til kretsen min og satte Lunchtime Clock til et minutt senere enn datamaskinen min. I det rette øyeblikket, da minuttet endret seg på datamaskinen min, satte jeg på lunsjtidsklokken for å oppnå synkronisering.
Lunsjtidsklokken fungerer ekstremt bra og har så langt overgått mine forventninger.
Synes du dette var nyttig, morsomt eller underholdende? Følg @madeineuphoria for å se mine siste prosjekter.