Мазмұны:

7 сегменттік сағат: 4 қадам (суреттермен)
7 сегменттік сағат: 4 қадам (суреттермен)

Бейне: 7 сегменттік сағат: 4 қадам (суреттермен)

Бейне: 7 сегменттік сағат: 4 қадам (суреттермен)
Бейне: 장수 비결 72강. 장수 비결과 천·꼭·소의 비밀, 256세 살아보기. Secrets of longevity and how to live to 256 years old. 2024, Шілде
Anonim
Image
Image
7 сегменттік сағат
7 сегменттік сағат
7 сегменттік сағат
7 сегменттік сағат

Бірнеше жыл қолданғаннан кейін менің аналогтық сағатым біржола өлді.

Мен Prusa -мен басып шығаратын 3d сағаттық жобаны іздедім, сондықтан мен ws2812 leds және Arduino басқаратын 7 сегментті сағатты таптым.

Мен бұл жарықдиодтардың күші түстердің үлкен диапазонын көрсету деп ойладым, содан кейін сандық сағаттарда бірнеше түстерді қалай біріктіруге болады?

Содан кейін сағатты келесі мүмкіндіктермен теңшеу идеясы:

- 7 түрлі минуттық ауысулар

- Уақыт аралығы үшін алдын ала орнатылған 3 түс

- қоршаған ортаның жарық қарқындылығы автоматты түрде өшеді

- уақытты көрсету қажет болмаған кезде автоматты түрде өшіру/бастау

- жазғы уақытты автоматты реттеу

Жабдықтар

Жобаны 3D принтер көмегімен немесе 7 сегментті сағаттарға арналған гуглингпен орындауға болады. Біреу оларды картоннан да жасаған.

Сонымен қатар қажет:

  • Ардуино нано
  • фотосурет
  • лездік батырмалар
  • қосу/өшіру қосқышы
  • Тұрақты ток ашасы
  • 5В трансформатор
  • n ° 30 WS2812 светодиодтар (модель 30 лед/метр)
  • pcb
  • DS3231 модулі
  • жарықдиодты қосуға арналған жұқа кабельдер
  • резисторлар 10K, 550
  • дәнекерлеу
  • желім
  • секірушілер
  • тақырыптар ерлер/әйелдер

1 -қадам: Басып шығару және сымдар …

Басып шығару және сымдар…
Басып шығару және сымдар…
Басып шығару және сымдар…
Басып шығару және сымдар…
Басып шығару және сымдар…
Басып шығару және сымдар…

Thingverse -тегі бастапқы жоба сәл өзгертілген. (User1101 арқасында)

Екі нүкте осы жобада қолданылатын нұсқаға сәйкес келу үшін үлкейтілді. Үш артқы қақпақтың біреуі компьютерге сәйкес келу үшін өзгертілді. Сағат базасы да өзгерді.

Негізгі жұмыс - шамдарды дәнекерлеу. Алдымен мен светодиодты 3d басып шығару цифрының сыртында дәнекерлеуді бастадым, содан кейін оған кірістірдім.

Сол жақтан басталатын бірінші цифрдың 7 -ші жолағы келесі цифрдың бірінші жолағына қосылады. 4 -ші цифрдың соңында екі нүктелік жарықдиодты жалғаңыз, олар тізбектің ішінде 28 және 29 нөмірлі болады.

Жетекші тізбекті кейбір параметрлерді Arduino кітапханасына өзгерту арқылы өзгертуге болады.

Қосылғаннан кейін жұмыстың көп бөлігі орындалды.

2 -қадам: ПХД құрастыру

ПХД құрастыру
ПХД құрастыру
ПХД құрастыру
ПХД құрастыру
ПХД құрастыру
ПХД құрастыру
ПХД құрастыру
ПХД құрастыру

Енді компьютерді жинаудың уақыты келді, онда резисторлар, тақырыптар және т.

Ішкі тартқыш резисторы бар Arduino pin 3 пен GND арасында қосылған түйме.

Жарық сенсоры кернеу бөлгіш ретінде қосылған, Arduino пин A7 мен GND арасында. Сондай -ақ A7 мен +5V арасындағы 10K резисторды қосыңыз ……… ҚАТЕ

+5V және A7 түйреуіштері арасындағы жарық сенсоры және A/ pin мен GND арасындағы 10K резистор

DS3231 модулі i2c және SQW түйреуіші арқылы Arduino үзіліс істігіне 2 қосылған

5 -ші сымнан 550 Ом резисторға қосылған светодиодтар.

3 -қадам: Эскиз

Эскиздің ішінде жасауға болатын көптеген теңшелімдер бар.

Күндізгі уақытты сақтау кітапханасы TimeChangeRule параметрлерімен өңделеді, қосымша ақпарат алу үшін Github бойынша JChristensen кітапханасын қараңыз.

Цикл ішіндегі автоматты өшіруді айнымалы int gotosleep басқарады. Менің жағдайда 0: 00 -де Ардуино ұйқы режиміне өтеді, содан кейін сағат өшеді.

DS3231 модулінде ALARM параметрін int gotosleep айнымалысы арқылы орнату Arduino -ға ұйқы режимінен оянуға мүмкіндік береді. Менің жағдайда таңғы сағат 7: 00 -де.

Тағы бір ерекшелігі - функцияның ішінде күндізгі уақытта түс түсін өзгерту:

жарамсыз printDateTime (time_t t, const char *tz)

Менің параметрлерімде сағат 0: 00 -ден 12: 00 -ге дейін уақыт қызыл түспен көрсетіледі, 12: 00 -ден 17: 00 -ге дейін жасыл және 17: 00 -ден 0: 00 -ге дейін, негізінен көк. Бұл ақ қабырғаға жақсы қарама -қарсы болу үшін осы уақытқа дейін табылған ең жақсы түс теңгерімі.

Өтпелі мүмкіндіктер минут өзгерген кезде анимациялық түс ауысуына мүмкіндік береді. Лездік түймені басу арқылы таңдауға болатын 6 түрлі нұсқа бар, 7 -ші опция - ауыспау. Маған ұнайтыны newrandom () деп аталады, ол алдын ала орнатылған (int mode = 1;).

Мен LED тізбегімен үйлесімділік үшін кітапханаға кейбір өзгерістер енгіздім. Segment_display.cpp файлының ішінде, (i) ауыстырғышының көмегімен сіз өзіңіздің жетекші реттілігіңізді өзгерте аласыз. Аяқтағаннан кейін файлды ішіне ауыстырыңыз

/Arduino/library/7segment_NeoPixel-master

Қажетті кітапханалар:

  • орташа ұйқы
  • сегментте көрсету
  • DS3231
  • TimeLib
  • Сым
  • Adafruit NeoPixel
  • Уақыт белдеуі

4 -қадам: қоштасатын уақыт келді

Маған бұл сағат ұнайды, қазіргі уақыт алыстан анық көрінеді және маған қажет емес кезде ол өшеді.

Сағаттан көп нәрсені қалай сұрауға болады?

Ұсынылған: