Բովանդակություն:

7 հատվածի ժամացույց. 4 քայլ (նկարներով)
7 հատվածի ժամացույց. 4 քայլ (նկարներով)

Video: 7 հատվածի ժամացույց. 4 քայլ (նկարներով)

Video: 7 հատվածի ժամացույց. 4 քայլ (նկարներով)
Video: Ինչպես օգտագործել TM1637 4 թվանշանով յոթ հատվածի ցուցադրումը Arduino- ի հետ 2024, Նոյեմբեր
Anonim
Image
Image
7 հատվածի ժամացույց
7 հատվածի ժամացույց
7 հատվածի ժամացույց
7 հատվածի ժամացույց

Մի քանի տարի օգտագործելուց հետո անալոգային ժամացույցս վերջնականապես մեռած է:

Մինչդեռ ես փնտրում էի 3d ժամացույցի նախագիծ ՝ իմ Prusa- ով տպելու համար, ուստի գտա 7 սեգմենտ ժամացույց, որը պետք է առաջնորդվեր ws2812 leds- ով և Arduino- ով:

Ես մտածեցի, որ այդ լուսարձակների ուժը գույների մեծ տեսականի ցույց տալն է, այնուհետև հարցն այն էր, թե ինչպես կարելի է համատեղել բազմաթիվ գույները թվային ժամացույցի վրա:

Հետո ժամացույցը հարմարեցնելու գաղափարը հետևյալ հատկանիշներով.

- 7 տարբեր րոպեափոխության անցումներ

- 3 նախապես կարգավորված գույն ժամանակային անցքերի համար

- շրջակա լույսի ինտենսիվության ավտոմատ խամրում

- ավտոմատ անջատում/գործարկում, երբ ժամանակը ցույց տալու կարիք չկա

- ավտոմատ ցերեկային ժամի ճշգրտում

Պարագաներ

Նախագիծը կարող է իրականացվել 3D տպիչի միջոցով կամ googling- ով 7 հատվածի ժամացույցների նախագծերի համար: Ինչ -որ մեկը դրանք պատրաստել է նաև ստվարաթղթից:

Կարիք կա նաև.

  • Արդուինո նանո
  • լուսանկար Չելլ
  • վայրկյանական կոճակ
  • միացման/անջատման անջատիչ
  • DC վարդակից
  • 5 Վ տրանսֆորմատոր
  • n ° 30 WS2812 լուսարձակներ (մոդել 30 լուսարձակներ/մետր)
  • հատ
  • DS3231 մոդուլ
  • բարակ մալուխներ led- ների միացման համար
  • ռեզիստորներ 10K, 550
  • զոդման
  • սոսինձ
  • ցատկողներ
  • վերնագրեր արական/իգական

Քայլ 1: Տպագրություն և լարերի տեղադրում…

Տպագրություն և էլեկտրամոնտաժ …
Տպագրություն և էլեկտրամոնտաժ …
Տպագրություն և էլեկտրամոնտաժ …
Տպագրություն և էլեկտրամոնտաժ …
Տպագրություն և էլեկտրամոնտաժ …
Տպագրություն և էլեկտրամոնտաժ …

Thingverse- ի սկզբնական նախագիծը փոքր -ինչ փոփոխվել է: (Օգտվողի շնորհիվ random1101)

Երկու կետերն ընդլայնվեցին `այս նախագծի համար օգտագործվող led տարբերակին համապատասխանելու համար: Երեք հետևի կափարիչներից մեկը նույնպես փոփոխվել է `համապատասխանեցնելով pcb- ին: Փոխվել է նաև ժամացույցի բազան:

Հիմնական աշխատանքը լապտերների զոդումն է: Սկզբում ես շարունակեցի եռակցման լուսարձակներ եռաչափ տպիչ թվանշանի հետևի ծածկից դուրս, այնուհետև տեղադրեցի դրա մեջ:

Ձախից սկսած առաջին թվանշանի 7 -րդ led- ը կկապվի հաջորդ թվանշանի առաջին led- ի հետ: 4 -րդ թվանշանի վերջում միացրեք երկու կետերի լուսարձակները, դրանք հաջորդականության ներքո համարակալված կլինեն 28 և 29 համարներով:

Առաջնորդվող հաջորդականությունը կարող է փոփոխվել ՝ որոշ պարամետրեր փոխելով Arduino գրադարանի, ինչպես նկարագրված է ստորև:

Միանալուց հետո աշխատանքի մեծ մասն արդեն կատարված է:

Քայլ 2: PCB- ի հավաքում

PCB հավաքում
PCB հավաքում
PCB հավաքում
PCB հավաքում
PCB հավաքում
PCB հավաքում
PCB հավաքում
PCB հավաքում

Այժմ ժամանակն է հավաքել համակարգիչ, որտեղ կպցնել որոշ դիմադրիչներ, վերնագրեր և այլն: Arduino- ն միացնելու բաղադրիչներն են.

Pushbutton- ը միացված է Arduino- ի 3-րդ կապի և GND- ի միջև `ներքին քաշվող դիմադրիչով:

Լույսի ցուցիչ, որը միացված է որպես լարման բաժանարար, Arduino pin A7- ի և GND- ի միջև: Ավելացրեք նաև 10K դիմադրություն A7- ի և +5V- ի միջև ……… ՄԵIG ՍԽԱԼ

լույսի ցուցիչ +5V և A7 պինների միջև և 10K դիմադրություն A/ pin- ի և GND- ի միջև

DS3231 մոդուլը i2c- ի և SQW կապի միջոցով միացված է Arduino ընդհատման 2 -րդ կապին

Լեդեր, որոնք միացված են 5 -ից 550 Օմ դիմադրիչի հետ:

Քայլ 3: Էսքիզ

Կան բազմաթիվ հարմարեցումներ, որոնք կարող են կատարվել ուրվագծի ներսում:

Dayերեկային ժամերի պահպանման գրադարանը մշակվում է TimeChangeRule պարամետրերով: Լրացուցիչ տեղեկությունների համար տե՛ս JChristensen գրադարանը Github- ում:

Օղակի ներսում ավտոմատ անջատումը կարգավորվում է փոփոխական int gotosleep- ով: Իմ դեպքում 0: 00 -ին Arduino- ն անցնում է քնի ռեժիմի, այնուհետև ժամացույցը անջատվում է:

Տեղադրելով ALARM- ը DS3231 մոդուլի վրա `փոփոխական int gotosleep- ի միջոցով, թույլ տվեք Arduino- ին արթնանալ քնի ռեժիմից: Իմ դեպքում `առավոտյան 7: 00 -ին:

Մեկ այլ առանձնահատկությունն այն է, որ օրվա ընթացքում ժամացույցի գույնը փոխել գործառույթի ներսում.

void printDateTime (time_t t, const char *tz)

Իմ պարամետրերում ժ. Սա լավագույն գույների հավասարակշռումն է, որը մինչ այժմ գտնվել է լավ հակադրության հետևի սպիտակ պատի հետ:

Անցումների գործառույթը թույլ է տալիս ունենալ անիմացիոն գույնի անցում րոպեափոխության ժամանակ: Գոյություն ունեն 6 տարբերակներ, որոնք կարող են ընտրվել պահի կոճակը սեղմելով, 7 -րդ տարբերակն առանց անցումների է: Ինձ դուր եկածը կոչվում է newrandom (), որը նախապես որոշված է (int ռեժիմ = 1;):

Ես որոշ փոփոխություններ եմ կատարել գրադարանում led հաջորդականության հետ համատեղելիության համար: Ներսում segment_display.cpp ֆայլի ներսում, վերջում, անջատիչով (i) կարող եք փոփոխել ձեր led հաջորդականությունը: Ավարտելուց հետո փոխարինեք ֆայլը ներսում

/Arduino/libraries/7segment_NeoPixel-master

Պահանջվող գրադարաններ.

  • avr.sleep
  • հատվածի_ցուցադրում
  • DS3231
  • TimeLib
  • Մետաղալար
  • Adafruit NeoPixel
  • Ժամային գոտի

Քայլ 4: It'sամանակն է հրաժեշտ տալու

Ինձ դուր է գալիս այս ժամացույցը, ընթացիկ ժամանակը հստակ տեսանելի է հեռվից և այն անջատվում է, երբ ինձ պետք չէ:

Ինչպե՞ս կարող է ավելին պահանջել ժամացույցից:

Խորհուրդ ենք տալիս: