Turinys:
- 1 žingsnis: įrankiai ir medžiagos
- 2 žingsnis: klijuokite medinį rėmą
- 3 žingsnis: supjaustykite rėmą naudodami apskritimo pjovimo svirtį
- 4 žingsnis: spausdinkite ir surinkite krumpliaračius
- 5 žingsnis: „Klijų“skyriai kartu
- 6 žingsnis: supjaustykite reljefus rėmuose
- 7 žingsnis: sumažinkite salės efekto jutiklių klirensą
- 8 žingsnis: klijuokite išorinį žiedą
- 9 žingsnis: supjaustykite „Hall“efekto jutiklio reguliavimo varžtus
- 10 žingsnis: klijuokite žiedus prie kietosios plokštės
- 11 veiksmas: klijuokite vidinį diską
- 12 žingsnis: pritvirtinkite fanerą
- 13 žingsnis: Apipjaukite fanerą
- 14 žingsnis: supjaustykite fanerą
- 15 žingsnis: klijų fanera
- 16 žingsnis: nušlifuokite ir užbaikite
- 17 veiksmas: įdiekite maitinimą
- 18 žingsnis: Surinkite elektroniką
- 19 žingsnis: Lituokite ir prijunkite elektroniką
- 20 žingsnis: galinė plokštė
- 21 žingsnis: „Arduino“kodas
- 22 veiksmas: STL failai
- 23 žingsnis: „Solidworks“failai
- 24 žingsnis: Išvada
Video: Įspūdingas magnetinis sieninis laikrodis: 24 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Mechaniniai laikrodžiai mane visada žavėjo. Tai, kaip visos vidinės pavaros, spyruoklės ir atramos veikia kartu, kad gautų nuolatinį patikimą laikrodį, visada atrodė nepasiekiamas mano ribotam įgūdžių rinkiniui. Laimei, šiuolaikinė elektronika ir 3D spausdintos dalys gali užpildyti atotrūkį ir sukurti kažką paprasto, nesiremiančio mažomis tiksliomis metalinėmis dalimis.
Šis minimalistinis sieninis laikrodis slepia porą 3D spausdintų žiedinių krumpliaračių, varomų nebrangiais žingsniniais varikliais, sukančiais magnetus už klasikinio riešutmedžio lukšto.
Iš pradžių įkvėptas „STORY Clock“, norėjau laiko matuoklio, kuriame nurodytas dienos laikas naudojant tik rutulinius guolius, palyginti su skaitmeniniu rodmeniu ir lėtai judančiais rutuliniais guoliais.
1 žingsnis: įrankiai ir medžiagos
Medžiagos:
- 13 x 13 x 2 colių Fanera/medžio drožlių plokštė (priklijavau 3 medžio laužo gabalus)
- 13 x 13 colio medžio drožlių plokštė
- Arduino Nano
- Realaus laiko laikrodis
- Žingsniniai varikliai ir vairuotojai
- Salės efekto jutikliai
- Magnetai
- Maitinimo kabelis
- Kintamosios srovės adapteris
- Kištukas
- Įvairūs mašinų varžtai
- Įvairūs mediniai varžtai
- 3D spausdintos dalys (paskutinis žingsnis)
- Fanera (12 x 12 colių - veidas, 40 colių ilgio juostelė)
- Purškiamas lakas
- Juodi purškiami dažai
Įrankiai:
- 3D spausdintuvas
- Kompasas
- „X-acto“peilis
- Klijai
- Spaustukai
- Apskritimo pjovimo įrenginys
- Hack Saw
- Disko šlifuoklis
- Ratchet Clamp
- Kaltas
- Valdovas
- Sanderis
- Gręžtuvai
- Atsuktuvai
- Lituoklis
- Karšto klijų pistoletas
2 žingsnis: klijuokite medinį rėmą
Klijuokite tris medžio gabalus, kurie sudarys laikrodžio rėmą. Aš naudoju regeneruotą medžio drožlių plokštę iš seno lovos rėmo.
3 žingsnis: supjaustykite rėmą naudodami apskritimo pjovimo svirtį
Pažymėkite lentos centrą ir pritvirtinkite prie apskritimo pjovimo įrenginio. Iškirpkite penkis apskritimus, kurių skersmuo yra toks:
- 12 colių
- 11 1/4 colio
- 9 1/4 colio
- 7 1/4 colio
- 5 3/8 colio
4 žingsnis: spausdinkite ir surinkite krumpliaračius
Žiedinės pavaros yra suskaidytos į segmentus, kad jas būtų galima atspausdinti ant mažo spausdintuvo ir sukabinti. Visos dalys buvo atspausdintos ABS, kad būtų lengviau sulieti kitą žingsnį. Šlifuokite visus dalių kraštus ir paviršius.
Išspausdinkite šiuos dalių, rastų 22 veiksme, kiekius:
- 1 valandos žiedo krumpliaračio segmento magnetas
- 6 valandų pagrindinio žiedo krumpliaračio segmentas
- 1 valandos tvirtinimo žiedo segmento žingsninis laikiklis
- 6 - Pagrindinis valandų laikymo žiedo segmentas
- 1 valandos salės efekto jutiklio laikiklis
- 1 minutės žiedo krumpliaračio segmento magnetas
- 7 - Pagrindinis žiedinių pavarų segmentas
- 1 - minutinis tvirtinimo žiedo segmento žingsninis laikiklis
- 6 - Pagrindinis minučių fiksavimo žiedo segmentas
- 1 minutės salės efekto jutiklio laikiklis
- 2 - „Spur Gear“
- 1 - Elektronikos laikiklis
5 žingsnis: „Klijų“skyriai kartu
Stikliniame butelyje su šiek tiek acetono ištirpinkite nesėkmingus spaudinius seną atraminę medžiagą ir tt Dažykite acetono mišinį ant kiekvienos siūlės, kad gabalėliai susilietų. Išgydžius, nušlifuokite kiekvieną siūlę.
6 žingsnis: supjaustykite reljefus rėmuose
Įdėkite žiedinius krumpliaračius ir atraminius žiedus į rėmą ir iškirskite žingsninių variklių reljefus. Aš išmatavau ir perpjoviau vidinį žiedą per didelį, todėl jį išmušiau iki dydžio, naudodamas keletą klevo briaunų, kurias turėjau aplink parduotuvę.
7 žingsnis: sumažinkite salės efekto jutiklių klirensą
Iškirpkite laisvą angą per vidinį minutės salės efekto jutiklio žiedą ir valandos salės efekto jutiklio angą. Šiems tarpams pjauti naudoju kaltą, dildę ir mažą rankinį pjūklą.
8 žingsnis: klijuokite išorinį žiedą
Klijuokite ir užklijuokite išorinį žiedą minutės fiksavimo žiedo dydžio.
9 žingsnis: supjaustykite „Hall“efekto jutiklio reguliavimo varžtus
Įpjaukite mašinos varžtus su pjūklu, kad jie būtų tik ilgesni už tvirtinimo žiedo ir salės efekto jutiklio laikiklio storį. Iškirpkite sriegiuose plyšį, kad jį būtų galima sureguliuoti iš srieginio galo plokščiu atsuktuvu.
10 žingsnis: klijuokite žiedus prie kietosios plokštės
Iškirpkite medienos plaušų plokštės apskritimą, didesnį nei išorinis žiedas. Klijuokite išorinį ir vidinį žiedą prie kietos plokštės paviršiaus. Vidiniam žiedui uždėti naudokite minutės fiksavimo žiedą ir žiedinę pavarą. Skirkite daugiau dėmesio nei aš, kad vidinis žiedas nebūtų priklijuotas atgal. Antrame paveikslėlyje parodyta nauja minutės salės efekto jutiklio anga.
Naudokite diskinį šlifuoklį, kad apkarpytumėte kietąją plokštę iki išorinio žiedo dydžio.
11 veiksmas: klijuokite vidinį diską
Klijuokite vidinį diską vietoje, naudodami valandinį fiksavimo žiedą ir žiedinę pavarą vidiniam diskui uždėti.
12 žingsnis: pritvirtinkite fanerą
Iškirpkite faneros juostelę, kuri yra platesnė nei laikrodis, ir yra pakankamai gili ir pakankamai ilga, kad apvyniotų visą laikrodį (3,14 * laikrodžio skersmuo grąžins reikiamą ilgį. Pridėkite colį, kad įsitikintumėte, jog turite pakankamai.) supjaustyti pagal ilgį. Užtepkite daug klijų ant faneros ir prispauskite diržo spaustuku. Leiskite išdžiūti porą valandų, kad būtų užtikrintas sukibimas.
13 žingsnis: Apipjaukite fanerą
Aštriu kaltu nupjaukite faneros perteklių iš laikrodžio priekio ir galo.
14 žingsnis: supjaustykite fanerą
Mano fanera turėjo keletą įtrūkimų. Kad būtų lengviau dirbti, uždėjau dažytojų juostą, kad ją laikytų. Naudodami „x-acto“peilį kompase, supjaustykite fanerą tik didesnį nei laikrodžio veidas.
15 žingsnis: klijų fanera
Naudodami nupjautus žiedus, paskirstykite spaudimą laikrodžio priekyje. Užtepkite daug klijų ant faneros ne juostos pusės. Grūdus nukreipkite vertikaliai ant laikrodžio rodyklės ir uždėkite daug spaustukų, po truputį priverždami kiekvieną. Tai užtikrins, kad fanera nesikeis ir tolygiai spaudžia veidą.
Laikrodžio priekinėje pusėje panaudojau kelias plokščias lentas, o užpakalinėje pusėje - keletą lipdukų.
16 žingsnis: nušlifuokite ir užbaikite
Naudodami švitrinį popierių, atsargiai nuimkite fanerą nuo laikrodžio paviršiaus ir šlifuokite nuo 220 iki 600 smėlio.
Užtepkite nuo 10 iki 20 sluoksnių lako. Tai sukurs paviršių, kuriuo rutulinis guolis važiuos. Neišvengiamai dėl ore esančių dulkių ir kitų dalelių manau, kad kiekvieno rutulinio guolio kelyje atsiras linijų. Taikant daugiau apdailos sluoksnių, tai turėtų būti atidėta kuo ilgiau. Tai taip pat palengvins būsimą atnaujinimą. Aš atnaujinsiu šį žingsnį, jei mano laikrodyje kada nors pasirodys eilutės.
17 veiksmas: įdiekite maitinimą
Naudodami 27/64 colių grąžtą, išgręžkite skylę laikrodžio apačioje ir įsukite maitinimo kištuką.
18 žingsnis: Surinkite elektroniką
Prie elektroninės plokštės pritvirtinkite žingsnines tvarkykles ir realaus laiko laikrodį. Man reikėjo rasti būdą, kaip apsaugoti „Arduino“, todėl buvo išgręžtos skylės ir iškirpta anga užtrauktukui. Šios funkcijos buvo pridėtos prie 22 veiksme rastos bylos.
19 žingsnis: Lituokite ir prijunkite elektroniką
Vadovaudamiesi blokine schema, lituokite visus komponentus kartu. Karštai klijuokite žiedus ir pritvirtinkite visus nuklydusius laidus karštais klijais.
20 žingsnis: galinė plokštė
Sukurkite galinę plokštę, nupjaudami kitą 1/2 colio apskritimą, didesnį nei laikrodžio paviršius, ir žiedą, kurio vidinis skersmuo yra toks pat kaip laikrodžio nugarėlė. Klijuokite žiedą ir apskritimą su kai kuriais spyruokliniais spaustukais.
Išdžiūvę nubrėžkite 1/8 colio didesnę liniją nei vidinis žiedas ir supjaustykite pagal dydį naudodami juostinį pjūklą arba diskinį šlifuoklį.
Nugaros viršuje išpjaukite 1 colio ilgio 1/4 colio plyšį, naudodami frezą arba grąžtus. Įleiskite keturias skyles, kad nugarėlė būtų pritvirtinta prie laikrodžio rėmo.
Užtepkite juodus purškiamus dažus ir išdžiovinkite prie laikrodžio.
21 žingsnis: „Arduino“kodas
Arduino kodas yra kuo geriau komentuojamas. Atminkite, kad nesu programuotojas, turiu minimalios arduino patirties (būkite malonus). Kodas nuolat veikia tikrinant, ar dabartinis laikas sutampa su „Reset Time“. Kadangi negalėjau sugalvoti, kaip dabartinį laiką paversti žingsniais, jis pataiso save tik kartą per dieną (pagal numatytuosius nustatymus vidurnaktį). Vidurnaktį krumpliaračiai sukasi į vidurnakčio padėtį, tada palaukite, kol 00:01 pereis į tą laiką, tada tęsis iš ten. Šiuo metu laikrodis praranda tik apie 5 sekundes per 24 valandas.
Jums reikės įdiegti „Stepper“ir „RTClib“bibliotekas.
Žinau, kad kodą gali optimizuoti kažkas, turintis daugiau patirties nei aš. Jei susiduriate su iššūkiu, sukurkite šį projektą sau ir pasidalykite savo žiniomis.
#įtraukti
#include "RTClib.h" RTC_DS1307 rtc; #define oneRotation 2038 // žingsnių skaičius per vieną 28BYJ-48 žingsninio variklio apsisukimą Stepper hourHand (oneRotation, 3, 5, 4, 6); Stepper minuteHand (oneRotation, 7, 9, 8, 10); #define hourStopSensor 12 #define minuteStopSensor 11 int endStep = 0; // Laikrodžio greičiui skirtas laikas. int setDelay1 = 168; int setDelay2 = 166; int setDelay3 = 5; // Dabartinis laikas atlikti matematiką. plūdė hr = 0; plūdė mn = 0; plūdė sc = 0; // Nustatykite dienos laiką, kad iš naujo nustatytumėte laikrodį (24 valandų formatas). int resetHour = 0; int resetMinute = 0; // Kintamieji norint nustatyti teisingą laiką paleidžiant ir iš naujo nustatant. float setTimeStepHour = 0; float setTimeStepMinute = 0; float handDelay = 0; plūdės valandaTestas = 0; plūdės minutėTestas = 0; void setup () {Serial.begin (115200); // Nustatykite realaus laiko laikrodį ir iš naujo nustatykite salės efekto jutiklius. pinMode (hourStopSensor, INPUT_PULLUP); pinMode (minuteStopSensor, INPUT_PULLUP); rtc.begin (); // Atminkite eilutę žemiau, kad nustatytumėte laiką. // rtc.adjust (DateTime (2020, 2, 19, 23, 40, 30)); // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Nustatykite didžiausią žingsninių variklių greitį. hourHand.setSpeed (15); minuteHand.setSpeed (15); // Ciklas, kol minutės ir valandos rodyklė yra vidurdienį, o (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {delay (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {delay (4); }} // Gauti dabartinį laiką DateTime now = rtc.now (); hr = dabar.valanda (); mn = dabar.minutė (); sc = dabar.sekundė (); // Pakeisti į 12 valandų formatą, jei (hr> = 12) {hr = hr - 12; } // Pažiūrėkite, kokia ranka turi nukeliauti veidą toliau, ir naudokite šį atstumą // atitinkamai nustatydami nustatytą laiką. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = valandos testas; } else {handDelay = minuteTest; } // Nustatyti dabartinę valandą setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Nustatyti dabartinę minutę setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Išbandykite, kuriai rankai reikės daugiau žingsnių, ir nustatykite ilgiausią žingsnio skaičių ciklui. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {delay (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {delay (4); }} // Nustatyti laikrodį, kuriuo veikia RPM hourHand.setSpeed (1); minuteHand.setSpeed (1); } void loop () {// Pradėti laikrodžio veikimo ciklą. už (int i = 0; i <22; i ++) {minuteHand.step (1); uždelsimas (setDelay1); // Iš naujo nustatymo laiko bandymas, jei esate pasirengęs iš naujo nustatyti, pertraukite. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }} uždelsimas (setDelay3); už (int i = 0; i <38; i ++) {hourHand.step (1); uždelsimas (setDelay1); // Iš naujo nustatymo laiko bandymas, jei esate pasirengęs iš naujo nustatyti, pertraukite. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; } už (int i = 0; i <20; i ++) {minuteHand.step (1); uždelsimas (setDelay2); // Iš naujo nustatymo laiko bandymas, jei esate pasirengęs iš naujo nustatyti, pertraukite. if (rtc.now (). hour () == resetHour && rtc.now (). minute () == resetMinute) {break; }}} // Iš naujo nustatyti laikrodį nustatant nustatymo laiką, jei (rtc.now (). Hour () == resetHour && rtc.now (). Minute () == resetMinute) {// Keisti laikrodžio valandos valandąHand.setSpeed (10); minuteHand.setSpeed (10); // Ciklas, kol minutės ir valandos rodyklė pasiekia vidurdienį. while (digitalRead (hourStopSensor) == LOW || digitalRead (minuteStopSensor) == LOW) {if (digitalRead (hourStopSensor) == LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor) == LOW) {minuteHand.step (3); } else {delay (4); }} while (digitalRead (hourStopSensor)! = LOW || digitalRead (minuteStopSensor)! = LOW) {if (digitalRead (hourStopSensor)! = LOW) {hourHand.step (2); } else {delay (3); } if (digitalRead (minuteStopSensor)! = LOW) {minuteHand.step (3); } else {delay (4); }} // Palaukite čia, kol praeis atstatymo laikas. while (rtc.now (). minute () == resetMinute) {delay (1000); } // Gauti dabartinį laiką DateTime now = rtc.now (); hr = dabar.valanda (); mn = dabar.minutė (); sc = dabar.sekundė (); // Pakeisti į 12 valandų formatą, jei (hr> = 12) {hr = hr - 12; } // Pažiūrėkite, kokia ranka turi nukeliauti veidą toliau, ir naudokite šį atstumą // atitinkamai nustatydami nustatytą laiką. hourTest = hr / 12; minuteTest = mn / 60; if (hourTest> minuteTest) {handDelay = valandos testas; } else {handDelay = minuteTest; } // Nustatyti dabartinę valandą setTimeStepHour = (hr * 498) + (mn * 8.3) + ((sc + (handDelay * 36)) *.1383); // Nustatyti dabartinę minutę setTimeStepMinute = (mn * 114) + ((sc + (handDelay * 45)) * 1.9); // Išbandykite, kuriai rankai reikės daugiau žingsnių, ir nustatykite ilgiausią žingsnio skaičių ciklui. if (setTimeStepHour> setTimeStepMinute) {endStep = setTimeStepHour; } else {endStep = setTimeStepMinute; } for (int i = 0; i <= endStep; i ++) {if (i <setTimeStepHour) {hourHand.step (2); } else {delay (3); } if (i <setTimeStepMinute) {minuteHand.step (3); } else {delay (4); }} hourHand.setSpeed (1); minuteHand.setSpeed (1); }}
22 veiksmas: STL failai
Turėsite atsispausdinti šiuos failų kiekius:
- 1 valandos žiedo krumpliaračio segmento magnetas
- 6 valandų pagrindinio žiedo krumpliaračio segmentas
- 1 valandos tvirtinimo žiedo segmento žingsninis laikiklis
- 6 - Pagrindinis valandų laikymo žiedo segmentas
- 1 valandos salės efekto jutiklio laikiklis
- 1 minutės žiedo krumpliaračio segmento magnetas
- 7 - Pagrindinis žiedinių pavarų segmentas
- 1 - minutinis tvirtinimo žiedo segmento žingsninis laikiklis
- 6 - Pagrindinis minučių fiksavimo žiedo segmentas
- 1 minutės salės efekto jutiklio laikiklis
- 2 - „Spur Gear“
- 1 - Elektronikos laikiklis
23 žingsnis: „Solidworks“failai
Tai yra originalūs „Solidworks“failai, naudojami ankstesniame žingsnyje rastoms STL kurti. Nesivaržykite redaguoti ir keisti mano failus, kaip jums atrodo tinkama.
24 žingsnis: Išvada
Šis laikrodis pasirodė geresnis, nei tikėjausi. Turėdamas minimalią „Arduino“patirtį, džiaugiuosi, kaip jis pasirodė ir koks tikslus. Atrodo puikiai ir veikia taip, kaip tikėjausi.
Rekomenduojamas:
Šaldytuvo magnetinis laikrodis: 9 žingsniai (su nuotraukomis)
Šaldytuvo magnetinis laikrodis: mane visada žavėjo neįprasti laikrodžiai. Tai yra vienas iš mano naujausių kūrinių, kuriame rodomas laikas, rodantis šaldytuvo abėcėlės numerius. Skaičiai dedami ant plono balto organinio stiklo gabalo, kurio gale yra laminuotas plonas lakštinis metalas
Kryptinis sieninis laikrodis: 27 žingsniai (su nuotraukomis)
Kryptinis sieninis laikrodis: Laiko tėkmės mes negalime kontroliuoti. Tai atsitinka tokiu pat greičiu, jei mes miegame, esame budrūs, nuobodūs ar susižadėję. Atsižvelgiant į dabartinius įvykius, svarbu prisiminti, kad laikas praeis. Kol laukiame laiko, kodėl gi nepasigaminus
Spalvotas sieninis laikrodis: 7 žingsniai (su nuotraukomis)
Spalvotas sieninis laikrodis: šį kartą pristatau jums spalvotą sieninį analoginį laikrodį, skirtą vaikams kurti naudojant LED juosteles. Laikrodžio pagrindai yra naudoti tris LED juostas ir skirtingas spalvas, kad būtų rodomas laikas: apvalioje LED juostelėje žalia spalva rodydavo valandas, t
O-R-A RGB LED matricinis sieninis laikrodis ir dar daugiau ** atnaujintas 2019 m. Liepos mėn. **: 6 žingsniai (su nuotraukomis)
O-R-A RGB LED matricinis sieninis laikrodis ir daugiau ** atnaujintas 2019 m. Liepos mėn. **: Sveiki. Štai aš su nauju projektu, pavadintu O-R-AIt yra RGB LED matricos sieninis laikrodis, rodantis: valanda: minutė temperatūra drėgmė dabartinė oro sąlygų piktograma „Google“kalendoriaus įvykiai ir 1 valandos priminimų pranešimai tam tikru laiku, kai ji rodo:
„TheSUN“, „Arduino“varomas dizaino sieninis laikrodis: 6 žingsniai (su nuotraukomis)
„TheSUN“, „Arduino“varomas dizaino sieninis laikrodis: Sveiki dar kartą, instruktuojamieji žmonės!:-PB Dėl pristatymo problemų negalėjau tęsti savo „ABTW“projekto, todėl nusprendžiau parodyti jums kitą, savo naujausią kūrinį. Manau, daugelis iš mūsų, kaip aš, kaip tos gražios adresuojamos LED juostelės (dar vadinamos NEOP