- Необхідні матеріали:
- Методика роботи:
- Передумови:
- Робота пульта дистанційного керування змінного струму:
- Електрична схема та пояснення:
- Розшифровка віддалених сигналів змінного струму:
- Основна програма Arduino:
- Робота автоматичної системи регулювання температури змінного струму:
Кондиціонер (кондиціонер), який колись вважався предметом розкоші, і його можна було знайти лише у великих готелях, кінозалах, ресторанах тощо… Але зараз у нас майже кожен має кондиціонер, щоб перемогти літо / зима і тих, хто її має, турбує одна спільна річ. Це їх велике споживання електроенергії та зарядні пристрої завдяки цьому. У цьому проекті ми збираємося створити невелику схему автоматичного регулювання температури, яка могла б мінімізувати зарядні пристрої за рахунок автоматичної зміни температури змінного струму залежно від температури приміщення. Періодично змінюючи задану температуру, ми можемо уникнути того, щоб змінний струм працював на більш низькі значення температури протягом тривалого часу і, таким чином, споживав менше енергії.
Більшість з нас стикалися б із ситуацією, коли нам доводиться змінювати встановлену температуру кондиціонера на різні значення в різні пори дня, щоб нам було комфортно протягом усього часу. Для автоматизації цього процесу в цьому проекті використовується датчик температури (DHT11), який зчитує поточну температуру в приміщенні, і на основі цього значення він надсилатиме команди до змінного струму через ІЧ -пульт, подібний до пульта дистанційного керування змінного струму. AC буде реагувати на ці команди так, ніби реагує на свій пульт дистанційного керування, і таким чином регулювати температуру. Коли температура вашої кімнати змінюється, Arduino також відрегулює встановлену температуру вашого змінного струму, щоб підтримувати температуру точно такою, якою ви хочете. Звучить круто, правда?… Давайте подивимось, як його створити.
Необхідні матеріали:
- Arduino Mega 2560
- TSOP1738 (HS0038)
- ІЧ світлодіодні
- DHT11 Датчик температури / вологості
- Будь-який кольоровий світлодіод і резистор 1K (додатково)
- Макет
- Підключення проводів
Методика роботи:
Усі пульти дистанційного керування в нашому домі, якими ми керуємо телевізором, домашнім кінотеатром, змінним струмом тощо, працюють за допомогою ІЧ-бластерів. ІК бластер не що інше, як ІК - світлодіод, який може бластер сигнал за допомогою повторюваних імпульсів; цей сигнал буде зчитуватися приймачем електронного приладу. Для кожної різної кнопки на пульті буде вибухнути унікальний сигнал, який після зчитування приймачем використовується для виконання певного заздалегідь визначеного завдання. Якщо ми можемо зчитувати цей сигнал, що надходить з пульта дистанційного керування, ми можемо імітувати той самий сигнал, використовуючи ІЧ-індикатор, коли коли-небудь потрібно буде виконати це конкретне завдання. Раніше ми створили схему ІЧ-бластера для універсального ІЧ-пульта.
ЦОП є ІК - приймач, який може бути використаний для декодування сигналу, що надходить від дистанційного керування. Цей приймач буде з'єднаний з Arduino для сигналізації для кожної кнопки, а потім інфрачервоний світлодіод буде використовуватися з Arduino для імітації сигналу, коли коли-небудь буде потрібно. Таким чином ми можемо отримати контроль над нашим змінного струму за допомогою Arduino.
Тепер залишилось лише прочитати значення температури за допомогою DHT11 і відповідно проінструктувати змінний струм, використовуючи ІЧ-сигнали. Щоб проект виглядав привабливішим та зручнішим для користувача, я також додав OLED-дисплей, який відображає поточну температуру, вологість та температуру змінного струму. Дізнайтеся більше про використання OLED з Arduino.
Передумови:
Цей проект автоматичного регулятора температури змінного струму трохи вдосконалений для рівня початківців, однак за допомогою кількох інших навчальних посібників кожен може створити це з часом. Отже, якщо ви абсолютно новачок у OLED, DHT11 або TSOP, то ласкаво поверніться до цих підручників нижче, де ви зможете вивчити основи та як розпочати з них. Список може здатися трохи довгим, але, повірте, це легко і варто вивчити, а також він відкриє двері для багатьох нових проектів.
- Основна схема, що використовує TSOP та ІЧ-світлодіод для їх роботи
- Основний посібник взаємодії для DHT11 з Arduino
- Основний посібник взаємодії для OLED з Arduino
- Взаємозв'язок TSOP з Arduino для зчитування віддалених значень ІЧ
Переконайтеся, що у вас є Arduino Mega та будь-яка інша версія Arduino, оскільки розмір коду великий. Також перевірте, чи ви вже встановили наступні бібліотеки Arduino, якщо не встановлюєте їх за посиланням нижче
- ІК-віддалена бібліотека для TSOP та IR Blaster
- Бібліотека Adafruit для OLED
- Бібліотека графіки GFX для OLED
- Бібліотека датчиків DHT11 для датчика температури
Робота пульта дистанційного керування змінного струму:
Перш ніж ми приступимо до проекту, витратьте трохи часу і зауважте, як працює ваш пульт дистанційного керування змінного струму. Пульти дистанційного керування змінного струму працюють дещо по-іншому в порівнянні з пультами дистанційного керування телевізором та DVD. На пульті дистанційного керування може бути лише 10-12 кнопок, але вони зможуть надсилати багато різних типів сигналів. Це означає, що пульт не надсилає один і той же код кожного разу для однієї і тієї ж кнопки. Наприклад, коли ви знижуєте температуру за допомогою кнопки вниз, щоб зробити її 24 ° C (градус Цельсія), ви отримаєте сигнал із набором даних, але при повторному натисканні, щоб встановити 25 ° C, ви не отримаєте те саме дані, оскільки температура зараз становить 25, а не 24. Подібним чином код для 25 також буде змінюватися залежно від різної швидкості обертання вентилятора, налаштувань сну і т. д. Тож давайте не будемо возитися з усіма параметрами, а просто концентруємо лише значення температури з постійним значенням для інших налаштувань.
Інша проблема полягає в обсязі даних, які надсилаються при кожному натисканні кнопки, звичайні пульти дистанційного керування з відправкою або 24 біта, або 48 біт, але пульт дистанційного керування змінного струму може надсилати до 228 біт, оскільки кожен сигнал містить багато інформації, як Темп, Швидкість вентилятора, Час сну, стиль гойдалки тощо. Саме тому нам потрібен Arduino Mega для кращих варіантів зберігання.
Електрична схема та пояснення:
На щастя, апаратне налаштування цього проекту автоматичного регулювання температури змінного струму дуже просте. Ви можете просто використати макетну плату і встановити з'єднання, як показано нижче.
Наступну таблицю також можна використовувати для перевірки ваших з’єднань.
S.No: |
Компонентний штифт |
Pin Arduino |
1 |
OLED - Vcc |
5 В |
2 |
OLED - Gnd |
Gnd |
3 |
OLED- SCK, D0, SCL, CLK |
4 |
4 |
OLED - SDA, D1, MOSI, дані |
3 |
5 |
OLED- RES, RST, RESET |
7 |
6 |
OLED - постійний струм, A0 |
5 |
7 |
OLED- CS, Chip Select |
6 |
8 |
DHT11 - Vcc |
5 В |
9 |
DHT11 - Gnd |
Gnd |
10 |
DHT11 - сигнал |
13 |
11 |
TSOP - Vcc |
5 В |
12 |
TSOP - Gnd |
Gnd |
13 |
ІЧ світлодіод - анод |
9 |
14 |
ІЧ світлодіод - катод |
Gnd |
Після завершення з'єднання це має виглядати приблизно так, як показано нижче. Я використовував Макетну дошку для прибирання речей, але Ви також можете підключити чоловічі до жіночих проводів безпосередньо, щоб підключити всі компоненти
Розшифровка віддалених сигналів змінного струму:
Першим кроком для керування своїм змінним струмом є використання TSOP1738 для декодування ІК-кодів пульта дистанційного керування змінного струму. Встановіть усі підключення, як показано на схемі, та переконайтесь, що ви встановили всі згадані бібліотеки. Тепер відкрийте приклад програми “ IRrecvDumpV2 ”, яку можна знайти у меню Файл -> Приклади -> IRremote -> IRrecvDumpV2 . Завантажте програму на Arduino Mega і відкрийте послідовний монітор.
Наведіть пульт дистанційного керування на TSOP і натисніть будь-яку кнопку, для кожної кнопки, яку ви натискаєте, відповідний сигнал буде зчитуватися TSOP1738, декодуватися Arduino і відображатися на послідовному моніторі. Для кожної зміни температури на пульті дистанційного керування ви отримуватимете різні дані. Збережіть ці дані, оскільки ми будемо використовувати їх у нашій головній програмі. Ваш послідовний монітор буде виглядати приблизно так, я також показав файл Word, в якому я зберігав скопійовані дані.
На знімку екрана відображається код для встановлення температури 26 ° C для мого пульта дистанційного керування змінного струму. На основі вашого пульта ви отримаєте інший набір кодів. Подібним чином скопіюйте коди для різного рівня температури. Ви можете перевірити всі ІЧ-коди пульта дистанційного керування кондиціонера в Коді Arduino, наведеному в кінці цього посібника.
Основна програма Arduino:
Повна основний Arduino програму можна знайти в нижній частині цієї сторінки, але ви не можете використовувати ту ж програму. Ви повинні змінити значення коду сигналу, які ми щойно отримали з наведеного вище ескізу. Відкрийте основну програму на своїй Arduino IDE і прокрутіть вниз до цієї області, показаної нижче, де вам доведеться замінити значення масиву на значення, отримані для вашого пульта дистанційного керування.
Зверніть увагу, що я використав 10 масивів, з яких два використовували УВІМКНЕННЯ та ВИМКНЕННЯ змінного струму, а решта 8 використовується для встановлення різної температури. Наприклад, Temp23 використовується для встановлення 23 ° C на вашому змінного струму, тому використовуйте відповідний код у цьому масиві. Після того, як це буде зроблено, вам просто потрібно завантажити код на ваш Arduino і розмістити його навпроти себе і насолодитися прохолодним бризом.
Пояснення коду виглядає наступним чином, спочатку ми повинні використовувати датчик температури DHT1 для зчитування температури та вологості та відображення його на OLED. Це робиться за допомогою наступного коду.
DHT.read11 (DHT11_PIN); // Зчитування виміряної температури та вологості = DHT.temperature + temp_error; Виміряний_Humi = DHT.вологість; // тестування відображення тексту display.setTextSize (1); display.setTextColor (БІЛИЙ); display.setCursor (0,0); display.print ("Температура:"); display.print (Measured_temp); display.println ("C"); display.setCursor (0,10); display.print ("Вологість:"); display.print (Measured_Humi); display.println ("%");
Як тільки ми знаємо температуру приміщення, нам просто потрібно порівняти її з бажаним значенням. Це бажане значення є постійним значенням, яке в моїй програмі встановлено як 27 ° C (градуси Цельсія). Отже, на основі цього порівняння ми встановимо відповідну температуру змінного струму, як показано нижче
if (Measured_temp == Desired_temperature + 3) // Якщо AC увімкнено, а виміряна температура дуже висока від бажаної {irsend.sendRaw (Temp24, sizeof (Temp24) / sizeof (Temp24), khz); затримка (2000); // Надіслати сигнал для встановлення 24 * C AC_Temp = 24; }
Тут змінна температура буде встановлена на 24 ° C, коли виміряна температура дорівнює 30 ° C (оскільки бажана температура становить 27). Подібним чином ми можемо створити безліч циклів If, щоб встановити різний рівень температур на основі виміряної температури, як показано нижче.
if (Measured_temp == Desired_temperature-1) // Якщо AC змінено, а виміряна temp є нижчою від бажаного значення {irsend.sendRaw (Temp28, sizeof (Temp28) / sizeof (Temp28), кГц); затримка (2000); // Надіслати сигнал для встановлення 28 * C AC_Temp = 28; } if (Measured_temp == Desired_temperature-2) // Якщо AC увімкнено, а виміряна temp дуже низька від бажаного значення {irsend.sendRaw (Temp29, sizeof (Temp29) / sizeof (Temp29), кГц); затримка (2000); // Надіслати сигнал для встановлення 29 * C AC_Temp = 29; } if (Measured_temp == Desired_temperature-3) // Якщо AC змінено, а виміряна temp дуже низька бажана величина {irsend.sendRaw (Temp30, sizeof (Temp30) / sizeof (Temp30), khz); затримка (2000); // Надіслати сигнал для встановлення 30 * C AC_Temp = 30; }
Робота автоматичної системи регулювання температури змінного струму:
Коли ваш код і апаратне забезпечення готові, завантажте код на плату, і ви помітите, що OLED відображає щось подібне до цього.
Тепер розмістіть схему навпроти вашого кондиціонера, і ви помітите, що температура змінного струму регулюється залежно від температури в приміщенні. Ви можете спробувати підвищити температуру біля датчика DHT11, щоб перевірити, чи контролюється температура змінного струму, як показано на відео нижче.
Ви можете налаштувати програму, щоб виконати будь-яку бажану дію; все, що вам потрібно, це код, який ви отримали з прикладу ескізу. Сподіваюся, ви зрозуміли цей проект автоматичного регулятора температури і насолоджувались створенням чогось дуже подібного. Я знаю, що тут є багато місць, де можна застрягти, але тоді не хвилюйся. Просто використовуйте форум або розділ коментарів, щоб пояснити свою проблему, і люди тут, безсумнівно, допоможуть вам її вирішити.