Sadržaj:
- Korak 1: Skupljanje dijelova i obrada drveta
- Korak 2: Akrilni krugovi
- Korak 3: Lemljenje
- Korak 4: Kôd
- Korak 5: Dansko ulje
Video: Ish sat: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Često zatečem sebe kako kupujem stvari s kojima nemam pojma što ću učiniti. Ovaj projekt rezultat je kupnje prstena koji ima uključene 12x LED diode WS2812b. Nisam imao planove za to, ali izgledalo je super na internetu pa sam stavio jedan u košaricu, igrao se s njim neko vrijeme kad je stigao, a zatim zaboravio na sve.
Nešto kasnije razmišljao sam o izradi sata i sjetio se da je sjedio ne radeći ništa. Razmišljao sam o tome da kupim drugi prsten sa 60 LED dioda kako bih nadoknadio minute, ali onda sam počeo razmišljati kako mi / ja gledamo na vrijeme i zaokružujemo ga na najbližih 5 minuta.
S ovim u svom, krenuo sam sa svojim 12 LED prstenom u izradu iš sata. Prikazuje 1 LED odjednom na 1 sekundu, kako bi označio sate (plava LED), a zatim minute (crvena LED) zaokružene prema dolje
Korak 1: Skupljanje dijelova i obrada drveta
Imao sam veliku sreću što sam jednog dana stigao na posao i uočio paletu. Ova paleta mi je zapela jer nije izgledala kao tvoja standardna paleta mlina. Bio je čist, termički obrađen i najneobičnije čvrst hrast.
Ovaj je projekt izrađen od jednog od komada te palete. (Pitao sam šefa prije nego što sam ga odnio kući)
Također se koristi:
- LED prsten ws2812b od 12 piksela
- Modul sata u realnom vremenu (RTC) (koristim DS3231 s I2C)
- Kompatibilan s Arduino Nano v3.0
- Akrilni lim (5 mm)
- Obojena žica
Alati
- Bušilica
- Ruter
- Podesivi ravni drveni bit
- Strojna brusilica
- Ručna pila
- Lemilica
- Pištolj za vruće ljepilo
- Brusni papir
- Dansko ulje
Brušenje
Počeo sam pomoću brusilice za ispravljanje i čišćenje drvenog bloka dok sve strane ne budu čiste i glatke. Ostavio sam neke nedostatke vidljive i nisu savršeno ravne ili četvrtaste jer volim vidjeti dio povijesti u šumi.
Označavanje i izrezivanje rupa
Nakon brušenja odabrao sam stranu sa koje sam htio lice sata i označio središte povlačenjem linija iz svakog kuta. Postavio sam podesivo drvo malo veće od LED prstena kako bi postojala polica na koju bi akril mogao sjesti i izrezati dubinu od oko 5 mm, a zatim podesiti rezač malo iznad veličine LED prstena i izrezati još oko 5 mm.
Rupe za usmjeravanje i kabel
Koristeći svoj usmjerivač s 12 -milimetarskim bitom izbušio sam udubljenje na dnu bloka kako bih sakrio RTC i Arduino. Dubina mu je oko 15 mm i najmanje 5 mm od bilo kojeg ruba. Obilježio sam središte (ish) odozdo i izbušio pomoću 10 -milimetarskog bita tek na pola puta kako bih omogućio LED žice. Zatim sam bušilicom od 5 mm izbušio središte LED udubljenja kako bih susreo rupu od 10 mm odozdo.
Još jedna rupa na stražnjoj strani od 4 mm za napajanje i pomoću manjeg usmjerivača za izradu kanala za žice na stražnjoj strani LED prstena i drvo je obavljeno.
Korak 2: Akrilni krugovi
Za izradu akrila za prednji dio sata naveo sam izrezivanje četvrtastog komada koji je bio samo veći od rupe koju je morao popuniti. Zatim sam pomoću brusilice za početak počeo uklanjati uglove sve dok nije postigao pravi oblik i veličinu. Zatim sam prešao na ručno brušenje kako ne bih pretjerao sa snimanjem i morao sam početi ispočetka.
Bio je to spor i dosadan proces pokušaja i pogrešaka dok se nije uklopio kako treba, ali mislim da se krajnji rezultat isplatio. Završio sam koristeći papir vrlo finog zrna kako bih prednjoj strani akrila dao zaleđen izgled.
Korak 3: Lemljenje
Volim koristiti sustav boja za svoje žice, ovom prilikom odaberem:
- Crveno za napajanje (5v)
- Bijela za tlo
- Žuta za podatke
- Zelena za Sat
Započeo sam lemljenjem 3 potrebne žice na LED prsten pomoću gornjeg sustava i guranjem žica niz rupu. Kako ne bi trebao biti izložen nikakvoj stvarnoj prisili, upotrijebio sam sićušan dio vrućeg ljepila da držim prsten na mjestu. (Možda ću ga morati promijeniti) i instalirati akril sa samo malo vrućeg ljepila oko ruba.
Zatim sam lemio 4 žice na RTC koristeći gornji sustav. Da stvari budu malo urednije, odlučio sam napajati RTC iz Arduina. Zatim je sve spojio na Arduino i lemio 1 žicu za napajanje, a drugu za uzemljenje na Arduino.
RTC
- SCL (Sat) na analogni pin 5
- SDA (podaci) na analogni pin 4
- VCC na 5V
- GND bilo kojem GND -u na Arduinu
LED prsten
Din na digitalni pin 6
Motao sam stari USB kabel pa sam odlučio to upotrijebiti za napajanje sata. Odrezao sam kraj koji bi se normalno spojio s nečim i gurnuo ga kroz rupu na stražnjoj strani. Zatim ogolite i zategnite krajeve prije lemljenja VCC -a na Arduino i LED prstena na pozitivnu stranu te uzemljenje od Arduina i LED na uzemljenje. Kasnije sam se malo zagrijao i izgledalo je dobro, Pištolj za vruće ljepilo vratio se kako bi zadržao sve. Odlučio sam napustiti Arduino s dovoljno igre da ću moći pristupiti USB priključku za njegovo programiranje u budućnosti, ali ne toliko da bih mogao ispasti.
Korak 4: Kôd
Sada biste trebali moći prenijeti ovaj kôd na Arduino.
Ako RTC ne radi, ovaj će kôd postaviti vrijeme na temelju vremena sastavljanja koda, stoga samo pritisnite gumb za prijenos i ne provjeravajte.
naizmjence ovo također jako dobro funkcionira za postavljanje vremena.
www.instructables.com/id/Setting-the-DS130…
Veći dio ovog koda posudio sam iz biblioteke Adafruit NeoPixel, a neke iz RTC knjižnice koje sam pronašao, a neke sam sam izmislio.
// uključuje kod knjižnice: #include
#uključi
#uključi
// definiramo pinove
#definirajte PIN 6
#define BRIGHTNESS 20 // postavite maksimalnu svjetlinu
#definiraj r 5
#odredi g 5
#definiraj b 5
RTC_DS3231 rtc; // Uspostavljanje objekta sata
Adafruit_NeoPixel traka = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // strip objekt
void setup () {
Wire.begin (); // Početak I2C
rtc.begin (); // početak sata
Serial.begin (9600);
// postavljanje pinmodova
pinMode (PIN, IZLAZ);
if (rtc.lostPower ()) {
Serial.println ("RTC je izgubio napajanje, dopustite da postavite vrijeme!");
// sljedeći redak postavlja RTC na datum i vrijeme sastavljanja ove skice
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));
// Ovaj redak postavlja RTC s eksplicitnim datumom i vremenom, na primjer za postavljanje
// 21. siječnja 2014. u 3 ujutro nazvali biste:
// rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0));
}
strip.begin ();
strip.show (); // Pokretanje svih piksela na "isključeno"
DateTime theTime = rtc.now (); // uzima u obzir ljetno računanje vremena
byte secondval = theTime.second (); // dobiti sekunde
byte minuteval = theTime.minute (); // dobiti minute
int hourval = theTime.hour ();
točka (traka. Boja (0, g, 0), 50);
}
void loop () {{100} {101}
// dobiti vrijeme
DateTime theTime = rtc.now (); // uzima u obzir ljetno računanje vremena
int minuteval = theTime.minute (); // dobiti minute
int hourval = theTime.hour (); // dobiti sate
int secondval = theTime.second ();
if (minute 0) {
strip.setPixelColor (0, r, 0, 0);
strip.show ();}
inace if (minuteval <= 9) {
strip.setPixelColor (1, r, 0, 0);
strip.show ();}
inace if (minuteval <= 14) {
strip.setPixelColor (2, r, 0, 0);
strip.show ();}
inace if (minuteval <= 19) {
strip.setPixelColor (3, r, 0, 0);
strip.show ();}
inace if (minuteval <= 24) {
strip.setPixelColor (4, r, 0, 0);
strip.show ();}
inace if (minuteval <= 29) {
strip.setPixelColor (5, r, 0, 0);
strip.show ();}
inace if (minuteval <= 34) {
strip.setPixelColor (6, r, 0, 0);
strip.show ();}
inace if (minuteval <= 39) {
strip.setPixelColor (7, r, 0, 0);
strip.show ();}
inace if (minuteval <= 44) {
strip.setPixelColor (8, r, 0, 0);
strip.show ();}
inace if (minuteval <= 49) {
strip.setPixelColor (9, r, 0, 0);
strip.show ();}
inace if (minuteval <= 54) {
strip.setPixelColor (10, r, 0, 0);
strip.show ();}
inace if (minuteval <= 59) {
strip.setPixelColor (11, r, 0, 0);
strip.show ();}
kašnjenje (1000);
za (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
ako (hourval == 0) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
inače if (hourval == 1) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
inace if (hourval == 2) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
inace if (hourval == 3) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
inače if (hourval == 4) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
inace if (hourval == 5) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
inače if (hourval == 6) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
inace if (hourval == 7) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
inače if (hourval == 8) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
inače if (hourval == 9) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
inace if (hourval == 10) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
inace if (hourval == 11) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
inače if (hourval == 12) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
inace if (hourval == 13) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
inace if (hourval == 14) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
inace if (hourval == 15) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
inace if (hourval == 16) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
inace if (hourval == 17) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
inace if (hourval == 18) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
inace if (hourval == 19) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
inace if (hourval == 20) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
inace if (hourval == 21) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
inace if (hourval == 22) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
inace if (hourval == 23) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
kašnjenje (1000);
za (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
// za serijsko ispravljanje pogrešaka
Serijski.tisak (satni interval, DEC);
Serial.print (':');
Serijski ispis (minuteval, DEC);
Serial.print (':');
Serial.println (secondval, DEC);
}
void dot (uint32_t c, uint8_t wait) {
za (int j = 0; j <3; j ++) {
za (int i = 0; i <12; i ++) {
strip.setPixelColor (i, c);
strip.show ();
odgoda (čekanje);
za (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();}
}
}
}
Korak 5: Dansko ulje
Posljednji i izborni korak je nanošenje danskog ulja na drvo. Jako mi se sviđa kako izvlači zrna i nudi određenu zaštitu od mrlja i vlage. Zato ga toplo preporučujem.
Možete ga četkati ili ja samo obrišem staru krpu.
Ostalo je samo da ga uključite i uživate.
Preporučeni:
Sat za umirovljenje / Brojanje sati / Dn sat: 4 koraka (sa slikama)
Umirovljenički sat / Brojanje gore / Dn sat: Imao sam nekoliko ovih 8x8 LED matričnih zaslona u ladici i razmišljao sam što ću s njima. Nadahnut drugim instrukcijama, došao sam na ideju da napravim zaslon za odbrojavanje/povećanje za odbrojavanje do budućeg datuma/vremena i ako ciljno vrijeme p
Vortex sat: Infinity Mirror ručni sat: 10 koraka (sa slikama)
Vortex Watch: Infinity Mirror ručni sat: Cilj ovog projekta bio je stvoriti nosivu verziju beskonačnog zrcalnog sata. Koristi svoje RGB LED diode za označavanje vremena dodjeljujući sate, minute i sekunde crvenom, zelenom i plavom svjetlu i preklapajući ove nijanse t
C51 4 -bitni elektronički sat - drveni sat: 15 koraka (sa slikama)
C51 4 -bitni elektronički sat - drveni sat: Imao sam slobodnog vremena ovog vikenda pa sam otišao naprijed i sastavio ovaj 4 -bitni elektronički digitalni sat od 2,40 USD koji sam kupio prije nekog vremena na AliExpressu
Pretvorite obični kućni sat u samosvijetleći sat: 8 koraka (sa slikama)
Pretvorite kućni obični sat u samosvijetleći sat: PRVO DAJEM SVOJU SRČNU HVALU INSTRUKTIVNIM TIMOVIMA DA MOGU ZDRAVSTVENE DANE Oporavak učini što odgovornijim ….. U ovim uputama želim podijeliti s vama kako pretvoriti svoj kućni obični sat u samosvijetli sat. > > Za ovo
Napravite pravi sat koji zvoni za vaše računalo i sat za gašenje požara: 3 koraka (sa slikama)
Napravite pravi sat za svoje računalo i sat za udaranje vatrogasnih aparata: Mesingano zvono, mali relej, još nekoliko stvari i pravo zvono mogu otkucati sate na vašoj radnoj površini. Iako ovaj projekt radi na Windowsima i Mac-u OS X također, odlučio sam instalirati Ubuntu Linux na računalo koje sam našao u smeću i poraditi na tome: nikad nisam