- Потребни материјали:
- Методологија рада:
- Предуслови:
- Рад даљинског управљача наизменичном струјом:
- Шема и објашњење:
- Декодирање даљинских сигнала наизменичном струјом:
- Главни Ардуино програм:
- Рад аутоматског система за контролу температуре наизменичне струје:
Клима уређај (Аир Цондитионер) који се некада сматрао луксузним предметом, а налазио се само у великим хотелима, салама за филмове, ресторанима итд… Али, сада готово сви имају АЦ у нашем дому како би победили лето / зими и оне који је имају брине једна заједничка ствар. То је њихова велика потрошња електричне енергије и пуњачи због тога. У овом пројекту ћемо направити мали круг за аутоматску контролу температуре који би могао да умањи пуњаче електричне енергије аутоматским променом температуре наизменичне струје на основу температуре у собама. Периодичном променом подешене температуре можемо избећи да АЦ на дуже време ради на нижим вредностима температуре и тако учини да троши мање енергије.
Већина нас би доживела ситуацију да морамо да променимо подешену температуру клима уређаја на различите вредности током различитих доба дана, како би нам било удобно током целог дана. Да би аутоматизовао овај процес, овај пројекат користи температурни сензор (ДХТ11) који очитава тренутну температуру просторије и на основу те вредности слаће команде наизменичној струји путем ИЦ бластера сличног даљинском управљачу наизменичне струје. АЦ ће реаговати на ове команде као да реагује на свој даљински управљач и тако прилагодити температуру. Како се температура ваше собе мења, Ардуино ће такође прилагодити подешену температуру вашег АЦ да одржава вашу температуру баш онакву какву ви желите. Звучи кул, зар не?… Да видимо како да га направимо.
Потребни материјали:
- Ардуино Мега 2560
- ТСОП1738 (ХС0038)
- ИР Лед
- ДХТ11 Сензор температуре / влажности
- Било која ЛЕД у боји и 1К отпорник (опционално)
- Бреадбоард
- Повезивање жица
Методологија рада:
Сви даљински управљачи у нашем дому које користимо за управљање ТВ-ом, кућним биоскопом, АЦ итд. Раде уз помоћ ИР Бластера. ИР Бластер није ништа друго него инфрацрвени Лед који би могао Бластер сигнал са понављањем пулсирања; овај сигнал ће читати пријемник у електроничком уређају. За свако различито дугме на даљинском управљачу огласиће се јединствени сигнал који се након очитавања пријемника користи за извршавање одређеног унапред дефинисаног задатка. Ако будемо могли да читамо овај сигнал који долази са даљинског управљача, онда можемо да опонашамо исти сигнал помоћу ИР ЛЕД-а када је то икад потребно за извршење тог одређеног задатка. Претходно смо направили склоп ИР Бластер за универзални ИР даљински управљач.
БГА представља ИР пријемник који може да се користи за декодирање сигнала који долази из даљинских управљача. Овај пријемник ће бити повезан са Ардуином како би сигнализирао за свако дугме, а затим ће се ИР лампица користити са Ардуином за имитирање сигнала када икад буде потребан. На овај начин можемо добити контролу над АЦ преко Ардуина.
Сада је преостало само очитавање вредности температуре помоћу ДХТ11 и упућивање наизменичне струје у складу са ИЦ сигналима. Да би пројекат изгледао атрактивније и корисније, додао сам и ОЛЕД екран који приказује тренутну температуру, влажност и подешену температуру наизменичне струје. Сазнајте више о коришћењу ОЛЕД-а са Ардуином.
Предуслови:
Овај пројекат Аутоматског регулатора температуре наизменичне струје је мало напредан за почетнички ниво, међутим, уз помоћ неколико других упутстава, свако то може да изгради с временом. Дакле, ако сте апсолутни почетник у ОЛЕД-у, ДХТ11 или ТСОП-у, љубазно се вратите на ове водиче у наставку где можете научити основе и како започети с њима. Листа може изгледати помало дугачка, али верујте ми да је лака и вредна учења, такође ће отворити врата многим новим пројектима.
- Основни круг који користи ТСОП и ИР ЛЕД за испод њиховог рада
- Основни водич за повезивање ДХТ11 са Ардуином
- Основни водич за повезивање ОЛЕД-а са Ардуином
- Повезивање ТСОП-а са Ардуином за читање ИР даљинских вредности
Обавезно имате Ардуино Мега и било коју другу верзију Ардуина, јер је величина кода велика. Такође проверите да ли сте већ инсталирали следеће Ардуино библиотеке ако их не инсталирате помоћу доње везе
- ИР даљинска библиотека за ТСОП и ИР Бластер
- Библиотека Адафруит за ОЛЕД
- ГФКС графичка библиотека за ОЛЕД
- Библиотека сензора ДХТ11 за сензор температуре
Рад даљинског управљача наизменичном струјом:
Пре него што наставимо са пројектом, одвојите мало времена и приметите како ваш даљински управљач наизменичном струјом ради. АЦ даљински управљачи раде на мало другачији начин у поређењу са ТВ, ДВД ИР даљинским управљачима. На даљинском управљачу може бити само 10-12 тастера, али они ће моћи да пошаљу пуно различитих врста сигнала. То значи да даљински управљач не шаље исти код сваки пут за исто дугме. На пример, када смањите температуру помоћу дугмета за доле да бисте постигли 24 ° Ц (степен Целзијуса), добићете сигнал са скупом података, али када га поново притиснете за подешавање 25 ° Ц, нећете добити исти подаци јер је температура сада 25, а не 24. Слично томе, код за 25 такође ће се разликовати за различите брзине вентилатора, подешавања мировања итд. Дакле, немојмо се петљати око свих опција и само концентрирати само вредности температуре са константном вредношћу за остала подешавања.
Други проблем је количина података која се шаље за свако притискање дугмета, нормални даљински управљачи са словима од 24 бита или 48 бита, али даљински управљач наизменичном струјом може послати до 228 бита, јер сваки сигнал садржи пуно информација као што су Темп, Спеед Фан Време спавања, стил љуљачке итд. То је разлог зашто нам је потребан Ардуино Мега за боље могућности складиштења.
Шема и објашњење:
Срећом, хардверско подешавање овог Пројекта аутоматске контроле температуре наизменичне струје је врло једноставно. Једноставно можете користити плочу за повезивање и успоставити везе како је приказано доле.
Следећа табела се такође може користити за верификацију ваших веза.
С.Но: |
Компонентни пин |
Ардуино Пин |
1 |
ОЛЕД - Вцц |
5В |
2 |
ОЛЕД - Гнд |
Гнд |
3 |
ОЛЕД- СЦК, Д0, СЦЛ, ЦЛК |
4 |
4 |
ОЛЕД- СДА, Д1, МОСИ, Подаци |
3 |
5 |
ОЛЕД- РЕС, РСТ, РЕСЕТ |
7 |
6 |
ОЛЕД- ДЦ, А0 |
5 |
7 |
ОЛЕД- ЦС, Цхип Селецт |
6 |
8 |
ДХТ11 - Вцц |
5В |
9 |
ДХТ11 - Гнд |
Гнд |
10 |
ДХТ11 - Сигнал |
13 |
11 |
ТСОП - Вцц |
5В |
12 |
ТСОП - Гнд |
Гнд |
13 |
ИР лед - анода |
9 |
14 |
ИР лед - катода |
Гнд |
Једном када повежете, требало би да изгледа овако некако приказано доле. Користио сам Бреадбоард за сређивање ствари, али можете и директно да повежете све мушке и женске жице да спојите све компоненте
Декодирање даљинских сигнала наизменичном струјом:
Први корак за контролу АЦ-а је употреба ТСОП1738 за декодирање ИЦ кодова даљинског управљача. Успоставите све везе како је приказано на схеми кола и уверите се да сте инсталирали све поменуте библиотеке. Сада отворите пример програма „ ИРрецвДумпВ2 “ који се може наћи у Датотека -> Примери -> ИРремоте -> ИРрецвДумпВ2 . Отпремите програм на свој Ардуино Мега и отворите серијски монитор.
Усмерите даљински управљач према ТСОП и притисните било које дугме, за свако дугме које притиснете одговарајући сигнал ће читати ТСОП1738, декодирати Ардуино и приказивати на серијском монитору. За сваку промену температуре на даљинском управљачу добићете различите податке. Сачувајте ове податке јер ћемо их користити у нашем главном програму. Ваш серијски монитор ће изгледати отприлике овако, показао сам и Ворд датотеку на којој сам сачувао копиране податке.
Снимак екрана приказује код за подешавање температуре на 26 ° Ц за мој даљински управљач наизменичном струјом. На основу даљинског управљача добићете другачији сет кодова. На сличан начин копирајте кодове за све различите нивое температуре. Можете да проверите све ИР кодове даљинског управљача клима уређаја у Ардуино коду датом на крају овог водича.
Главни Ардуино програм:
Комплетан Главни Ардуино програма могу се наћи на дну ове странице, али не можете да користите исти програм. Морате да промените вредности сигналног кода које смо управо добили из горњег примерка. Отворите главни програм на свом Ардуино ИДЕ-у и померите се доле до овог подручја приказаног доле, где морате да замените вредности низа вредностима које сте добили за свој даљински управљач.
Имајте на уму да сам користио 10 низова, од којих су два користила УКЉУЧИВАЊЕ и ИСКЉУЧАВАЊЕ наизменичне струје, док се остатак 8 користи за подешавање различите температуре. На пример, Темп23 се користи за подешавање 23 ° Ц на вашем АЦ, па користите одговарајући код у том низу. Једном када то завршите, морате само да отпремите код на свој Ардуино и поставите га насупрот себи и уживате у Цоол Бреезеу.
Објашњење кода иде на следећи начин, прво морамо да користимо температурни сензор ДХТ1 да очитамо температуру и влажност и прикажемо их на ОЛЕД-у. То се ради помоћу следећег кода.
ДХТ.реад11 (ДХТ11_ПИН); // Прочитајте температуру и влажност мерено_темп = ДХТ.температуре + темп_еррор; Измерена_Хуми = ДХТ.влажност; // приказ текста тестира дисплаи.сетТектСизе (1); дисплаи.сетТектЦолор (БЕЛА); дисплаи.сетЦурсор (0,0); дисплаи.принт ("Температура:"); дисплаи.принт (Меасуред_темп); дисплаи.принтлн ("Ц"); дисплаи.сетЦурсор (0,10); дисплаи.принт ("Влажност:"); дисплаи.принт (Меасуред_Хуми); дисплаи.принтлн ("%");
Једном када знамо температуру просторије, морамо је упоредити са жељеном вредношћу. Ова жељена вредност је константна вредност која је у мом програму постављена на 27 ° Ц (степени Целзијуса). Дакле, на основу овог поређења поставићемо одговарајућу температуру наизменичне струје као што је приказано доле
иф (Меасуред_темп == Десиред_температуре + 3) // Ако је АЦ укључен и измерена темп је веома висока од жељене {ирсенд.сендРав (Темп24, сизеоф (Темп24) / сизеоф (Темп24), кхз); кашњење (2000); // Пошаљите сигнал за подешавање 24 * Ц АЦ_Темп = 24; }
Овде ће АЦ бити подешен на 24 ° Ц када је измерена температура 30 ° Ц (пошто је жељена температура 27). Слично томе, можемо створити много иф петљи да поставимо различит ниво температуре на основу измерене температуре као што је приказано доле.
иф (Меасуред_темп == Десиред_температуре-1) // Ако је АЦ укључен, а измерена темп је нижа од жељене вредности {ирсенд.сендРав (Темп28, сизеоф (Темп28) / сизеоф (Темп28), кхз); кашњење (2000); // Пошаљите сигнал за подешавање 28 * Ц АЦ_Темп = 28; } иф (Меасуред_темп == Десиред_температуре-2) // Ако је АЦ укључен и измерена темп је врло ниска од жељене вредности {ирсенд.сендРав (Темп29, сизеоф (Темп29) / сизеоф (Темп29), кхз); кашњење (2000); // Пошаљите сигнал за подешавање 29 * Ц АЦ_Темп = 29; } иф (Меасуред_темп == Десиред_температуре-3) // Ако је АЦ укључен и измерена темп је врло врло ниска жељена вредност {ирсенд.сендРав (Темп30, сизеоф (Темп30) / сизеоф (Темп30), кхз); кашњење (2000); // Пошаљите сигнал за подешавање 30 * Ц АЦ_Темп = 30; }
Рад аутоматског система за контролу температуре наизменичне струје:
Када је ваш код и хардвер спреман, отпремите га на плочу и приметили бисте да ОЛЕД приказује нешто слично овоме.
Сада поставите струјни круг насупрот вашег клима уређаја и приметићете да се температура наизменичне струје контролише на основу собне температуре. Можете покушати да повећате температуру у близини сензора ДХТ11 да бисте проверили да ли се температура наизменичне струје контролише као што је приказано у видео снимку испод.
Можете подесити програм да изврши било коју жељену радњу; потребан вам је само код који сте добили на примеру скице. Надам се да сте разумели овај пројекат аутоматског регулатора температуре и уживали у изградњи нечег врло сличног. Знам да овде има пуно места за заглављивање, али не брините онда. Само користите форум или одељак за коментаре да објасните свој проблем и људи овде ће вам сигурно помоћи да га решите.