Мазмуну:

Bright Controllable Sunrise Lamp: 6 кадам
Bright Controllable Sunrise Lamp: 6 кадам

Video: Bright Controllable Sunrise Lamp: 6 кадам

Video: Bright Controllable Sunrise Lamp: 6 кадам
Video: Best Smart Light Bulbs 2023 [don’t buy one before watching this] 2024, Июль
Anonim
Күндүн чыгышын көзөмөлдөгөн жарык чырак
Күндүн чыгышын көзөмөлдөгөн жарык чырак
Күндүн чыгышын көзөмөлдөгөн жарык чырак
Күндүн чыгышын көзөмөлдөгөн жарык чырак

Сиз жумушта ойгонушуңуз керек болгон кадимки саат 7де ойгонуп, караңгылыкка түшүп калдыңыз беле? Кыш - коркунучтуу мезгил, туурабы? Сиз түн ортосунда ойгонушуңуз керек (антпесе эмне үчүн караңгы?), Төшөктөн жулунуп, жарым -эсиңизди душка жөнөтүңүз.

Бул долбоор көйгөйлөрдүн бирин - таңкы караңгылыкты чечүүгө багытталган.

Айланасында көптөгөн арзан күн чыгуучу лампалар бар, бирок алардын бардыгы кубаты аз жана кубарып турат. Алар түнкү чыракка окшош, бул сизди жакшы уктай алат. Мен каалагандай эмес.

Ошол эле учурда, жарыкты күйгүзүү сизди дароо ойготот, бирок акырындык менен жетиштүү эмес. Мен каалаган эки ыкманын айкалышын каалайм - аз жарыктык менен жарыктандыруу, акырындык менен толук ылдамдыкка жетүү, андан кийин чыныгы ойготкуч өчөт жана сиз мындан ары уктай албайсыз. Келгиле, ага бир аз чымчыктардын ырын кошобуз, жана сиз күн сайын эртең менен асманда ойгоносуз!

1 -кадам: Лампа массиви

Лампа массиви
Лампа массиви
Лампа массиви
Лампа массиви

Биринчи кезекте бизге чырактын өзү керек. Менде ак дубалдары жана шыптары бар абдан чоң бөлмө бар, ошондуктан мен 7 GU10 LED лампаларын, ар бири 6W, 40Wтан ашык таза күчкө бардым! Бул күндүз болуп калганын сезүү үчүн жетиштүү. Ошондой эле ал күндүз бөлмөнүн кадимки жарыктандыруусу катары колдонулушу мүмкүн.

Аны кантип чогултуңуз, кайсы лампаларды кайсы розеткалар менен колдонгонуңуз маанилүү эмес. Баары маанилүү - бул жарыксыз лампалар болушу керек!

Менин учурда, менде 7 GU10 розеткасы бар жыгач тактай бар, бардыгы бириктирилген. Мен аны кийин пластикалык кутуга салып коем.

2 -кадам: Караңгылатуу теориясы

Караңгылатуу теориясы
Караңгылатуу теориясы

Теорияда теория менен практиканын ортосунда эч кандай айырма жок. Практикада бар.

ESP32/Arduino диммерин башкаруу мен ойлогондой жөнөкөй эмес көрүндү. Мен RobotDyn AC Light Dimmer модулдарынын бирин алдым. Өндүрүүчү бул үчүн китепкана сунуштайт. Бул ESP32де иштебейт (жана адаптациялоо өтө кыйын, анткени ал төмөн деңгээлдеги ATMega спецификалык реестрге кирүү мүмкүнчүлүгүн колдонот), Arduino Nano боюнча чыгармалар, орточо жарыктыкта коркунучтуу жаркылдатып. Ошон үчүн мен мунун баары кантип иштээрин иликтеп, өз жолумду тандадым.

Бир аз теория

Тандалган dimmer модулу абдан популярдуу TRIAC колдонот: BTA16. Бул тууралуу көптөгөн макалалар бар. Мен муну бул жерде жалпылоого аракет кылам.

TRIAC - бул киришке оң же терс чыңалуусун өткөрө турган же аны блокировкалоочу модуль. Демейки боюнча, ал баарын бөгөйт. Аны ачуу үчүн, биз ага 100 бизге дарбазанын киришине жогорку сигнал беришибиз керек. Андан кийин ал ток нөлгө түшмөйүнчө ачык бойдон калат, бул кирүү чыңалуусу белгини өзгөрткөндө, нөлдүк чыңалуудан өтөт. Андан кийинки циклде биз дагы 100 бизге импульс кылышыбыз керек ж.б. Импульсту качан берүү керектигин тандоо менен, биз жарыкты көзөмөлдөйбүз: муну эң башында жасаңыз, ал 100% электр өткөрүмүнө жакын болот. Кийинчерээк жасаңыз, ал күңүрт болот. Аны түшүндүрүп, жогорудагы диаграмманы карап көрүңүз.

Циклдин бир эле жеринде импульстарды пайда кылуу үчүн, анын качан башталарын так билишибиз керек. Ошол себептен диммер модулунда Zero-Cross детектору орнотулган. Бул жөн гана сигналды көтөрөт (биз аны Arduinoдо аппараттык үзгүлтүккө учуратабыз), чыңалуу нөлдөн өткөндө.

3 -кадам: Караңгылатуу практикасы

Караңгылатуу практикасы
Караңгылатуу практикасы

Ооба, эгер сиз чырагыңыздын күчү өчпөсө жана 40 Вт күчтү уйкучу көзүңүзгө салса, сиз ушинтип ойгонот элеңиз.

Жалпы маселелер

Биз чечишибиз керек болгон көптөгөн маселелер бар.

Жаркыроо.

Микроконтроллердин убактысы дарбазанын чыгышын күйгүзүү жана өчүрүү боюнча так болушу керек. RobotDyn китепканасы сунуштайт, ар бир 100us таймер үзгүлтүккө учурайт жана дарбазанын деңгээлин таймерде гана өзгөртөт. Бул оптималдуу мааниде +/- 50 микросекунд болушу мүмкүн дегенди билдирет. Бул жогорку жарыктыкта жакшы натыйжа берет, бирок төмөн жарыкта көп жылтылдайт. Ошондой эле, эгерде микроконтроллер көп нерселерди жасаса, убакыт тактыгын төмөндөтөт, андыктан диммер үчүн атайын микроконтроллер колдонулушу керек.

Жарыктын минималдуу жарыгы. Элдордо жетиштүү кубаты жок иштөөдөн баш тарткан камтылган кубат алмаштыргыч бар. Менин лампаларым 10-11%дан баштап жакшы иштейт окшойт.

Бул мааниде да, менин кээ бир лампаларым күйгүзүүдөн баш тартышты. Кийинчерээк жарыктыгын жогорулатканда да, алар караңгы бойдон калышат. Мына ошондуктан, биз OFF абалынан кандайдыр бир оң жарыктыкка өткөндө, лампаларга толук кубат бергенде, биз 5 циклдин жылуу мезгилинен баштайбыз. Андан кийин биз каалаган жарыктык менен уланта беребиз. Бул дээрлик байкалбайт, бирок чындап жардам берет.

50/60 Гц тармактын жыштыгы. Кийинки нөлгө чейин канча күтүү керек экенин билишиңиз керек. Бул абдан жөнөкөй - биз акыркы эки үзгүлтүктүн ортосундагы убакыт айырмасын карайбыз.

Бара -бара жарыктыктын өзгөрүшү. Мына ошондуктан, ал сериялык порттон жаңы жарыктыкты алганда, максатты гана коет, анан убакыттын өтүшү менен ага акырындык менен жакындайт.

Чечим

Мына диммер үчүн менин жөнөкөй Arduino кодум. Ал сериялык киргизүүдөн буйрукту күтөт (жаңы жарыктык менен бир байт), Zero-Cross үзгүлтүктөрүн башкарат, TRIACти көзөмөлдөйт, жогорудагы бардык маселелерди чечет.

4 -кадам: Чырак контроллери (ESP32)

Чырак контроллери (ESP32)
Чырак контроллери (ESP32)
Чырак контроллери (ESP32)
Чырак контроллери (ESP32)

Бул жерде мендеги бардык компоненттердин байланыш схемасы. ESP32 тактасы мен колдонгондон (Heltec) такыр башкача, ошондуктан тандалган казыктар бир аз кызыктай көрүнөт, бирок ал дагы деле жакшы иштеши керек. Долбооруңузда ар кандай казыктарды колдонуңуз.

Бул жерде баарын көзөмөлдөгөн код бар. Бул абдан түз.

Негизги өзгөчөлүктөрү

Чырак WiFiга туташат, 81 -портунда WebSocket серверин баштайт, буйруктарды күтөт.

Азырынча эки гана буйрук колдоого алынат: "set_brightness" жана "update_settings", алар өзүн өзү сүрөттөп турат.

NTPден убакыт алуу. Мен нерселерди өтө татаалдаштырып, схемага реалдуу убакыт саатын кошкум келбейт. Бизде Интернетке кирүү мүмкүнчүлүгү бар, башкача айтканда, биз реалдуу убакытты кээ бир NTP серверинен алып, андан кийин системанын таймерлерин колдонуу менен учурдагы убакытты көзөмөлдөй алабыз.

Sunrise Alarm. Сиз бир ойготкучту коё аласыз. Ал чынында эмне кылат: минималдуу жаркыроодон башталат жана акырындык менен 10 мүнөттөн кийин толук жарыктыкка өтөт. Андан кийин ал бир нече саат бою калат. Анан акырындык менен 60 секунддан кийин өчөт.

Жогорудагы бардык параметрлер конфигурацияланат.

Birds сайрайт. DFPlayer мини музыка ойноо үчүн колдонулат. Бул үчүн көптөгөн колдонмолор бар, бирок негизи сизге 0001.mp3 деп аталган бир файл менен FAT32 форматталган MicroSD картасын туташтыруу керек. Бул файл сизге жаккан нерсеге ээ болушу мүмкүн, менин учурда бул 15 мүнөт чымчыктардын ырдаганы (ал илинет), жана менин таңымды таң калтырат. Бийликте чоң конденсатор бар экенин жана 1 сериялык линияда 1 кОм резисторлор бар экенин эске алыңыз. ESP32 жана DFplayer - алар милдеттүү эмес, бирок ызы -чууну басаңдатууга жардам берет.

Орнотууларды EEPROMдо сактоо. Бардык орнотуулар EEPROMго жазылып, башталышында жүктөлөт. Бул чыракты контролер туташпастан жок дегенде сигнализация менен колдонууга мүмкүндүк берет.

OLED экранына кээ бир маалыматты көрсөтүү. My Heltec ESP32де камтылган SSD1306 128X64 I2C экраны бар. Билем, кутуча начар көрүнөт, мен кээ бир нерселерди 3D басып чыгардым жана тешиктер менен терезелерди бургулоо менен кесип алдым. Тез, кир, бирок ал иштейт!

5 -кадам: Control Panel

Control Panel
Control Panel
Control Panel
Control Panel

Бул долбоордун жүрөгү. Оригиналдуу 7 дисплейи бар Raspberry Pi, кээ бир Kivy фронтторун иштетет.

Бул жерде толук код бар.

Өзгөчөлүктөр

Мен Kivyди жакшы көрөм, бул колдонуучу интерфейстери үчүн Python алкагы. Абдан жөнөкөй, бирок ийкемдүү жана эффективдүү (жогорку иштөө жана аппараттык ылдамдатуу үчүн ичинде көптөгөн C кодун колдонот).

Аба ырайы. Учурдагы температураны жана кысымды сыртта көрсөтүңүз. Эгерде сиз алыскы сенсорду туташтырсаңыз - ички температура, ошондой эле кийинки 12 саатта аба ырайынын божомолун сурайт жана талдайт жана жамгырдын ыктымалдуулугу жөнүндө кеңеш берет.

SunriseLamp controller. Another панели ойготкуч жөнүндө кээ бир негизги маалыматтарды көрсөтөт жана жарыктыгын тууралоого мүмкүндүк берет. Орнотууларга барсаңыз, чырактын каалаган параметрин, анын ичинде ойготкучтун графигин, аудионун максималдуу көлөмүн ж.б.

Screensaver. Renders Жашоо оюну бир нече убакыт иштебегенден кийин экранда.

Мурда андан көп болгон, бирок башка нерселер пайдасыз болуп көрүнгөн.

Орнотуу

Мен баарын Raspbianга кол менен орноттум, эми айта алам: менин каталарымды кайталаба. KivyPie колдонуңуз, анда баары алдын ала орнотулган.

Мындан тышкары, жөн эле код репозиторийиндеги орнотуу көрсөтмөсүн аткарыңыз.

6 -кадам: ырахат алыңыз

Жеке мен аппарат менен бактылуумун. Мен аны күндүз үйдө негизги жарык катары колдоном жана эртең менен ойгонууга мүмкүнчүлүк берет, бул укмуш.

Билем, көрсөтмөлөр анча чоң эмес жана сүрөттөмө. Эгерде кимдир бирөө ушул эле нерсени жасаса жана көйгөйлөр болсо - мен жардам берүүгө кубанычтамын!

Сунушталууда: