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 izmjena: 2024-01-30 08:08
Često zateknem sebe kako kupujem stvari s kojima nemam pojma šta ću. Ovaj projekat je rezultat kupovine prstena sa uključenim LED diodama 12x WS2812b. Nisam imao planove za to, ali izgledalo je super na internetu pa sam stavio jedan u kolica, 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 kupovini drugog prstena 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 da napravim isti sat. 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 da jednog dana dođem na posao i uočim paletu. Ova paleta mi je zapela jer nije izgledala kao vaša standardna paleta mlina. Bio je čist, termički obrađen i najneobičnije čvrst hrast.
Ovaj projekat je napravljen od jednog od komada te palete. (Pitao sam šefa prije nego što sam ga odnio kući)
Koristi se i:
- 12 piksela ws2812b LED prsten
- Modul sata u realnom vremenu (RTC) (koristim DS3231 sa I2C)
- Kompatibilan s Arduino Nano v3.0
- Akrilni lim (5 mm)
- Obojena žica
Alati
- Power Drill
- Router
- Podesivi ravni drveni bit
- Električna brusilica
- Ručna testera
- Lemilica
- Pištolj za vruće ljepilo
- Brusni papir
- Dansko ulje
Brušenje
Počeo sam korištenjem brusilice za ispravljanje i čišćenje drvenog bloka dok sve strane ne budu čiste i glatke. Ostavio sam neke nesavršenosti 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 ugla. Podesivo drvo postavio sam malo veće od LED prstena tako da 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 kablove
Koristeći svoj usmjerivač s 12 -milimetarskim bitom, izvukao sam udubljenje na dnu bloka kako bih sakrio RTC i Arduino. Dubina je oko 15 mm i najmanje 5 mm od bilo kojeg ruba. Obilježio sam središte (donji dio) 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 sreo rupu od 10 mm odozdo.
Još jedna rupa na stražnjoj strani od 4 mm za napajanje i upotrebom 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 tek 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 grešaka sve 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 zamrznut izgled.
Korak 3: Lemljenje
Volim koristiti sustav boja za svoje žice, ovom prilikom biram:
- Crveno za napajanje (5v)
- Bijela za podlogu
- Žuta za podatke
- Zelena za Sat
Započeo sam lemljenjem 3 potrebne žice na LED prsten pomoću gornjeg sistema 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 sistem. 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 za bilo koji GND 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 začinite krajeve prije lemljenja VCC -a na Arduino i LED prstena na pozitivnu stranu i uzemljenje od Arduina i LED na uzemljenje. Kasnije sam se malo zagrijao i izgledalo je dobro, Pištolj za vruće ljepilo se vratio 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 učitati ovaj kod na Arduino.
Ako RTC ne radi, ovaj kôd će postaviti vrijeme na osnovu toga kada je kôd sastavljen, pa samo pritisnite dugme za učitavanje i ne provjeravajte.
naizmjenično ovo također funkcionira jako dobro za postavljanje vremena.
www.instructables.com/id/Setting-the-DS130…
Veći dio ovog koda posudio sam iz biblioteke Adafruit NeoPixel, a dio iz RTC biblioteke koju sam pronašao, a neke sam sam izradio.
// uključuje kod knjižnice: #include
#include
#include
// definiramo pinove
#define PIN 6
#define BRIGHTNESS 20 // postavite maksimalnu svjetlinu
#define r 5
#define g 5
#define b 5
RTC_DS3231 rtc; // Uspostavljanje objekta sata
Adafruit_NeoPixel strip = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // strip objekt
void setup () {
Wire.begin (); // Pokretanje I2C
rtc.begin (); // početak sata
Serial.begin (9600);
// postavljanje pinmodova
pinMode (PIN, OUTPUT);
if (rtc.lostPower ()) {
Serial.println ("RTC je izgubio napajanje, podesimo vrijeme!");
// sljedeći red postavlja RTC na datum i vrijeme sastavljanja ove skice
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));
// Ova linija postavlja RTC s eksplicitnim datumom i vremenom, na primjer za postavljanje
// 21. januara 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
bajt minuteval = theTime.minute (); // dobiti minute
int hourval = theTime.hour ();
tačka (strip. Color (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 ();}
else if (minuteval <= 9) {
strip.setPixelColor (1, r, 0, 0);
strip.show ();}
else if (minuteval <= 14) {
strip.setPixelColor (2, r, 0, 0);
strip.show ();}
else if (minuteval <= 19) {
strip.setPixelColor (3, r, 0, 0);
strip.show ();}
else if (minuteval <= 24) {
strip.setPixelColor (4, r, 0, 0);
strip.show ();}
else if (minuteval <= 29) {
strip.setPixelColor (5, r, 0, 0);
strip.show ();}
else if (minuteval <= 34) {
strip.setPixelColor (6, r, 0, 0);
strip.show ();}
else if (minuteval <= 39) {
strip.setPixelColor (7, r, 0, 0);
strip.show ();}
else if (minuteval <= 44) {
strip.setPixelColor (8, r, 0, 0);
strip.show ();}
else if (minuteval <= 49) {
strip.setPixelColor (9, r, 0, 0);
strip.show ();}
else if (minuteval <= 54) {
strip.setPixelColor (10, r, 0, 0);
strip.show ();}
else 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 ();
}
if (hourval == 0) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
inače if (hourval == 1) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
inače if (hourval == 2) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
inače if (hourval == 3) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
inače if (hourval == 4) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
inače if (hourval == 5) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
inače if (hourval == 6) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
inače 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 ();}
inače if (hourval == 10) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
inače if (hourval == 11) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
inače if (hourval == 12) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
inače if (hourval == 13) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
inače if (hourval == 14) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
inače if (hourval == 15) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
inače if (hourval == 16) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
inače if (hourval == 17) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
inače if (hourval == 18) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
inače if (hourval == 19) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
inače if (hourval == 20) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
inače if (hourval == 21) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
inače if (hourval == 22) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
inače 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 otklanjanje grešaka
Serial.print (satni interval, DEC);
Serial.print (':');
Serial.print (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 ();
kašnjenje (č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. Zaista mi se sviđa kako izvlači zrna, a nudi i neku zaštitu od mrlja i vlage. Zato ga toplo preporučujem.
Možete ga očetkati ili ja samo obrišem staru krpu.
Ostalo je samo da ga uključite i uživate.
Preporučuje se:
Sat za penziju / Odbrojavanje / Dn sat: 4 koraka (sa slikama)
Sat za odlazak u penziju / Odbrojavanje / Dn sat: U ladici sam imao nekoliko ovih 8x8 LED matričnih ekrana i razmišljao sam šta ću s njima. Inspirisan drugim instrukcijama, došao sam na ideju da napravim ekran za odbrojavanje/povećanje za odbrojavanje do budućeg datuma/vremena i ako ciljno vreme p
Vortex sat: ručni sat s ogledalom u beskonačnosti: 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 digitalni digitalni sat od 2 bita 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 vaš kućni obični sat u samosvijetleći sat. > > Za ovo
Napravite pravi sat koji zvoni za vaš računar i sat za gašenje požara: 3 koraka (sa slikama)
Napravite pravi sat koji čuje zvono za vaš računar i sat koji udara u aparate za gašenje požara .: Mesingano zvono, mali relej, još nekoliko stvari i pravo zvono mogu udariti sate na vašu radnu površinu. Iako ovaj projekat radi na Windowsima i Macima OS X takođe, odlučio sam da instaliram Ubuntu Linux na računar koji sam našao u smeću i poradio na tome: nikada nisam