Satura rādītājs:
- 1. darbība: detaļu un koka darbu savākšana
- 2. solis: akrila apļi
- 3. solis: lodēšana
- 4. solis: kods
- 5. solis: dāņu eļļa
Video: Ish Clock: 5 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Es bieži uzskatu, ka pērku lietas, par kurām man nav ne jausmas, ar ko es darīšu. Šis projekts ir iegādāts gredzenā, kurā ir ieslēgtas 12x WS2812b gaismas diodes. Man nebija nekādu plānu to darīt, bet tiešsaistē tas izskatījās forši, tāpēc es iesprūdu vienu savā grozā, kādu laiku spēlējos ar to, kad tas ieradās, un pēc tam visu aizmirsu.
Kādu laiku vēlāk es domāju par pulksteņa izgatavošanu un atcerējos, ka tas sēdēja un neko nedarīja. Es domāju iegādāties otru gredzenu ar 60 gaismas diodēm, lai aizpildītu minūtes, bet pēc tam sāku domāt, kā mēs / es mēdzam skatīties uz laiku un noapaļot to līdz tuvākajām 5 minūtēm.
Ar šo manā es nolēmu ar savu 12 LED gredzenu izveidot izšūšanas pulksteni. Tas parāda 1 LED vienlaikus 1 sekundi, lai norādītu stundu (zilā gaismas diode) un pēc tam minūtes (sarkanā gaismas diode), noapaļojot uz leju
1. darbība: detaļu un koka darbu savākšana
Man ļoti paveicās, ka kādu dienu ierados darbā un pamanīju paleti. Šī palete man patika, jo tā neizskatījās pēc jūsu standarta dzirnavu paletes. Tas bija tīrs, termiski apstrādāts un neparasti cietais ozols.
Šis projekts ir izgatavots no viena no šīs paletes gabaliem. (Es jautāju priekšniekam, pirms es to aizvedu mājās)
Izmanto arī:
- 12 pikseļu ws2812b LED gredzens
- Reālā laika pulksteņa (RTC) modulis (es izmantoju DS3231 ar I2C)
- Saderīgs ar Arduino Nano v3.0
- Akrila loksne (5 mm)
- Krāsains vads
Rīki
- Spēka urbis
- Maršrutētājs
- Regulējams plakans koka uzgalis
- Elektriskā slīpmašīna
- Rokas zāģis
- Lodāmurs
- Karstās līmes pistole
- Smilšpapīrs
- Dāņu eļļa
Slīpēšana
Es sāku, izmantojot spēka slīpmašīnu, lai iztaisnotu un notīrītu koka bloku, līdz visas malas ir tīras un gludas. Es atstāju dažas nepilnības redzamas, un tās nav pilnīgi taisnas vai kvadrātveida, jo man patīk, lai varētu redzēt daļu no koka vēstures.
Caurumu marķēšana un griešana
Pēc slīpēšanas es izvēlējos to pusi, kurā es gribēju pulksteņa seju, un atzīmēju centru, zīmējot līnijas no katra stūra. Es iestatīju regulējamo koka gabalu nedaudz lielāku par LED gredzenu, lai būtu plaukts, kurā akrils varētu sēdēt un sagriezt apmēram 5 mm dziļi, pēc tam regulēt griezēju nedaudz virs LED gredzena izmēra un samazināt vēl 5 mm.
Maršruts un kabeļu caurumi
Izmantojot savu maršrutētāju ar 12 mm bitu, es izspiedu padziļinājumu bloka apakšā, lai paslēptu RTC un Arduino. Tā ir aptuveni 15 mm dziļa un ne mazāk kā 5 mm no jebkuras malas. Es atzīmēju centru (ish) no apakšas un urbju uz augšu, izmantojot 10 mm bitu tikai pusceļā, lai varētu izmantot LED vadus. Pēc tam, izmantojot 5 mm uzgali, es urbju no LED padziļinājuma centra, lai tas atbilstu 10 mm caurumam no apakšas.
Vēl viens 4 mm caurums aizmugurē, lai ieplūstu strāva, un, izmantojot mazāku maršrutētāja uzgali, izveido kanālu vadiem LED gredzena aizmugurē un tiek pabeigts koksnes darbs.
2. solis: akrila apļi
Lai izgatavotu akrilu pulksteņa priekšpusei, es norādīju, ka sagriežam kvadrātveida gabalu, kas bija tikai lielāks nekā caurums, kas tam bija jāaizpilda. Tad, lai sāktu, izmantojot jaudīgo slīpmašīnu, es sāku noņemt stūrus, līdz tas bija apmēram pareizā formā un izmērā. Pēc tam es pārcēlos uz roku slīpēšanu, tāpēc es nešaujos un nācās sākt no jauna.
Tas bija lēns un nogurdinošs izmēģinājumu un kļūdu process, līdz tas bija piemērots, taču, manuprāt, gala rezultāts bija tā vērts. Es pabeidzu, izmantojot ļoti smalku smilšpapīru, lai akrila priekšpuse iegūtu matētu izskatu.
3. solis: lodēšana
Šajā gadījumā man patīk izmantot krāsu sistēmu vadiem:
- Sarkans jaudai (5v)
- Balts zemei
- Dzeltens - dati
- Zaļš pulkstenim
Es sāku, lodējot 3 nepieciešamos vadus uz LED gredzena, izmantojot iepriekš minēto sistēmu, un nospiežot vadus caur caurumu. Tā kā to nevajadzētu pakļaut nekādai reālai piespiedu kārtai, es izmantoju nelielu karstu līmi, lai noturētu gredzenu vietā. (Iespējams, man tas būs jāmaina) un ap malu uzstādiet akrilu ar nedaudz karstu līmi.
Pēc tam es pielodēju 4 vadus uz RTC, izmantojot iepriekš minēto sistēmu. Lai lietas būtu nedaudz kārtīgākas, es nolēmu RTC iegūt enerģiju no Arduino. Pēc tam visu savienoja ar Arduino un pie Arduino pielodēja 1 vadu barošanai un otru zemei.
RTC
- SCL (pulkstenis) līdz analogajai tapai 5
- SDA (dati) uz analogo tapu 4
- VCC līdz 5V
- GND jebkuram GND uz Arduino
LED gredzens
Pārslēdzieties uz digitālo tapu 6
Man bija karājies vecs USB kabelis, tāpēc nolēmu to izmantot pulksteņa darbināšanai. Es nogriezu galu, kas parasti būtu savienojams ar kaut ko, un izgrūžu to caur caurumu aizmugurē. Pēc tam noņemiet un tonējiet galus, pirms lodējat VCC pie Arduino un LED gredzenu uz pozitīvo pusi, un zemi no Arduino un LED uz zemi. Vēlāk es nedaudz saruku, un tas izskatījās labi, Karstā līmes pistole iznāca atpakaļ, lai visu noturētu. Es nolēmu atstāt Arduino ar pietiekami daudz spēles, lai es varētu piekļūt USB portam, lai to nākotnē ieprogrammētu, bet ne tik daudz, lai es varētu izkrist.
4. solis: kods
Tagad jums vajadzētu būt iespējai augšupielādēt šo kodu Arduino.
Ja RTC nedarbojas, šis kods iestatīs laiku, pamatojoties uz koda apkopošanas laiku, tāpēc noteikti nospiediet augšupielādes pogu un nepārbaudiet.
pārmaiņus tas arī ļoti labi palīdz iestatīt laiku.
www.instructables.com/id/Setting-the-DS130…
Lielu daļu no šī koda es aizņēmos no Adafruit NeoPixel bibliotēkas un daļu no RTC bibliotēkas, kuru es atradu, un daļu es izdomāju pati.
// iekļaut bibliotēkas kodu: #include
#iekļaut
#iekļaut
// definēt tapas
#definējiet PIN 6
#define BRIGHTNESS 20 // iestatiet maksimālo spilgtumu
#definēt r 5
#definēt g 5
#definēt b 5
RTC_DS3231 rtc; // Izveidot pulksteņa objektu
Adafruit_NeoPixel strip = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // sloksnes objekts
void setup () {
Wire.begin (); // Sākt I2C
rtc.begin (); // sākt pulksteni
Sērijas sākums (9600);
// iestatīt pinmodes
pinMode (PIN, OUTPUT);
ja (rtc.lostPower ()) {
Serial.println ("RTC zaudēja jaudu, ļauj iestatīt laiku!");
// nākamā rinda nosaka RTC datumu un laiku, kad šī skice tika apkopota
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));
// Šī rindiņa nosaka RTC ar precīzu datumu un laiku, piemēram, lai iestatītu
// 2014. gada 21. janvārī pulksten 3:00 jūs zvanītu:
// rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0));
}
strip.begin ();
strip.show (); // Inicializēt visus pikseļus, lai tie būtu izslēgti
DateTime theTime = rtc.now (); // ņem vērā DST
baits secondval = theTime.second (); // iegūt sekundes
baits minuteval = theTime.minute (); // saņemt minūtes
int hourval = theTime.hour ();
punkts (sloksne. Krāsa (0, g, 0), 50);
}
void loop () {
// dabū laiku
DateTime theTime = rtc.now (); // ņem vērā DST
int minuteval = theTime.minute (); // saņemt minūtes
int hourval = theTime.hour (); // iegūt stundas
int secondval = theTime.second ();
ja (minūti 0) {
strip.setPixelColor (0, r, 0, 0);
strip.show ();}
cits ja (minūti <= 9) {
strip.setPixelColor (1, r, 0, 0);
strip.show ();}
citādi, ja (minūti <= 14) {
strip.setPixelColor (2, r, 0, 0);
strip.show ();}
cits ja (minūti <= 19) {
strip.setPixelColor (3, r, 0, 0);
strip.show ();}
citādi, ja (minūti <= 24) {
strip.setPixelColor (4, r, 0, 0);
strip.show ();}
citādi, ja (minūti <= 29) {
strip.setPixelColor (5, r, 0, 0);
strip.show ();}
citādi, ja (minūti <= 34) {
strip.setPixelColor (6, r, 0, 0);
strip.show ();}
citādi, ja (minūti <= 39) {
strip.setPixelColor (7, r, 0, 0);
strip.show ();}
cits ja (minūti <= 44) {
strip.setPixelColor (8, r, 0, 0);
strip.show ();}
citādi, ja (minūti <= 49) {
strip.setPixelColor (9, r, 0, 0);
strip.show ();}
citādi, ja (minūti <= 54) {
strip.setPixelColor (10, r, 0, 0);
strip.show ();}
citādi, ja (minūti <= 59) {
strip.setPixelColor (11, r, 0, 0);
strip.show ();}
kavēšanās (1000);
par (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
ja (stundā == 0) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 1) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 2) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 3) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 4) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 5) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 6) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 7) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 8) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 9) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 10) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 11) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 12) {
strip.setPixelColor (0, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 13) {
strip.setPixelColor (1, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 14) {
strip.setPixelColor (2, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 15) {
strip.setPixelColor (3, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 16) {
strip.setPixelColor (4, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 17) {
strip.setPixelColor (5, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 18) {
strip.setPixelColor (6, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 19) {
strip.setPixelColor (7, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 20) {
strip.setPixelColor (8, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 21) {
strip.setPixelColor (9, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 22) {
strip.setPixelColor (10, 0, 0, b);
strip.show ();}
citādi, ja (stundā == 23) {
strip.setPixelColor (11, 0, 0, b);
strip.show ();}
kavēšanās (1000);
par (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
// sērijas atkļūdošanai
Sērijas nospiedums (stundā, DEC);
Serial.print (':');
Sērijas nospiedums (minūti, DEC);
Serial.print (':');
Serial.println (otrais, DEC);
}
tukšs punkts (uint32_t c, uint8_t gaidīt) {
par (int j = 0; j <3; j ++) {
par (int i = 0; i <12; i ++) {
strip.setPixelColor (i, c);
strip.show ();
aizkavēties (gaidīt);
par (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();}
}
}
}
5. solis: dāņu eļļa
Pēdējais un fakultatīvais solis ir uzklāt koksnei dāņu eļļu. Man ļoti patīk, kā tas izceļ graudus, kā arī piedāvā zināmu aizsardzību pret traipiem un mitrumu. Tāpēc es to ļoti iesaku.
Jūs varat to uzklāt ar suku, vai arī es vienkārši izmantoju vecu drānu, lai to noslaucītu.
Tagad atliek tikai to pievienot un baudīt.
Ieteicams:
IEEE WORD CLOCK PROJEKTS: 12 soļi (ar attēliem)
IEEE WORD CLOCK PROJECT: Šis ir UNO IEEE kluba projekts, tas ir unikāls veids, kā attēlot pulksteni. Vārdu pulkstenis norāda laiku, un, izmantojot RGB joslu, pulkstenis var būt jebkurā jūsu izvēlētajā krāsā. Izmantojot ESP32 WiFi iespējas, clo
Nixie Clock YT: 9 soļi (ar attēliem)
Nixie Clock YT: Sveiki visiem, šis ir mans jaunais nixie pulkstenis. Tā ir mana versija 2.0. Pirmais modelis nav norādīts instrukcijās. attēlu redzēsit vēlāk. Gandrīz tas pats. Atšķirība ir tāda, ka nav gaismas diožu, dažas detaļas ir iegremdētas iepakojumā, kā arī tāfele ir lielāka. Tātad šis ir m
Jaunā (-ish) Writing AI: 5 soļi
Romānu (-išu) rakstīšanas AI: Nacionālajam romānu rakstīšanas mēnesim AI & Es mēģinu līdzautorizēt romānu 30 novembra dienās. Novēlam veiksmi, iespējams, mums tā būs vajadzīga
LittleBits Mad Libs (-ish): 7 soļi (ar attēliem)
LittleBits Mad Libs (-ish): esat gatavs iesaistīt savus skolēnus izaicinājumā, kas ietver NGSS (nākamās paaudzes zinātnes standartu) inženiertehnisko praksi (un vairāk, ja pievienojat citus ierobežojumus!)? Izmantojot LittleBits vai jebkuru citu daudzdaļīgu elektronikas komplektu (SAM Laboratorijas, Lego WeDo, LEGO
Nixie Clock Mood Barometrs: 7 soļi (ar attēliem)
Niksija pulksteņa garastāvokļa barometrs: nepamanīts progresa upuris ir aneroīdu mājas barometrs. Mūsdienās jūs joprojām varētu atrast piemērus to cilvēku mājās, kuri ir vecāki par deviņdesmit, bet vēl miljoniem ir izgāztuvē vai ebay. Patiesībā vecās skolas barometrs man nepalīdzēja