Как да проектираме система за домашна автоматизация, базирана на Arduino, използвайки дистанционното за телевизия?

Системата за автоматизация на дома е най-бързо развиващата се концепция на съвременния свят. Интелигентната автоматизация на дома е концепция, при която едно устройство се използва за управление на различни електронни параметри на къща, например превключване на домакински уреди, мониторинг на аларми за сигурност, автоматизация на гаражни врати и т.н.



Система за автоматизация, използваща дистанционно за телевизор

В този проект ще използваме просто дистанционно за телевизор, за да направим проста система за домашна автоматизация. Това дистанционно управление на телевизора ще управлява всички уреди, свързани към платката на микроконтролера.



Как да използвам дистанционно за телевизор, за да направя система за домашна автоматизация?

Системите за домашна автоматизация, които вече се предлагат на пазара, са много скъпи. Можем да използваме платка Arduino, за да свързваме различни домакински уреди и да ги управляваме с помощта на дистанционно за телевизор. Това ще бъде с много ниски разходи и ефективен начин за автоматизиране на къщата. Сега нека направим крачка напред и започнем да събираме информация, за да стартираме проекта.



Стъпка 1: Събиране на компонентите

Най-добрият подход за стартиране на всеки проект е да се направи списък с компоненти и да се премине през кратко проучване на тези компоненти, защото никой няма да иска да остане в средата на проекта само поради липсващ компонент. Списък на компонентите, които ще използваме в този проект, е даден по-долу:



  • IR приемник TSOP 1738
  • Дистанционно
  • Макет
  • Джъмперни проводници

Стъпка 2: Изучаване на компонентите

Сега, когато знаем какви компоненти ще използваме, нека ги изучим накратко, за да разберем по-добре как работи нашата схема.

Arduino Nano е платка за микроконтролер, която извършва различни операции в различни вериги. Това изисква a C код което казва на дъската какви задачи да изпълнява и как. Той има 13 цифрови I / O щифта, което означава, че можем да работим с 13 различни устройства. Ако искате да контролирате повече от 13 устройства, използвайте Arduino Mega.

Arduino Nano



TSOP 1738 е IR модул за дистанционни управления. Той има носеща честота 38kHz. Състои се от фотодетектор, който открива сигнала и след това го демодулира. Изходът му се използва директно от Arduino или всяка друга платка за микроконтролер.

TSOP сензор

Релейният модул е ​​комутационно устройство. Той работи в два режима, Нормално отворен (НЕ) и Обикновено Затворено (NC) . В режим НЕ, веригата винаги е прекъсната, освен ако не изпратите HIGH сигнал на релето чрез Arduino. NC режимът се тревожи обратното, веригата винаги е пълна, освен ако не включите релейния модул. Уверете се, че сте свързали положителния проводник на вашия електрически уред към релейния модул по начина, показан по-долу.

Релеен модул

Стандартното дистанционно управление на телевизора има бутон за захранване и всички цифрови клавиши върху него. Тези цифрови клавиши ще се използват за превключване на електрическите уреди.

Стъпка 3: Осъществяване на веригата

Сега, когато знаем как работят всички компоненти, нека продължим напред и да започнем да правим веригата.

  1. Вземете макет и поставете в него вашия Arduino Nano и TSOP 1738.
  2. Включете модула TSOP 1738 и релейния модул чрез Arduino. Свържете ВЪН щифт на TSOP1738 към pin11 на Arduino и също свържете IN щифтове на релейния модул към Arduino. Контролирам само два електрически уреда, така че използвам тук само релейни модули. Ако искате да контролирате повече уреди, свържете по същия начин повече релейни модули.

    Електрическа схема

Стъпка 4: Първи стъпки с Arduino

Ако не сте работили по Arduino IDE преди, не се притеснявайте, защото стъпка по стъпка за настройване на Arduino IDE е показана по-долу.

  1. Свържете вашата платка Arduino към компютъра и отворете контролния панел. Кликнете върху Хардуер и звук. Сега отворете Устройства и принтер и намерете порта, към който е свързана вашата платка. В моя случай е така COM14 но при различните компютри е различно.

    Намиране на порт

  2. Кликнете върху менюто Инструменти и задайте дъската като Arduino Nano (AT Mega 328P) .

    Съвет за настройка

  3. Щракнете отново върху менюто Инструменти и задайте порта, който сте наблюдавали в контролния панел преди.

    Настройка на порт

  4. В същото меню на инструмента задайте процесора като ATmega328p (стар буутлоудър) .

    Настройка на процесор

  5. За да декодираме данните, изпратени от дистанционното управление, се нуждаем от специална библиотека за A код Arduino. Тази библиотека е приложена заедно с кода в линка по-долу. За да добавите библиотеката goto Скица> Включване на библиотека> Добавяне на ZIP библиотека . Ще се появи поле. Намерете ZIP папката на вашия компютър и щракнете върху OK, за да включите папката.

    Включете библиотека

  6. Изтеглете кода, приложен по-долу, и кликнете върху бутона за качване, за да запишете кода във вашата дъска Arduino Nano.

    Качване

Щракнете върху Изтегли , за да получите кода.

Стъпка 5: Код

Кодът е много лесен за разбиране, но въпреки това е описан накратко по-долу.

1. настройка за празнота () е функция, при която инициализираме пина INPUT или OUTPUT. Тази функция също така задава скоростта на предаване чрез Serial.begin () команда. Скорост на предаване е скоростта на комуникация на микроконтролера.

2. цикъл void () е функция, която се изпълнява многократно в цикъл. В този цикъл пишем код, който казва на борда на микроконтролера какви задачи да изпълнява и как.

3. Когато изпращаме данни от дистанционното на телевизора, Arduino трябва да декодира тези данни. За това включихме специална библиотека #включва <IRremote.h>. Функция в тази библиотека ще се използва за декодиране на данните на всеки ключ, изпратен от дистанционното.

#include int RECV_PIN = 11; IRrecv unrecv (RECV_PIN); decode_results резултати; void setup () {Serial.begin (9600); revocv.enableIRIn (); } void loop () {if (unrecv.decode (& results)) {Serial.println (results.value, HEX); unrecv.resume (); } забавяне (100); }

Горният код чете стойностите, изпратени от дистанционното, и го декодира до съответната му HEX стойност. Този код е взет от примерите за библиотеката IRremote в Arduino IDE. Този код също е приложен в линка за изтегляне от името test.ino предоставени по-горе. Изходът на тази функция, когато бъдат натиснати всички цифрови клавиши, ще бъде:

Декодиране

4. В код.ino прикачени в горната връзка за изтегляне, иконките на Arduino, които ще се използват, се инициализират. В цикъл void () при натискане на бутон на дистанционното първоначално Невярно състоянието е обърнато към Вярно и съответното реле е включено. Ако същият бутон бъде натиснат отново, той ще превключи булевото състояние и ще изключи релето. Бутонът за захранване ще включи или изключи всички релета.

невалиден цикъл () {if (unrecv.decode (& резултати)) {Serial.println (results.value, HEX); забавяне (100); if (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } if (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // забавяне (200); } if (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // забавяне (200); } unrecv.resume (); // Получаваме следващата стойност // delay (100); }}

Това беше цялата процедура за създаване на проста система за домашна автоматизация, контролирана от дистанционното управление на телевизора. Сега можете да свържете релейни модули според броя на вашите уреди и да се насладите на вашата собствена система за автоматизация на интелигентния дом.