Мазмуну:
- Жабдуулар
- 1 -кадам: Басып чыгаруу жана зым тартуу…
- 2 -кадам: PCB чогултуу
- 3 -кадам: Эскиз
- 4 -кадам: Коштошууга убакыт келди
Video: 7 Сегменттик саат: 4 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Бир нече жыл колдонгондон кийин, менин аналогдук саатым биротоло өлгөн болсо.
Ошол эле учурда мен Prusa менен басып чыгаруу үчүн 3d саатынын долбоорун издеп жүрдүм, андыктан ws2812 leds жана Arduino тарабынан башкарыла турган 7 сегменттүү саатты таптым.
Мен бул ледтердин күчү түстөрдүн кеңири спектрин көрсөтүү деп ойлодум, анда санарип саатта бир нече түстөрдү кантип бириктирүү керек?
Андан кийин төмөнкү өзгөчөлүктөр менен саатты ыңгайлаштыруу идеясы:
- 7 түрдүү мүнөттүк өзгөрүүлөр
- Убакыт тилкелери үчүн 3 алдын ала коюлган түстөр
- айланадагы жарыктын интенсивдүүлүгү автоматтык түрдө
- Убакытты көрсөтүүнүн кажети жок болгондо автоматтык түрдө өчүрүү/баштоо
- автоматтык жазгы убакытты жөнгө салуу
Жабдуулар
Долбоорду 3D принтер аркылуу же 7 сегменттүү сааттардын долбоорлору үчүн гуглинг менен аткарса болот. Кимдир бирөө аларды картон менен да жасаган.
Ошондой эле муктаждык бар:
- Arduino nano
- photo chell
- убактылуу баскыч
- күйгүзүү/өчүрүү
- DC розеткасы
- 5В трансформатор
- n ° 30 WS2812 светодиод (модель 30 лед/метр)
- pcb
- DS3231 модулу
- LED туташтыруу үчүн жука кабелдер
- резисторлор 10K, 550
- solder
- клей
- секиргендер
- аталыштар эркек/аял
1 -кадам: Басып чыгаруу жана зым тартуу…
Thingverse боюнча оригиналдуу долбоор бир аз өзгөртүлгөн. (Колдонуучуга рахмат random1101)
Эки чекит бул долбоор үчүн колдонулган LED версиясына ылайыкташтырылып чоңойтулду. Үч арткы мукабанын бири дагы pcbге ылайыкташтырылган. Саат базасы да өзгөрдү.
Негизги жумуш - ледтерди ширетүү. Биринчиден, мен ледтерди 3d принтеринин сырткы капкагынын сыртында, андан кийин ага киргиздим.
Солдон башталган биринчи цифранын 7 -лидери кийинки цифранын биринчи жетегине туташат. 4 -цифранын аягында эки чекитти кошуңуз леддер, алар тизмектин ичинде 28 жана 29 деп саналышат.
Жетектөөчү ырааттуулукту кээ бир параметрлерди Arduino китепканасына өзгөртүү менен өзгөртүүгө болот.
Туташкандан кийин, иштин көбү аткарылды.
2 -кадам: PCB чогултуу
Эми pcb чогултуу убактысы келди, анда кээ бир резисторлорду, баштарды ж.
Pushbutton Arduino pin 3 менен GNDдин ортосунда ички тартылуу каршылыгы менен туташкан.
Жарык сенсору Arduino пин A7 менен GND ортосунда чыңалуу бөлүштүргүч катары туташкан. A7 жана +5V ортосундагы 10K каршылыгын кошуу ……… ЧОН КАТА
+5V менен A7 пин ортосундагы жарык сенсору жана A/ pin менен GND ортосундагы 10K каршылыгы
DS3231 модулу i2c жана SQW пин аркылуу Arduino үзүлүү пин 2ге туташкан
Леддер 550Ohm резистору аркылуу 5 -пинге туташкан.
3 -кадам: Эскиз
Эскиздин ичинде жасала турган көптөгөн ыңгайлаштыруулар бар.
Күндүзгү убакытты сактоочу китепкана TimeChangeRule параметрлери менен иштейт, көбүрөөк маалымат алуу үчүн Githubдагы JChristensen китепканасын караңыз.
Циклдин ичинде автоматтык түрдө өчүрүү int gotosleep өзгөрмөсү тарабынан башкарылат. Менин учурда 0: 00дө Arduino уйку режимине өтөт, андан кийин саат өчөт.
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;).
Жетектөөчү ырааттуулук менен шайкеш келүү үчүн китепканага кээ бир өзгөртүүлөрдү киргиздим. Файлдын ичинде segment_display.cpp, аягында (i) которуштургуч менен сиз жетектөөчү тизмегиңизди өзгөртө аласыз. Бүткөндөн кийин файлды ичине алмаштырыңыз
/Arduino/китепканалар/7segment_NeoPixel-master
Китепканалар талап кылынат:
- avr.sleep
- сегмент_көрсөтүү
- DS3231
- TimeLib
- Зым
- Adafruit NeoPixel
- Убакыт зонасы
4 -кадам: Коштошууга убакыт келди
Мага бул саат жагат, азыркы убакыт алыстан ачык көрүнүп турат жана мага кереги жок болгондо өчөт.
Кантип сааттан көбүрөөк нерсени сураса болот?
Сунушталууда:
7 Сегменттик саат - Small Printers Edition: 9 кадам (Сүрөттөр менен)
7 Сегменттик саат - Чакан принтерлердин басылышы: Дагы 7 сегменттик саат. xDAБирок мен айтышым керек, менин Instructables профилимди көргөндө жинди көрүнбөйт. Бул, балким, менин нерселеримдин ар кандай профилине көз чаптырганда, кыжырдантат
4 цифралуу жана 7 сегменттик дисплейди колдонуу, Arduino менен: 7 кадам
4 цифралуу жана 7 сегменттик дисплейди колдонуу, Arduino менен: Бул үйрөткүчтө мен сизге ардуинону колдонуп 4 цифралуу 7 сегменттүү дисплейди кантип колдонууну көрсөтөм. Мен белгилегим келген кээ бир негизги нерселер бул ардуино уно, Леонардо, 13 дигасы бар такталардагы дээрлик бардык санарип казыктарды ээлейт
Акылдуу ойготкуч саат: Raspberry Pi менен жасалган акылдуу ойготкуч саат: 10 кадам (сүрөттөр менен)
Smart Alarm Clock: Raspberry Pi менен жасалган акылдуу ойготкуч: Сиз качандыр бир убакта акылдуу саатты кааладыңыз беле? Андай болсо, бул сиз үчүн чечим! Мен Smart Alarm Clock жасадым, бул веб -сайтка ылайык ойготкуч убактысын өзгөртө турган саат. Ойготкуч өчкөндө, үн чыгат (зумбул) жана 2 жарык күйөт
Ойготкуч саат менен DIY Smart Scale (Wi-Fi, ESP8266, Arduino IDE жана Adafruit.io менен): 10 кадам (Сүрөттөр менен)
Ойготкуч саат менен DIY Smart Scale (Wi-Fi, ESP8266, Arduino IDE жана Adafruit.io менен): Мурунку долбоорумда мен Wi-Fi менен акылдуу ванна таразасын иштеп чыккам. Ал колдонуучунун салмагын өлчөй алат, жергиликтүү түрдө көрсөтөт жана булутка жөнөтөт. Бул тууралуу кененирээк маалыматты төмөнкү шилтемеден ала аласыз: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
7 СЕГМЕНТТИК ДИГИТАЛДЫК СААТ ЖАНА ТЕРМОМЕТР: 6 кадам
7 СЕГМЕНТТИК ДИГИТАЛДЫК СААТ ЖАНА ТЕРМОМЕТР: Бул 12v 500mA адаптер менен иштейт. Белгилердин бийиктиги 57 мм, ал 24 сааттык маалыматты көрсөтөт. Убакыт жана температура маалыматтары ошол эле экранда кезектешип көрсөтүлөт. Ал саат маалыматын унутпайт эстутум аркылуу