Мазмуну:

Көк чырак жок: 4 кадам
Көк чырак жок: 4 кадам

Video: Көк чырак жок: 4 кадам

Video: Көк чырак жок: 4 кадам
Video: Суйгонум качан жолугам 2024, Ноябрь
Anonim
Көк чырак жок
Көк чырак жок
Көк чырак жок
Көк чырак жок
Көк чырак жок
Көк чырак жок
Көк чырак жок
Көк чырак жок

Ошентип, бул Lazy Old Geek (L. O. G.) Blue Light долбоорунун үстүндө иштеп жатат:

www.instructables.com/id/Blue-Light-Projec…

www.instructables.com/id/Blue-Light-Projec…

Ооба, кийинки кадам үчүн мен күндүз жарык боло турган чыракты кааладым, кечинде/түнү көгүлтүр жарык жок.

Дизайн Аппараты:

Мен жарыктын өзгөрүшүнүн убактысын көзөмөлдөө үчүн RTC (Real Time Clock) колдонууну чечтим.

Мен DS3231ди тандадым, анткени ал DS1307ге караганда тактыкты сактоого жакшы. DS3231 5v же 3.3v болушу мүмкүн.

Жарык үчүн мен WS2812B LED линиясын колдоном. Булардын үч зымдуу интерфейси жана башкарылуучу Кызыл, Жашыл жана Көк LEDлери бар. WS2812B 5v түзмөктөр болуп саналат.

Микроконтроллер үчүн мен Pro Micro, 5v 16MHz колдоном.

WS2812B, балким, 3.3V менен иштейт, бирок 5V Arduino колдонуу жакшы.

Pro Micro - бул Atmega32U4 микроконтроллерин колдонгон арзан Arduino.

Лампада лампаны күйгүзүү же өчүрүү үчүн күйгүзүү/өчүрүү баскычы болот.

Жарыкты контролдоо үчүн потенциометр болот.

Дизайн программасы:

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

Күндүз бардык RGB светодиоддору күйүп турмак, аларды казан толук интенсивдүүлүккө чейин башкарат.

Кечинде, Көк LEDлар өчөт, кызыл жана жашыл макс боюнча.

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

Саат 10:00 чамасында бардык светодиоддор өчөт.

МАСЕЛЕ:

Кайра DS3231 RTC модулуна, мен Aliexpressтен башка компоненттерге окшоп сатып алдым.

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

Интернеттен бир аз издегенден кийин, мен бул макаланы таптым.

www.onetransistor.eu/2019/07/zs042-ds3231-…

Мен бул анализге кошулам, бирок LIR2032 адекваттуу, бирок ашыкча эмес деп ойлойт. Мен жаңылган окшойм. Менин DS3231 да ZS-042 деп белгиленген, бирок макалада бир аз башкача болчу, бирок дээрлик бирдей. Ошентип, мен сүрөттө көрсөтүлгөн диодду сатпай койдум жана CR2032 батареясын орноттум. Диод болбосо, модуль батареяны кубаттоого аракет кылбайт. Азыр DS3231 туура эмес убакытты кармап турат, ал тургай, кубаты ажыратылганда жана батарея көп жылдар бою жакшы болушу керек.

Power талаптар:

WS2812B кээде NeoPixels деп аталган RGB LED диапазону. Ар бир NeoPixel 60mA максимумду талап кылат. Мен 12 Neo пикселди колдонуп жатам, андыктан 0.72A керек. Мен 2A USB адаптерин колдонуп жатам, андыктан ток көп.

1 -кадам: BlueLamp PCB

BlueLamp PCB
BlueLamp PCB
BlueLamp PCB
BlueLamp PCB

Ошентип, мен адаттагыдай эле, акысыз Eagle Cadsoft программасын (азыр Autodesk) колдонуп, ПКБны түздүм.

www.autodesk.com/products/eagle/free-downl…

Бүркүттүн схемасы жана тактайы файлдары схемада сүрөттө тиркелет.

Схема, 330 омдук резистор жана 10, 000uFd конденсатору жөнүндө бир комментарий Adafruitтин неопикселдик көрсөтмөсү тарабынан сунушталган:

learn.adafruit.com/adafruit-neopixel-uberg…

Мен колдонгон "Факелдин баскычын которгуч" которуштуруу баскычы бул жерден болгон:

www.aliexpress.com/item/32904942704.html?s…

Бул жерден 10K (B103) потенциометр:

www.aliexpress.com/item/32672253655.html?s…

2 -кадам: Лампаны чогултуу

Лампаны чогултуу
Лампаны чогултуу
Лампаны чогултуу
Лампаны чогултуу

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

WS2812B сиз каалаган NeoPixels санына кыскарышы мүмкүн. Мен сатып алган тилкеде NeoPixels ортосунда кенен боштуктар бар. Мен бир аз жарык болушун кааладым, ошондуктан мен эки 6 NeoPixel тилкесин кесип, аларды параллель бир аз жылдырдым. WS2812B тилкелери NeoPixels ортосунда кесилиши мүмкүн. Бул учурда мага 180 градуска өзгөртүү керек болчу, ошондуктан мен тилкени кесип, секирүүчү зымдардын ортосуна чуркадым. Эгер сиз муну кыла турган болсоңуз, анда сигналдар менен багыттоочу жебелердин тууралыгын текшериңиз. (Сүрөттү караңыз)

Бул WS2812Bде зымдар жана туташтыргычы да бар (эгерде аны башка жерде колдонууну кааласаңыз, бул туташтыргыч JST-SM 3pin туташтыргычы). Бул туташтыргыч мурунтан эле бар болгондуктан, мен зымдарды ПХБга эле ширетип койгом. Бул WS2812B үчүн кызыл зым 5v, жашыл сигнал жана ак жер.

ПХБ жасагандан кийин, түбүнө лента кийгизип, аны базага жабыштырдым. Андан кийин мен Pro Micro менен DS3231ди туташтырдым.

3 -кадам: Arduino Sketch

Arduino Sketch
Arduino Sketch

Aliexpress.com сайтынан Pro Micro сатып алганыма карабастан, Arduino менен иштөө үчүн төмөнкү маалыматты колдондум:

learn.sparkfun.com/tutorials/pro-micro--fi…

DS3231 үчүн китепкананы орнотуу үчүн, мен муну колдоном:

github.com/PaulStoffregen/DS1307RTC

Zip файлын жүктөп алыңыз

Ардуинону ачыңыз, "Эскизди" "Китепканага кошууну" ".zip китепканасын кошууну" тандаңыз

Ошол эле ыкманы колдонуу менен төмөнкүлөрдү орнотуңуз

Убакыт китепканасы PaulStoffregen

github.com/PaulStoffregen/Time

Timezone китепканасы

github.com/JChristensen/Timezone

Бүткөндөн кийин, Arduino программасын баштаңыз.

Куралдар тактасынан "Sparkfun Pro Micro" тандаңыз

Куралдарга дагы бир жолу чыкылдатыңыз, процессор үчүн тандоо болот

Сиз аны өзгөртүшүңүз керек болот "Atmega32U4 (5V 16Mhz)"

ЭСКЕРТҮҮ: Эгерде сиз мага окшоп кайдыгер болсоңуз, анда мен "Atmega32U4 (3.3V 8Mhz)" тандап алдым. Бул аны "кирпичтен" чыгарды, ошондуктан Arduino аны көрө алган жок. Ооба, мен, адатта, жаңы нерселерди алганга чейин окуганга аракет кылам жана бул окуя жөнүндө бир нерсени эстедим:

learn.sparkfun.com/tutorials/pro-micro--fi…

Бул колдонмодо, "Кышталган" Pro Microду кантип жандандыруу керек "деген бөлүм бар. Ал айткандай, бул татаал жол -жобо, бирок мен өзүмдү калыбына келтире алдым.

Маалымат: Эмне үчүн ар кандай чыңалууда жана ылдамдыкта эки версия бар деп ойлонуп жатсаңыз, Atmega32U4 (Atmega328 менен бирдей) 5Вде 16МГц сааты менен жакшы иштейт. Бирок 3.3Vде дизайн спецификасы 16МГц сааты иштебей турганын айтат, ошондуктан аларда 8МГц жыштыгы бар. Жалпысынан алганда, Arduino программалык камсыздоосу ар кандай убакыт маселелерин чечет.

RTC TIP: DS1307 үчүн жазылган программалык камсыздоонун көпчүлүгү DS3231 менен иштейт, анткени алар абдан окшош программаларга ээ.

Жазгы убакыт

Ооба, мен DSTти киргизгим келди, ошондуктан чырагымды жылына эки жолу кайра программалоонун кереги жок болчу. Мен бул боюнча бир нече күн иштедим. Мен Time, TimeLib жана RTClib кандай иштегени жөнүндө жакшы түшүндүрмөлөрдү таба алган жокмун.

Мен чындыгында IPClock үчүн кээ бир DST кодун жаздым:

www.instructables.com/id/NO-MORE-SPRING-FO…

бул Интернет убактысында иштеген, бирок мен аны RTC убактысында иштей алган жокмун.

Мен акыры JChristensen тарабынан төмөнкүлөргө чуркадым:

forum.arduino.cc/index.php?topic=96891.0

github.com/JChristensen/Timezone

Муну колдонуу үчүн, адегенде RTCти UTCке (Координацияланган Универсалдуу Убакытка) коюңуз, бул убакыт Гринвичте, Англияда. Ооба, муну кантип жасоону билбедим, бирок бул макаланы таптым:

www.justavapor.com/archives/2482

Аны тоонун убактысы үчүн кайра жазыңыз (тиркелет) UTCtoRTC.ino

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

Менин эскиз MTS_BlueLamp.ino тиркелген.

4 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

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

Негизи бул чырак менен абдан бактылуумун. Күндүз толугу менен жарык, кечинде жана түндө көк жок.

Мага жакпаган бир нерсе, аны саат 10дон кийин колдоно албайм. жана 5:00 чейин

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

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

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