Turinys:
- 1 žingsnis: Surinkite dalis ir medienos darbus
- 2 žingsnis: Akrilo apskritimai
- 3 žingsnis: litavimas
- 4 žingsnis: Kodas
- 5 žingsnis: Danijos aliejus
Video: Ish Clock: 5 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Aš dažnai suprantu, kad perku daiktus, kurių net neįsivaizduoju, ką daryti. Šis projektas yra nupirktas žiedas, kuriame yra 12x WS2812b šviesos diodai. Aš to neplanavau, bet internete atrodė šauniai, todėl įkišau vieną į krepšelį, kurį laiką žaidžiau su juo, kai jis atvyko, ir tada viską pamiršau.
Po kurio laiko galvojau padaryti laikrodį ir prisiminiau, kad jis sėdėjo ir nieko nedarė. Aš galvojau nusipirkti antrą žiedą su 60 šviesos diodų, kad būtų sudarytos minutės, bet tada pradėjau galvoti, kaip mes / aš linkę žiūrėti į laiką ir suapvalinti jį 5 minučių tikslumu.
Turėdamas tai savo, aš nusprendžiau su savo 12 LED žiedu pasidaryti laikrodį. Vieną sekundę vienu metu rodomas 1 šviesos diodas, rodantis valandą (mėlynas šviesos diodas) ir tada minutes (raudonas šviesos diodas) suapvalintas žemyn
1 žingsnis: Surinkite dalis ir medienos darbus
Man labai pasisekė, kad vieną dieną atvykau į darbą ir pastebėjau padėklą. Šis padėklas man įstrigo, nes neatrodė kaip jūsų standartinis malūno padėklas. Jis buvo švarus, termiškai apdorotas ir neįprastai kietas ąžuolas.
Šis projektas pagamintas iš vieno iš to padėklo dalių. (Prieš parsinešdamas namo paklausiau viršininko)
Taip pat naudojamas:
- 12 pikselių ws2812b LED žiedas
- „Real Time Clock“(RTC) modulis (naudoju DS3231 su I2C)
- Suderinamas su „Arduino Nano v3.0“
- Akrilo lakštas (5 mm)
- Spalvota viela
Įrankiai
- Elektrinis grąžtas
- Maršrutizatorius
- Reguliuojamas plokščias medinis antgalis
- Galingas šlifuoklis
- Rankinis pjūklas
- Lituoklis
- Karštas klijų pistoletas
- Smėlio popierius
- Danijos aliejus
Šlifavimas
Aš pradėjau naudoti elektrinį šlifuoklį, kad ištiesčiau ir išvalyčiau medžio bloką, kol visos pusės bus švarios ir lygios. Kai kuriuos trūkumus palikau matomus ir jie nėra visiškai tiesūs ar kvadratiniai, nes man patinka matyti dalį medžio istorijos.
Skylių žymėjimas ir pjovimas
Po šlifavimo pasirinkau tą pusę, kurios norėjau laikrodžio veidą, ir pažymėjau centrą, piešdamas linijas iš kiekvieno kampo. Aš nustatiau reguliuojamą medžio gabalėlį šiek tiek didesnį nei LED žiedas, kad būtų akrilo lentyna, kurioje būtų galima sėdėti ir supjaustyti apie 5 mm gylio, tada reguliuosiu pjaustytuvą šiek tiek daugiau nei LED žiedas ir nukirsiu dar 5 mm.
Maršrutas ir kabelių angos
Naudodamas maršrutizatorių su 12 mm antgaliu, aš išvedžiau įdubą bloko apačioje, kad paslėpčiau RTC ir „Arduino“. Jis yra apie 15 mm gylio ir ne mažiau kaip 5 mm nuo bet kurio krašto. Aš pažymėjau centrą (ish) iš apačios ir išgręžiau, naudodamas 10 mm antgalį vos per pusę kelio, kad būtų galima prijungti LED laidus. Tada, naudojant 5 mm antgalį, aš išgręžiau iš LED įdubos centro, kad pasiekčiau 10 mm skylę iš apačios.
Dar viena 4 mm skylė gale, kad būtų galima įvesti maitinimą, ir naudojant mažesnį maršrutizatoriaus antgalį, kad būtų sukurtas kanalas laidams, esantiems šviesos diodo žiedo gale, ir medienos darbai yra baigti.
2 žingsnis: Akrilo apskritimai
Norėdami pagaminti akrilą laikrodžio priekiui, nurodžiau nupjauti kvadratinį gabalėlį, kuris buvo tik didesnis už skylę, kurią jis turėjo užpildyti. Tada naudodamas elektrinį šlifuoklį pradėjau šalinti kampus, kol jis buvo maždaug tinkamos formos ir dydžio. Tada perėjau prie rankinio šlifavimo, kad neperšaudyčiau ir turėčiau pradėti iš naujo.
Tai buvo lėtas ir varginantis bandymų ir klaidų procesas, kol jis buvo tinkamas, bet manau, kad galutinis rezultatas buvo to vertas. Baigiau naudodama labai smulkų popierių, kad akrilo priekis atrodytų matinis.
3 žingsnis: litavimas
Šia proga man patinka naudoti laidų spalvų sistemą:
- Raudona galiai (5v)
- Balta žemei
- Geltona, skirta duomenims
- Žalia laikrodžiui
Aš pradėjau lituoti 3 reikalingus laidus ant LED žiedo, naudodamas aukščiau esančią sistemą ir stumdamas laidus žemyn. Kadangi jis neturėtų būti veikiamas tikro priverstinio poveikio, žiedą laikiau vietoje šiek tiek karštų klijų. (Gali tekti kada nors pakeisti) ir aplink kraštą sumontuokite tik šiek tiek karštų klijų.
Tada aš prijungiau 4 laidus prie RTC, naudodamas aukščiau pateiktą sistemą. Kad viskas būtų šiek tiek tvarkingiau, nusprendžiau pasisemti energijos RTC iš „Arduino“. Tada prijungė viską prie „Arduino“ir litavo 1 laidą, skirtą elektros energijai, o kitą - įžeminimui prie „Arduino“.
RTC
- SCL (laikrodis) į analoginį kaištį 5
- SDA (duomenys) į analoginį kištuką 4
- VCC iki 5V
- GND į bet kurį „Arduino“GND
LED žiedas
Pereikite prie skaitmeninio kaiščio 6
Turėjau seną USB kabelį, todėl nusprendžiau jį naudoti laikrodžiui maitinti. Nupjoviau galą, kuris paprastai būtų prijungtas prie kažko, ir išstūmiau per skylę gale. Tada nulupkite ir nudažykite galus prieš lituojant VCC prie „Arduino“, o šviesos diodų žiedą - į teigiamą pusę, o žemę - nuo „Arduino“ir LED į žemę. Vėliau šiek tiek susitraukiau ir atrodė gerai, Karštas klijų pistoletas grįžo, kad viską laikytų. Aš nusprendžiau palikti „Arduino“pakankamai žaisdamas, kad ateityje galėčiau pasiekti USB prievadą, kad galėčiau jį užprogramuoti, bet ne tiek, kad galėčiau iškristi.
4 žingsnis: Kodas
Dabar turėtumėte turėti galimybę įkelti šį kodą į „Arduino“.
Jei RTC neveikia, šis kodas nustatys laiką pagal kodo sudarymo laiką, todėl būtinai paspauskite įkėlimo mygtuką ir nepatikrinkite.
pakaitomis tai taip pat puikiai tinka nustatant laiką.
www.instructables.com/id/Setting-the-DS130…
Didžiąją dalį šio kodo pasiskolinau iš „Adafruit NeoPixel“bibliotekos, o dalį iš RTC bibliotekos, kurią radau, o dalį sukūriau pati.
// įtraukite bibliotekos kodą: #include
#įtraukti
#įtraukti
// apibrėžti smeigtukus
#define PIN 6
#define BRIGHTNESS 20 // nustatyti maksimalų ryškumą
#apibrėžti r 5
#define g 5
#define b 5
RTC_DS3231 rtc; // Nustatykite laikrodžio objektą
Adafruit_NeoPixel strip = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // juostelės objektas
void setup () {
Wire.begin (); // Pradėti I2C
rtc.begin (); // pradėti laikrodį
Serial.begin (9600);
// nustatyti pinmodes
pinMode (PIN, OUTPUT);
if (rtc.lostPower ()) {
Serial.println ("RTC dingo energija, leidžia nustatyti laiką!");
// kita eilutė nustato RTC datą ir laiką, kai buvo sudarytas šis eskizas
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));
// Ši eilutė nustato RTC su konkrečia data ir laiku, pavyzdžiui, nustatyti
// 2014 m. Sausio 21 d. 3 val. Skambintumėte:
// rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0));
}
strip.begin ();
strip.show (); // Inicijuokite visus taškus į „išjungtą“
DateTime theTime = rtc.now (); // atsižvelgia į DST
baitas secondval = theTime.second (); // gauti sekundes
baitas minuteval = theTime.minute (); // gauti minutes
int hourval = theTime.hour ();
taškas (juostelė. Spalva (0, g, 0), 50);
}
void loop () {
// gauk laiko
DateTime theTime = rtc.now (); // atsižvelgia į DST
int minuteval = theTime.minute (); // gauti minutes
int hourval = theTime.hour (); // gauti valandas
int secondval = theTime.second ();
jei (0 minučių minutė) {
strip.setPixelColor (0, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 9) {
strip.setPixelColor (1, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 14) {
strip.setPixelColor (2, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 19) {
strip.setPixelColor (3, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 24) {
strip.setPixelColor (4, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 29) {
strip.setPixelColor (5, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 34) {
strip.setPixelColor (6, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 39) {
strip.setPixelColor (7, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 44) {
strip.setPixelColor (8, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 49) {
strip.setPixelColor (9, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 54) {
strip.setPixelColor (10, r, 0, 0);
strip.show ();}
kitaip, jei (minutės <= 59) {
strip.setPixelColor (11, r, 0, 0);
strip.show ();}
vėlavimas (1000);
už (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
if (valandos == 0) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 1) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 2) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 3) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 4) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 5) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 6) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 7) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 8) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 9) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 10) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 11) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 12) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 13) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 14) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 15) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
kitaip, jei (valandos == 16) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 17) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 18) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 19) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 20) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 21) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 22) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
kitaip jei (valandos == 23) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
vėlavimas (1000);
už (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
// serijiniam derinimui
Serijinis atspaudas (valandinis, DEC);
Serial.print (':');
Serial.print (minuteval, DEC);
Serial.print (':');
Serial.println (antrasis, DEC);
}
tuščias taškas (uint32_t c, uint8_t palaukti) {
už (int j = 0; j <3; j ++) {
už (int i = 0; i <12; i ++) {
strip.setPixelColor (i, c);
strip.show ();
atidėti (laukti);
už (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();}
}
}
}
5 žingsnis: Danijos aliejus
Paskutinis ir neprivalomas žingsnis yra medienos tepimas danų aliejumi. Man labai patinka, kaip jis išryškina grūdus, be to, jis šiek tiek apsaugo nuo dėmių ir drėgmės. Taigi labai rekomenduoju.
Galite jį tepti, arba aš tiesiog naudoju seną šluostę.
Dabar belieka tik prijungti ir mėgautis.
Rekomenduojamas:
Burbulinis žadintuvas leidžia pabusti smagiai (ish): 7 žingsniai (su nuotraukomis)
Žadintuvas su burbulu daro pabudimą smagiu (ish): pabusti iki šurmuliuojančio žadintuvo yra negerai. Aš esu iš tų žmonių, kurie nemėgsta pabusti prieš patekant saulei (arba jau daug valandų). Taigi kas gali būti geresnis būdas pabusti, nei surengti burbulų vakarėlį lovoje! Naudojant arduino ir
Biudžeto „Arduino RGB Word Clock“!: 7 žingsniai (su nuotraukomis)
Biudžetinis „Arduino RGB Word Clock“!: Sveiki visi, čia yra mano vadovas, kaip pasidaryti paprastą & pigus žodinis laikrodis! Įrankiai, kurių jums reikės šiam projektui Lituoklis & Lituoti laidai (idealiu atveju bent 3 skirtingos spalvos) 3D spausdintuvas (arba prieigą prie vieno, taip pat galite
„Nixie Clock YT“: 9 žingsniai (su nuotraukomis)
Nixie Clock YT: Sveiki visi, tai mano naujas nixie laikrodis. Tai mano 2.0 versija. Pirmasis modelis nėra nurodomas instrukcijose. paveikslėlį pamatysite vėliau. Beveik taip pat. Skirtumas tas, kad nėra šviesos diodų, kai kurios dalys yra panardintoje pakuotėje, taip pat plokštė yra didesnė. Taigi tai yra m
„Corona Clock“: 6 žingsniai (su nuotraukomis)
Koronos laikrodis: Koronavirusui plintant visoje planetoje ir vis daugiau šalių savo piliečius priglaudžia prie savo namų, kad sulėtintų virusą, daugelis iš mūsų išgyvena dienas be nieko. Laimei, „Instructables“yra čia, kad paskolintų
„Cosmo Clock“- keičia spalvą kiekvieną kartą, kai astronautas patenka į erdvę: 8 žingsniai (su nuotraukomis)
„Cosmo Clock“- keičia spalvą kiekvieną kartą, kai astronautas patenka į kosmosą: Sveiki! Ar esate kosmoso entuziastas? Jei taip, tai hi-fi! Man patinka kosmosas ir astronomija. Akivaizdu, kad nesu astronautas, kad galėčiau ten pakilti ir atidžiau pažvelgti į visatą. Bet kiekvieną kartą sužinojęs, kad žmogus iš žemės nukeliavo į dangų, mane įkvepia