„Буди сјајна искра, упали се док се не смрачи!“ понекад заборавимо да искључимо светла и трошимо струју, а сигурно сте и ви видели улично светло укључено током дана. Већ смо направили неколико кругова на Дарк детектору где се светла аутоматски искључују ако је напољу светло и УКЉУЧУЈУ СЕ ако је напољу мрак. Али овог пута, у овом колу не укључујемо и искључујемо светла само на основу светлосних услова, већ такође мењамо интензитет светлости у складу са спољним светлосним условима. Овде смо користили ЛДР и ПВМ концепт са Ардуином за аутоматско смањивање или повећање осветљености 1 В снаге ЛЕД.
У основи, ПВМ се односи на модулацију ширине импулса, излазни сигнал преко ПВМ пина биће аналогни сигнал и добија се као дигитални сигнал од Ардуина. Користи радни циклус дигиталног таласа за генерисање секвенцијалне аналогне вредности за сигнал. И, тај сигнал се даље користи за контролу осветљености ЛЕД напајања.
Потребан материјал
- Ардуино УНО
- ЛДР
- Отпорник (510, 100 к охма)
- Кондензатор (0.1уФ)
- Транзистор 2Н2222
- Снага ЛЕД од 1 В
- Повезивање жица
- Бреадбоард
Кружни дијаграм
Код и објашњење
Комплетни Ардуино код за аутоматско ЛЕД затамњење дат је на крају.
У доњем коду дефинишемо ПВМ пин и променљиве које ће се користити у коду.
инт пвмПин = 2; // додељује пин 12 променљивој пвм инт ЛДР = А0; // додељује аналогни улаз А0 променљивом пот инт ц1 = 0; // проглашава променљиву ц1 инт ц2 = 0; // проглашава променљиву ц2
Сада, у петљи, прво читамо вредност помоћу наредбе „аналогРеад (ЛДР)“, а затим сачувамо аналогни улаз у променљиву која се назива „вредност“ . Неким математичким прорачуном генеришемо ПВМ сигнал. Овде контролишемо интензитет светлости помоћу ПВМ-а само ако је аналогна вредност мања од 500, а ако је већа од 500, потпуно искључујемо светла.
инт вредност = аналогРеад (ЛДР); Сериал.принтлн (вредност); ц1 = вредност; ц2 = 500-ц1; // одузима ц2 од 1000 анс, а резултат се чува у ц1 иф (вредност <500) { дигиталВрите (пвмПин, ХИГХ); делаиМицросецондс (ц2); дигиталВрите (пвмПин, ЛОВ); делаиМицросецондс (ц1); } иф (вредност> 500) { дигиталВрите (2, ЛОВ); } }
Овде можете сазнати више о ПВМ-у у Ардуину.
Како аутоматски контролише интензитет светлости:
Према дијаграму кола, направили смо коло за поделу напона помоћу ЛДР и отпорника 100к. Излаз раздјелника напона напаја се на аналогни пин Ардуина. Аналогни пин осећа напон и даје неку аналогну вредност Ардуину. Аналогна вредност се мења према отпору ЛДР. Дакле, ако је преко ЛДР-а мрак, његов отпор се повећава и стога вредност напона (аналогна вредност) опада. Дакле, аналогне вредности варирају ПВМ излаз или радни циклус, а радни циклус је даље пропорционалан интензитету светлости ЛЕД снаге. Тако ће светло изнад ЛДР-а аутоматски контролисати интензитет ЛЕД напајања. Испод је дијаграм тока како ће ово функционисати, знак стрелице нагоре означава „повећање“, а знак стрелице доле „смањење“.
Интензитет светлости (на ЛДР) ↓ - Отпор ↑ - Напон на аналогном пину ↓ - Радни циклус (ПВМ) ↑ - Осветљење ЛЕД диоде за напајање ↑
Ако је напољу потпуно светло (када се аналогна вредност повећа више од 500), лампица за напајање се искључује.
На овај начин можете аутоматски да контролишете интензитет светлости помоћу ЛДР-а.
Даље овде проверите све наше ЛДР кругове.