INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Wens u al ooit dat die etenstyd langer is, maar u weet nie waar u die ekstra minute kan kry nie? Wel, wens nie meer nie!
Danksy die groot vooruitgang in die kloktegnologie, bied ek u 'n horlosie aan wat elke dag om 11:00 20% bespoedig en elke dag om 11:48 met 20% vertraag, wat u twaalf minute ekstra middagete gee. Twaalf minute lyk miskien nie veel nie, maar om dit in perspektief te stel, is dit 'n ekstra uur middagete wat elke week verdien word.
Stap 1: Gaan haal dinge
Jy sal nodig hê:
(x1) Standaard muurklok (x1) Adafruit DS1307 Real Time Clock (x1) Arduino Uno (met ATMEGA328 DIP -chip) (x1) Ekstra ATMEGA328 -chip met Arduino -laaiprogram geïnstalleer (sien laaste stap) (x2) BC547 NPN -transistors (x2) BC557 PNP transistors (x1) 28 -pen aansluiting (x1) kristal van 16mhz + (x2) 20pf kapasitors (x1) 1K weerstand (x1) 7805 reguleerder (x1) 4 -pen aansluiting (x1) 9V battery (x1) 9V battery snap
(Let asseblief daarop dat sommige van die skakels op hierdie bladsy Amazon -aangeslote skakels bevat. Dit verander nie die prys van enige van die te koop items nie, maar ek verdien 'n klein kommissie as u op een van die skakels klik en iets koop. herbelê hierdie geld in materiaal en gereedskap vir toekomstige projekte. Laat weet my as u 'n alternatiewe voorstel vir 'n verskaffer van een van die onderdele wil hê
Stap 2: Verwyder die beweging
Verwyder die klokbeweging van die klokliggaam. Dit sal vereis dat die voorste glasplaat van die horlosie sowel as die horlosie se hande verwyder word. Wees versigtig om niks te breek nie. U sal alles later weer moet bymekaarmaak.
Stap 3: Hack die beweging
Die klokbeweging het 'n enkele spoel -stapmotor binne. Die basiese teorie hier is dat ons die spoel van die klok se tydsberekening wil ontkoppel en dan drade aan die spoel wil koppel sodat ons dit self kan beheer. Dus, deur dit te weet, maak die klok se beweging oop en let deeglik op waar alles is (of neem 'n foto). Haal die beweging uitmekaar totdat die printplaat vry is. Vind die kontakte op die printplaat waar die motor geleë is. Let op dat hierdie twee kontakte spore het wat na die skyfie gaan (onder die swart vlek versteek). Die idee is om 'n skeermes of mes te gebruik om hierdie spore weg te krap totdat die verbinding met die skyf sigbaar verbreek is. Vir 'n goeie mate sny ek ook die tydkristal weg, wat die kring min of meer nutteloos maak. Laastens het ek ongeveer 6 draad aan elk van die motorterminale gesoldeer. Toe dit alles klaar was, het ek die hele ding weer bymekaargemaak. om behoorlik weer bymekaar te kom, sodat ek uiteindelik 'n klein gaatjie gesny het sodat die drade deur kon gaan.
Stap 4: Monteer die horlosie weer
Sodra u beweging goed is en gekap word, maar die klok weer bymekaar is. Belangrik: Maak seker dat die uur, minuut en tweedehands almal om 12:00 in lyn is. Ek het dit nie die eerste keer gedoen nie en het vinnig agtergekom dat die klok nie reg sou verskyn nie, tensy al die hande in 'n ry was.
Stap 5: RTC -kit
As u dit nog nie gedoen het nie, maar saam u Adafruit DS1307 Real Time Clock Kit. Hier is 'n paar instruksies om die werk te verrig. Stel ook die tyd op die RTC -bord in terwyl u dit doen. Solank u nie die battery uittrek nie, hoef u dit slegs een keer te doen (ten minste die volgende vyf jaar of so totdat die battery doodgaan). U kan diepgaande instruksies kry oor hoe u die tyd op Ladyada se webwerf kan stel.
Stap 6: Bou die stroombaan
Die kring is redelik eenvoudig. Dit is basies wat die kinders deesdae 'n 'hackduino' noem, 'n aansluiting vir die RTC-bord en 'n ru-H-brug om die motor te beheer.
Stap 7: Programmeer die chip
U moet die RTClib -biblioteek installeer om u kode te laat werk. Instruksies hiervoor is op Ladyada se bladsy. Laai lunchtime_clock.zip af, pak dit uit en laai die lunchtime_clock.pde -kode op u chip. As u nie die lêer wil aflaai nie, is hier die kode: // Middagklok // deur Randy Sarafan // // Vertraag 20% by 11 en bespoedig 20% om 11:48 totdat dit 1 bereik/ / Die res van die tyd gaan die klok met normale snelheid // // Doen wat u wil met hierdie kode. Maak net seker dat wat jy ook al doen, dit wonderlik is. // #include #include "RTClib.h" RTC_DS1307 RTC; int klokspeld = 9; int kloksnel1 = 10; ongeldige opstelling () {Serial.begin (57600); Wire.begin (); RTC.begin (); } leemte -lus () {DateTime nou = RTC.now (); TurnTurnTurn (1000); if (now.hour () == 11) {for (int i = 0; i <1800; i ++) {TurnTurnTurn (800); } vir (int i = 0; i <1800; i ++) {TurnTurnTurn (1200); }}} int TurnTurnTurn (int TimeToWait) {analogWrite (kloksnel, 0); analogWrite (kloksnel1, 124); // stel die waarde (tussen 0 en 255) vertraging (TimeToWait) in; analogWrite (klokspeld, 124); analogWrite (klokpin1, 0); vertraging (TimeToWait); }
Stap 8: Sit dit alles saam
Sodra dit geprogrammeer is, dra u ATMEGA168 -chip oor van die Arduino na u printplaat. Koppel u RTC -bord in die aansluiting. Maak seker dat die penne reg in lyn is voordat u dit aanskakel. Koppel u printplaat en battery aan die agterkant van die klok. Op 'n ware DIY-manier op die laaste oomblik het ek warm gom en gaffers gebruik om dit te doen. Selfklevende klittenband sou ideaal wees.
Stap 9: Sinkroniseer die horlosies
Plaas 'n nuwe ATMEGA168 -chip in die Arduino. Koppel die Arduino weer aan die RTC -bord.
Begin die voorbeeldkode vanaf Ladyada se bladsy. Maak die seriële monitor oop. Die tyd wat hier vertoon word, is die tyd waarmee u u klok wil sinchroniseer.
Ek het gevind dat dit die maklikste was om 'n derde horlosie (my rekenaarhorlosie) heeltemal in pas te kom met die RTC -bord. Toe skakel ek die Arduino af, plaas die RTC -bord terug na my kring en stel die middaguurklok 'n minuut later as my rekenaar tyd in. Op die regte oomblik, toe die minuut op my rekenaar verander, het ek die etenstyd aangeskakel om sinchronisasie te bereik.
Die middagete werk baie goed en het tot dusver my verwagtinge oortref.
Het u dit nuttig, pret of vermaaklik gevind? Volg @madeineuphoria om my nuutste projekte te sien.