Mundarija:

7 segmentli soat: 4 qadam (rasmlar bilan)
7 segmentli soat: 4 qadam (rasmlar bilan)

Video: 7 segmentli soat: 4 qadam (rasmlar bilan)

Video: 7 segmentli soat: 4 qadam (rasmlar bilan)
Video: Xamdam Sobirov - Rafiqasi bilan raqsga tushdi 2024, Noyabr
Anonim
Image
Image
7 segmentli soat
7 segmentli soat
7 segmentli soat
7 segmentli soat

Bir necha yil ishlatilgandan so'ng, mening analog soatlarim aniq o'lik bo'lsa.

Ayni paytda men Prusa -da chop etish uchun 3d soatli loyihani qidirayotgan edim, shuning uchun ws2812 led va Arduino boshqaradigan 7 segmentli soatni topdim.

Men o'yladimki, bu LEDlarning kuchi - ranglarning katta assortimentini ko'rsatish, keyin savol: raqamli soatlarda bir nechta ranglarni qanday birlashtirish mumkin?

Keyin soatni quyidagi xususiyatlar bilan sozlash g'oyasi:

- 7 xil daqiqali o'zgarish

- Vaqt oralig'i uchun oldindan o'rnatilgan 3 ta rang

- atrofdagi yorug'lik intensivligi avtomatik xira

- vaqtni ko'rsatishning hojati bo'lmaganida avtomatik o'chirish/ishga tushirish

- yozgi vaqtni avtomatik sozlash

Ta'minotlar

Loyihani 3D printer yordamida yoki 7 segmentli soatlar loyihalarida googling yordamida bajarish mumkin. Kimdir ularni kartondan ham yasagan.

Bundan tashqari, kerak:

  • Arduino nano
  • foto chell
  • lahzali tugma
  • yoqish/o'chirish tugmasi
  • DC vilkasi
  • 5V transformator
  • n ° 30 WS2812 chiroqlar (model 30 led/metr)
  • pcb
  • DS3231 moduli
  • LEDlarni ulash uchun ingichka kabellar
  • qarshilik 10K, 550
  • lehim
  • elim
  • otlar
  • sarlavhalar erkak/ayol

1 -qadam: Chop etish va simlarni ulash …

Bosib chiqarish va simlarni ulash …
Bosib chiqarish va simlarni ulash …
Bosib chiqarish va simlarni ulash …
Bosib chiqarish va simlarni ulash …
Bosib chiqarish va simlarni ulash …
Bosib chiqarish va simlarni ulash …

Thingverse -dagi asl loyiha biroz o'zgartirilgan. (Foydalanuvchi random1101 tufayli)

Ikki nuqta loyiha uchun ishlatilgan LED versiyasiga mos ravishda kattalashtirildi. Uchta orqa qopqoqdan bittasi pcb ga mos ravishda o'zgartirildi. Soat bazasi ham o'zgartirildi.

Asosiy ish - lampalarni lehimlash. Birinchidan, men LEDlarni 3d bosma raqamli orqa qopqoqdan tashqarida lehimlashni davom ettirdim, keyin unga joylashtirdim.

Chapdan boshlanadigan birinchi raqamning 7 -chizig'i keyingi raqamning birinchi chizig'iga ulanadi. 4 -raqamning oxirida ikkita nuqta LEDni ulang, ular ketma -ketlikda 28 va 29 raqamlar bilan yoziladi.

Boshqaruv ketma -ketligini ba'zi parametrlarni Arduino kutubxonasiga o'zgartirish orqali o'zgartirish mumkin.

Ulanganidan so'ng, ishlarning aksariyati bajarildi.

2 -qadam: tenglikni yig'ish

PCB yig'ish
PCB yig'ish
PCB yig'ish
PCB yig'ish
PCB yig'ish
PCB yig'ish
PCB yig'ish
PCB yig'ish

Endi kompyuterni yig'ish vaqti keldi, u erda ba'zi rezistorlar, sarlavhalar va hokazolarni lehimlaydi. Arduino -ni ulash uchun komponentlar:

Ichki tortish qarshiligi bilan Arduino pin 3 va GND o'rtasida bog'langan tugma.

Yorug'lik sensori Arduino pin A7 va GND o'rtasida kuchlanish bo'luvchi sifatida ulangan. A7 va +5V oralig'ida 10K qarshilik qo'shing …

+5V va A7 pinli yorug'lik sensori va A/ pin va GND o'rtasida 10K qarshilik

DS3231 moduli i2c va SQW pin orqali Arduino uzilish pimi 2 ga ulangan

5 pinli 550 ohmli rezistorga ulangan chiroqlar.

3 -qadam: eskiz

Eskiz ichida amalga oshirilishi mumkin bo'lgan ko'plab sozlashlar mavjud.

Kunduzgi vaqtni tejaydigan kutubxona TimeChangeRule parametrlari bilan ishlaydi, qo'shimcha ma'lumot uchun Github -dagi JChristensen kutubxonasiga qarang.

Loop ichidagi avtomatik o'chirish o'zgarmaydigan int gotosleep tomonidan boshqariladi. Mening holatimda 0:00 da Arduino uyqu rejimiga o'tadi, keyin soat o'chadi.

DS3231 modulida ALOT signalizatsiyasini int gotosleep o'zgaruvchan orqali o'rnatish, Arduino -ga uyqu rejimidan uyg'onishga imkon beradi. Mening holatimda, ertalab soat 7:00 da.

Yana bir xususiyat - kunduzi soat ichidagi funktsiyani o'zgartirish:

void printDateTime (time_t t, const char *tz)

Mening sozlamalarimda soat 0:00 dan 12:00 gacha vaqt qizil rangda, 12:00 dan 17:00 gacha yashil va 17:00 dan 0:00 gacha asosan ko'k rangda ko'rsatilgan. Bu oq devor bilan yaxshi farq qilish uchun hozirgacha topilgan ranglarning eng yaxshi muvozanati.

O'tish xususiyati daqiqalar o'zgarganda ranglarning jonli o'tishiga imkon beradi. Vaqt tugmachasini bosish orqali 6 xil variantni tanlash mumkin, 7 -variant - o'tishsiz. Menga yoqadigan narsa newrandom () deb nomlangan, bu oldindan o'rnatilgan (int mode = 1;).

Led ketma -ketligi bilan mos kelishi uchun kutubxonaga ba'zi o'zgartirishlar kiritdim. Segment_display.cpp faylining oxirida (i) tugmachasini bosib, siz ketma -ketlikni o'zgartirishingiz mumkin. Ish tugagandan so'ng, faylni ichkariga almashtiring

/Arduino/kutubxonalar/7segment_NeoPixel-master

Kutubxonalar talab qilinadi:

  • avr. uxlash
  • segment_tasvir
  • DS3231
  • TimeLib
  • Tel
  • Adafruit NeoPixel
  • Vaqt zonasi

4 -qadam: Xayrlashish vaqti keldi

Menga bu soat yoqadi, hozirgi vaqt uzoqdan aniq ko'rinadi va menga kerak bo'lmaganda o'chadi.

Qanday qilib soatdan ko'proq narsani so'rash mumkin?

Tavsiya: