- Потребни материјали:
- ЛДР:
- РГБ ЛЕД:
- Кружни дијаграм:
- Објашњење програмирања:
- Рад лампе за мешање у боји Ардуино:
Шта ако можемо створити различите боје помоћу једног РГБ лед-а и учинити угао наше собе атрактивнијим? Дакле, овде је једноставна лампа за мешање боја заснована на Ардуину која може променити боју када дође до промене светлости у соби. Тако ће ова лампа аутоматски променити боју у складу са светлосним условима у соби.
Свака боја је комбинација црвене, зелене и плаве боје. Тако да можемо генерисати било коју боју користећи црвену, зелену и плаву боју. Дакле, овде ћемо варирати ПВМ, односно интензитет светлости на ЛДР-овима. То ће даље променити интензитет црвене, зелене и плаве боје у РГБ ЛЕД, а производиће се различите боје.
Испод табеле приказане су комбинације боја са одговарајућом променом радних циклуса.
Потребни материјали:
- 1 к Ардуино УНО
- 1 к Бреадбоард
- 3 отпорника од 220 ома
- 3 к 1 килохм отпорника
- Жице краткоспојника
- 3 к ЛДР
- 3 к обојене траке (црвена, зелена, плава)
- 1 к РГБ ЛЕД
ЛДР:
У овом колу ћемо користити фотоотпорник (или отпорник који зависи од светлости, ЛДР или фотопроводљиву ћелију). ЛДР су направљени од полупроводничких материјала како би им омогућили њихова својства осетљива на светлост. Ови ЛДР-ови или ФОТОСПОРНИЦИ раде на принципу „Фотопроводљивости“. Оно што овај принцип каже је да, кад год светлост падне на површину ЛДР-а (у овом случају), проводљивост елемента се повећава или другим речима, отпор ЛДР-а пада када светлост пада на површину ЛДР-а. Ово својство смањења отпора за ЛДР постиже се јер је својство полупроводничког материјала који се користи на површини.
Овде се користе три ЛДР сензора за контролу осветљености појединачних црвених, зелених и плавих ЛЕД диода унутар РГБ ЛЕД-а. Овде сазнајте више о контроли ЛДР-а помоћу Ардуина.
РГБ ЛЕД:
Постоје две врсте РГБ ЛЕД диода, један је уобичајени тип катоде (заједнички негативан), а други уобичајени тип аноде (уобичајени позитивни). У ЦЦ (Цоммон Цатходе или Цоммон Негативе), постојат ће три позитивна терминала, сваки терминал који представља боју и један негативни терминал који представља све три боје.
У нашем кругу ћемо користити ЦА (Цоммон Аноде или Цоммон Поситиве) тип. У типу Цоммон Аноде, ако желимо да ЦРВЕНА ЛЕД диода буде УКЉУЧЕНА, морамо уземљити црвени ЛЕД пин и напајати заједнички позитив. Исто важи и за све ЛЕД диоде. Научите овде да повежете РГБ ЛЕД са Ардуином.
Кружни дијаграм:
Комплетна шема овог пројекта дата је горе. Прикључак + 5В и уземљење приказан на дијаграму кола може се добити из напона 5В и уземљења Ардуина. Сам Ардуино се може напајати са вашег лаптопа или путем ДЦ утичнице помоћу 12В адаптера или 9В батерије.
Користићемо ПВМ за промену осветљености РГБ воденог. Више о ПВМ можете сазнати овде. Ево неколико примера ПВМ-а са Ардуином:
- Варијабилно напајање Ардуино Уно
- Управљање једносмерним мотором помоћу Ардуина
- Генератор тонова заснован на Ардуину
Објашњење програмирања:
Прво декларишемо све улазне и излазне пинове као што је приказано доле.
бајт цонст ред_сенсор_пин = А0; бајт цонст греен_сенсор_пин = А1; бајт цонст блуе_сенсор_пин = А2; бајт цонст греен_лед_пин = 9; бајт цонст блуе_лед_пин = 10; бајт цонст ред_лед_пин = 11;
Прогласите почетне вредности сензора и лед диода као 0.
непотписан инт ред_лед_валуе = 0; непотписан инт блуе_лед_валуе = 0; непотписан инт греен_лед_валуе = 0; унсигнед инт ред_сенсор_валуе = 0; непотписан инт блуе_сенсор_валуе = 0; непотписан инт греен_сенсор_валуе = 0; воид сетуп () { пинМоде (ред_лед_пин, ОУТПУТ); пинМоде (блуе_лед_пин, ОУТПУТ); пинМоде (греен_лед_пин, ОУТПУТ); Сериал.бегин (9600); }
У одељку петље узећемо излаз три сензора са аналогРеад (); функционишу и чувају у три различите променљиве.
воид лооп () { ред_сенсор_валуе = аналогРеад (ред_сенсор_пин); кашњење (50); блуе_сенсор_валуе = аналогРеад (блуе_сенсор_ваин); кашњење (50); греен_сенсор_валуе = аналогРеад (греен_сенсор_пин);
Одштампајте те вредности на серијски монитор ради отклањања грешака
Сериал.принтлн ("Необрађене вредности сензора:"); Сериал.принт ("\ т Црвено:"); Сериал.принт (ред_сенсор_валуе); Сериал.принт ("\ т Плава:"); Сериал.принт (блуе_сенсор_валуе); Сериал.принт ("\ т Зелено:"); Сериал.принтлн (греен_сенсор_валуе);
Добићемо 0-1023 вредности од сензора, али наши Ардуино ПВМ пинови имају 0-255 вредности као излаз. Дакле, морамо претворити наше сирове вредности у 0-255. За то морамо поделити сирове вредности са 4 ИЛИ једноставно можемо користити функцију мапирања Ардуино да претворимо ове вредности.
ред_лед_валуе = ред_сенсор_валуе / 4; // дефинишемо црвену ЛЕД диоду блуе_лед_валуе = блуе_сенсор_валуе / 4; // дефинишемо плаву ЛЕД греен_лед_валуе = греен_сенсор_валуе / 4; // дефинишемо Греен Лед
Штампање мапираних вредности на серијски монитор
Сериал.принтлн ("Мапиране вредности сензора:"); Сериал.принт ("\ т Црвено:"); Сериал.принт (ред_лед_валуе); Сериал.принт ("\ т Плава:"); Сериал.принт (блуе_лед_валуе); Сериал.принт ("\ т Зелено:"); Сериал.принтлн (греен_лед_валуе);
Користите аналогВрите () за подешавање излаза за РГБ ЛЕД
аналогВрите (ред_лед_пин, ред_лед_валуе); // означити црвени ЛЕД аналогВрите (блуе_лед_пин, блуе_лед_валуе); // означити плави ЛЕД аналогВрите (греен_лед_пин, греен_лед_валуе); // означити зелено
Рад лампе за мешање у боји Ардуино:
Како користимо три ЛДР-а, тако да се при упаду светлости на ове сензоре, његов отпор мења као резултат, напони се мењају и на аналогним пиновима Ардуина који делује као улазни пинови за сензоре.
Када се интензитет светлости промени на овим сензорима, дотични ЛЕД у РГБ ће засјати с променом отпора, а ми имамо различито мешање боја у РГБ воденом помоћу ПВМ-а.