Բովանդակություն:
- Քայլ 1. Մասերի և փայտի աշխատանքների հավաքում
- Քայլ 2: Ակրիլային շրջանակներ
- Քայլ 3: Sոդում
- Քայլ 4: Կոդ
- Քայլ 5: Դանիական նավթ
Video: Ish ժամացույց ՝ 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Ես հաճախ գտնում եմ, որ ես գնում եմ այնպիսի իրեր, որոնց մասին պատկերացում չունեմ, թե ինչով եմ զբաղվելու: Այս նախագիծը օղակի ձեռքբերման արդյունք է, որի վրա 12x WS2812b LED- ները միացված են: Ես դրա հետ կապված ծրագրեր չունեի, բայց այն առցանց զվարճալի տեսք ուներ, և ես այն մտցրեցի զամբյուղի մեջ, որոշ ժամանակ խաղացի դրա հետ, երբ եկավ, իսկ հետո մոռացա այդ մասին:
Որոշ ժամանակ անց ես մտածում էի ժամացույց պատրաստելու մասին և հիշեցի, որ այնտեղ նստած ոչինչ չէր անում: Ես մտածում էի երկրորդ օղակ գնելու մասին `60 LED- ով` րոպեները լրացնելու համար, բայց հետո սկսեցի մտածել, թե ինչպես ենք մենք / ես ձգտում նայել այդ պահին և այն կլորացնել մոտակա 5 րոպեի ընթացքում:
Սրանով ես իմ 12 LED օղակով ճամփա ընկա, որպեսզի պատրաստեմ նախկին ժամացույցը: Այն միաժամանակ ցուցադրում է 1 LED 1 վայրկյան ՝ ցույց տալով ժամը (Կապույտ LED) և այն րոպեները (Կարմիր LED), որոնք կլորացվում են ներքև
Քայլ 1. Մասերի և փայտի աշխատանքների հավաքում
Ես շատ բախտավոր էի, որ մի օր ժամանեցի աշխատանքի և նկատեցի պալետ: Այս ծղոտե ներքնակը կպչեց ինձ, քանի որ այն նման չէր ձեր ստանդարտ, գործարանային ծղոտե ներքնակին: Այն մաքուր էր, ջերմամշակված և ամենաարտասովոր պինդ կաղնին:
Այս նախագիծը պատրաստված է այդ ծղոտե ներքնակի կտորներից մեկից: (Ես հարցրեցի պետին, նախքան այն տուն տանելը)
Նաև օգտագործվում է
- 12 պիքսել ws2812b LED օղակ
- Իրական ժամանակի ժամացույց (RTC) մոդուլ (ես օգտագործում եմ DS3231 I2C- ով)
- Arduino Nano v3.0 համատեղելի
- Ակրիլային թերթ (5 մմ)
- Գունավոր մետաղալար
Գործիքներ
- Էլեկտրական փորվածք
- Երթուղիչ
- Կարգավորելի հարթ փայտե բիտ
- Հոսանքի ավազ
- Ձեռքի սղոց
- Oldոդման երկաթ
- Տաք սոսինձ ատրճանակ
- Ավազի թուղթ
- Դանիական նավթ
Հղկում
Ես սկսեցի հոսանքի ավազի միջոցով փայտի բլոկն ուղղել և մաքրել մինչև բոլոր կողմերը մաքուր և հարթ: Ես թողեցի որոշ անկատարություններ տեսանելի, և դա կատարյալ ուղիղ կամ քառակուսի չէ, քանի որ ինձ դուր է գալիս, որ կարող եմ տեսնել պատմության մի մասը անտառում:
Նշումներ և կտրում անցքերը
Մանրացնելուց հետո ես ընտրեցի ժամացույցի երեսը ցանկացող կողմը և նշեցի կենտրոնը `յուրաքանչյուր անկյունից գծեր գծելով: Կարգավորվող փայտը մի փոքր ավելի մեծ դրեցի, քան led օղակը, այնպես որ ակրիլը կարող էր նստել և կտրել մոտ 5 մմ խորություն, այնուհետև կարգավորելի կտրիչը LED օղակի չափից ավելի և կտրել ևս 5 մմ կամ ավելի.
Երթուղային և մալուխային անցքեր
Օգտագործելով իմ երթուղիչը 12 մմ բիթով, ես դուրս հանեցի բլոկի ներքևի հատվածը `RTC- ն և Arduino- ն թաքցնելու համար: Նրա խորությունը մոտ 15 մմ է և ցանկացած եզրից ոչ պակաս, քան 5 մմ: Ես նշեցի կենտրոնը (նախկին) ներքևից և փորեցի մինչև 10 մմ տրամագծով մի փոքր անցած կես ճանապարհը, որպեսզի թույլ տան LED լարերը: Այնուհետև, օգտագործելով 5 մմ տրամաչափի բիտ, ես փորեցի LED լուսանցքի կենտրոնից `ներքևից 10 մմ անցքին հանդիպելու համար:
Մեջքի ևս 4 մմ անցք ՝ հոսանքի հոսքի համար, և ավելի փոքր երթուղիչի բիտ օգտագործելով ՝ LED օղակի հետևի հետևի լարերի համար ալիք պատրաստելու և փայտի աշխատանքն ավարտված է:
Քայլ 2: Ակրիլային շրջանակներ
Theամացույցի առջևի մասի ակրիլ պատրաստելու համար ես ասացի, որ կտրում եմ քառակուսի կտոր, որը պարզապես ավելի մեծ էր, քան այն անցքը, որը պետք է լրացներ: Այնուհետև, օգտագործելով սնուցման սարքը, ես սկսեցի հեռացնել անկյունները, մինչև որ այն մոտենա ճիշտ ձևին և չափին: Այնուհետև ես անցա ձեռքի հղկմանը, որպեսզի չկրկնեմ և ստիպված լինեմ նորից սկսել:
Դա փորձության և սխալի դանդաղ և հոգնեցուցիչ գործընթաց էր, մինչև որ ճիշտ տեղավորվեց, բայց կարծում եմ, որ վերջնական արդյունքը արժեր դրան: Ավարտեցի ՝ օգտագործելով շատ նուրբ թուղթ ՝ ակրիլային դիմային հատվածին ցրտահարված տեսք հաղորդելու համար:
Քայլ 3: Sոդում
Ես սիրում եմ գունավոր համակարգ օգտագործել իմ լարերի համար այս առիթով, երբ ընտրում եմ.
- Կարմիր հզորության համար (5 վ)
- Սպիտակ գետնի համար
- Դեղին ՝ տվյալների համար
- Կանաչ ժամացույցի համար
Ես սկսեցի երեք անհրաժեշտ լարերը կպցնել LED օղակի վրա `օգտագործելով վերը նշված համակարգը և լարերը մղելով դեպի անցքը: Քանի որ այն չպետք է ենթարկվի որևէ իրական ճնշման, ես մի փոքր տաք սոսինձ օգտագործեցի `մատանին տեղում պահելու համար: (Գուցե երբևէ պետք է փոխեմ այն) և տեղադրեք ակրիլը եզրին միայն մի փոքր տաք սոսինձով:
Հետո ես 4 լարերը միացրեցի RTC- ին ՝ օգտագործելով վերը նշված համակարգը: Իրերը մի փոքր կոկիկ պահելու համար ես որոշեցի RTC- ի համար էներգիա վերցնել Arduino- ից: Այնուհետև ամեն ինչ միացրեք Arduino- ին և 1 մետաղալար կպցրեք հոսանքի համար, իսկ մյուսը `Arduino- ին:
RTC
- SCL (ockամացույց) դեպի անալոգային Pin 5
- SDA (Տվյալներ) դեպի անալոգային Pin 4
- VCC- ից մինչև 5V
- GND Arduino- ի ցանկացած GND- ին
LED մատանի
Din to Digital Pin 6
Ես ունեի մի հին USB մալուխ, որը շուրջս էր կախված, ուստի որոշեցի օգտագործել այն ժամացույցը միացնելու համար: Ես կտրեցի ծայրը, որը սովորաբար միանում էր ինչ -որ բանի, և այն հրեցի հետևի անցքի միջով: Այնուհետև մերկացրեք և եզրագծեք ծայրերը ՝ նախքան VCC- ն Arduino- ին կպցնելը և LED օղակը դեպի դրական կողմը, իսկ գետինը ՝ Arduino- ից և LED- ից մինչև Ground: Հետո ես փոքր -ինչ նվազեցի ջերմությունը, և այն լավ տեսք ուներ, Տաք սոսնձի ատրճանակը նորից դուրս եկավ, որպեսզի ամեն ինչ պահի: Ես որոշեցի հեռանալ Arduino- ից այնքան խաղալով, որ հետագայում կկարողանամ մուտք գործել USB պորտ ՝ այն ծրագրավորելու համար, բայց ոչ այնքան, որ կարողանամ ընկնել:
Քայլ 4: Կոդ
Այժմ դուք պետք է կարողանաք վերբեռնել այս կոդը Arduino- ում:
Եթե RTC- ն չի աշխատում, այս ծածկագիրը կսահմանի ժամանակը ՝ հիմնվելով ծածկագրի կազմման վրա, այնպես որ համոզվեք, որ պարզապես սեղմեք վերբեռնման կոճակը և չստուգեք:
այլընտրանք, սա նույնպես իսկապես լավ է աշխատում ժամանակը սահմանելու համար:
www.instructables.com/id/Setting-the-DS130…
Այս ծածկագրի մեծ մասը ես վերցրել եմ Adafruit NeoPixel գրադարանից, մի մասը ՝ RTC գրադարանից, որը գտել եմ, իսկ մի մասը ՝ ինքնուրույն:
// ներառել գրադարանի կոդը ՝ #ներառել
#ներառում
#ներառում
// սահմանել կապում
#սահմանեք PIN 6
#սահմանեք ՊԱՀՈՍՏՈ //ԹՅՈ 20Ն 20 // սահմանեք առավելագույն պայծառություն
#սահմանի r 5
#սահմանել g 5
#սահմանել բ 5
RTC_DS3231 rtc; // Ստեղծեք ժամացույցի օբյեկտ
Adafruit_NeoPixel շերտ = Adafruit_NeoPixel (12, PIN, NEO_GRB + NEO_KHZ800); // շերտի օբյեկտ
void setup () {
Wire.begin (); // Սկիզբ I2C
rtc.begin (); // սկսել ժամացույցը
Serial.begin (9600);
// սահմանել pinmodes
pinMode (PIN, OUTPUT);
եթե (rtc.lostPower ()) {
Serial.println («RTC- ն կորցրեց էներգիան, թույլ տվեք սահմանել ժամանակը»);
// հետևյալ տողը RTC- ն սահմանում է այս ուրվագծի կազմման ամսաթվի և ժամի
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)));
// Այս տողը սահմանում է RTC- ն հստակ ամսաթվով և ժամով, օրինակ `սահմանելու համար
// 2014 թվականի հունվարի 21 -ին, առավոտյան ժամը 3 -ին, դուք կարող եք զանգահարել.
// rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0));
}
strip.begin ();
strip.show (); // Նախագծել բոլոր պիքսելները «անջատված»
DateTime theTime = rtc.now (); // հաշվի է առնում DST- ն
բայթ secondval = theTime.second (); // ստացեք վայրկյաններ
բայթ minuteval = theTime.minute (); // րոպե ստանալ
int hourval = theTime.hour ();
կետ (շերտ. Գույն (0, գ, 0), 50);
}
դատարկ շրջան () {
// ժամանակ ստանալ
DateTime theTime = rtc.now (); // հաշվի է առնում DST- ն
int րոպեն = theTime.minute (); // րոպե ստանալ
int hourval = theTime.hour (); // ժամեր ստանալ
int secondval = theTime.second ();
եթե (րոպեական 0) {
strip.setPixelColor (0, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<9) {
strip.setPixelColor (1, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<14) {
strip.setPixelColor (2, r, 0, 0);
strip.show ();}
այլապես եթե (րոպե <<19) {
strip.setPixelColor (3, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<24) {
strip.setPixelColor (4, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<29) {
strip.setPixelColor (5, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<34) {
strip.setPixelColor (6, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<39) {
strip.setPixelColor (7, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<44) {
strip.setPixelColor (8, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<49) {
strip.setPixelColor (9, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<54) {
strip.setPixelColor (10, r, 0, 0);
strip.show ();}
այլապես, եթե (րոպե <<59) {
strip.setPixelColor (11, r, 0, 0);
strip.show ();}
ուշացում (1000);
համար (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
եթե (ժամային ժամ == 0) {
strip.setPixelColor (0, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 1) {
strip.setPixelColor (1, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 2) {
strip.setPixelColor (2, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 3) {
strip.setPixelColor (3, 0, 0, բ);
strip.show ();}
այլապես (ժամային ժամ == 4) {
strip.setPixelColor (4, 0, 0, բ);
strip.show ();}
այլապես (ժամային ժամ == 5) {
strip.setPixelColor (5, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 6) {
strip.setPixelColor (6, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 7) {
strip.setPixelColor (7, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 8) {
strip.setPixelColor (8, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 9) {
strip.setPixelColor (9, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 10) {
strip.setPixelColor (10, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 11) {
strip.setPixelColor (11, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 12) {
strip.setPixelColor (0, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 13) {
strip.setPixelColor (1, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 14) {
strip.setPixelColor (2, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 15) {
strip.setPixelColor (3, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 16) {
strip.setPixelColor (4, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 17) {
strip.setPixelColor (5, 0, 0, բ);
strip.show ();}
այլապես (ժամային ժամ == 18) {
strip.setPixelColor (6, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 19) {
strip.setPixelColor (7, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 20) {
strip.setPixelColor (8, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 21) {
strip.setPixelColor (9, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 22) {
strip.setPixelColor (10, 0, 0, բ);
strip.show ();}
այլապես, եթե (ժամային ժամ == 23) {
strip.setPixelColor (11, 0, 0, բ);
strip.show ();}
ուշացում (1000);
համար (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();
}
// սերիական վրիպազերծման համար
Serial.print (ժամային ժամ, DEC);
Serial.print (':');
Serial.print (րոպե, DEC);
Serial.print (':');
Serial.println (երկրորդ կարգ, DEC);
}
դատարկ կետ (uint32_t գ, uint8_t սպասել) {
համար (int j = 0; j <3; j ++) {
համար (int i = 0; i <12; i ++) {
strip.setPixelColor (i, c);
strip.show ();
ուշացում (սպասել);
համար (int i = 0; i <12; i ++) {
strip.setPixelColor (i, 0, 0, 0);
strip.show ();}
}
}
}
Քայլ 5: Դանիական նավթ
Վերջնական և ընտրովի քայլը փայտի վրա դանիական յուղ քսելն է: Ինձ իսկապես դուր է գալիս, թե ինչպես է այն հանում հատիկը, ինչպես նաև այն որոշակի պաշտպանություն է տալիս բծերից և խոնավությունից: Այսպիսով, ես բարձր եմ խորհուրդ տալիս:
Դուք կարող եք այն քսել, կամ ես պարզապես հին կտոր եմ մաքրում այն:
Մնում է միայն այն միացնել և վայելել:
Խորհուրդ ենք տալիս:
Ինչպես պատրաստել անալոգային ժամացույց և թվային ժամացույց Led Strip- ով `օգտագործելով Arduino: 3 քայլ
Ինչպես պատրաստել անալոգային ժամացույց և թվային ժամացույց Led Strip- ով Arduino- ի միջոցով. Այսօր մենք պատրաստելու ենք անալոգային ժամացույց & Թվային ժամացույց Led Strip- ով և MAX7219 Dot մոդուլով Arduino- ով: willամանակը կուղղի տեղական ժամային գոտու հետ: Անալոգային ժամացույցը կարող է օգտագործել ավելի երկար LED ժապավեն, այնպես որ այն կարող է կախվել պատից ՝ արվեստի գործ դառնալու համար
Կենսաթոշակային ժամացույց / հաշվել / Dn ժամացույց ՝ 4 քայլ (նկարներով)
Կենսաթոշակային ժամացույց / Count Up / Dn ockամացույց. Ես դարակում ունեի այս 8x8 LED dot-matrix ցուցադրումներից մի քանիսը և մտածում էի, թե ինչ անել դրանց հետ: Ոգեշնչված այլ հրահանգներով, ես գաղափար ստացա կառուցել հետհաշվարկի/վերևի ցուցադրում `հետ հաշվելու համար մինչև ապագա ամսաթիվը/ժամը և եթե նպատակային ժամանակը պ
Arduino- ի վրա հիմնված ժամացույց ՝ օգտագործելով DS1307 իրական ժամանակի ժամացույց (RTC) մոդուլ և 0.96: 5 քայլ
Arduino- ի վրա հիմնված ժամացույց ՝ օգտագործելով DS1307 Իրական ժամանակի ժամացույց (RTC) մոդուլ և 0.96. Բարև տղերք, այս ձեռնարկում մենք կտեսնենք, թե ինչպես պատրաստել աշխատանքային ժամացույց ՝ օգտագործելով իրական ժամանակի DS1307 ժամացույցի մոդուլ և AMP; OLED էկրաններ: Այսպիսով, մենք կկարդանք ժամանակը ժամացույցի մոդուլից DS1307: Եվ տպեք այն OLED էկրանին
C51 4 բիթանոց էլեկտրոնային ժամացույց - փայտյա ժամացույց ՝ 15 քայլ (նկարներով)
C51 4 բիթանոց էլեկտրոնային ժամացույց - Փայտե ժամացույց. Այս հանգստյան օրերին որոշ ժամանակ ունեի, այնպես որ առաջ գնացի և հավաքեցի այս 2.40 ԱՄՆ դոլար արժողությամբ 4 -բիթանոց DIY էլեկտրոնային թվային ժամացույցը, որը ես գնել էի AliExpress- ից քիչ առաջ
Կառուցեք իսկական զանգակահարիչ ժամացույց ձեր համակարգչի համար և կրակմարիչին հարվածող ժամացույց. 3 քայլ (նկարներով)
Կառուցեք իսկական զանգակ հարվածող ժամացույց ձեր համակարգչի համար և կրակմարիչին հարվածող ժամացույց. Փողային զանգ, մի փոքր ռելե և ևս մի քանի իր իսկական զանգը կարող է ժամերը հարվածել ձեր աշխատասեղանին: Թեև այս նախագիծը գործում է Windows և Mac համակարգիչների վրա: OS X- ը նաև, ես որոշեցի տեղադրել Ubuntu Linux- ը աղբարկղում գտած համակարգչի վրա և աշխատել դրա վրա. Ես երբեք չէի