суббота, 14 апреля 2018 г.

Управление приборами с инфракрасного пульта

Реализовать инфракрасное дистанционное управление домашними приборами или чем либо ещё проще чем радиоуправление. Не смотря на множество недостатков инфракрасного управления, таких как небольшое расстояние, невозможность передавать сигнал через любое непрозрачное препятствие и т.д. Инфракрасное управление имеет и ряд преимуществ и наверное главное из них - это простота реализации. Ниже приведена пошаговая инструкция того как можно реализовать инфракрасное управление ардуиной (а следовательно и подключенными к ней приборами) с инфракрасного пульта.

1 открываем Arduino IDE

2 вписываем в самом верху #include "IRremote.h"

3 нажимаем кнопку проверить (с галочкой в кружочке)

4  придумываем название скетча и нажимаем кнопку "сохранить"

5 Видим что Arduino IDE выдаёт ошибку

6 переходим в папку где установлено Arduino IDE

7 в этой папке переходим в папку librares (т.е. библиотеки)

8 в папке librares находим папку RobotIRremote и переходим в эту папку

9 в папке RobotIRremote находим папку src и переходим в эту папку

10 в папке src находим два файла IRremoteTools.cpp и IRremoteTools.h и удаляем их 

11 переходим опять в Arduino IDE и нажимаем крестик в правом верхнем углу, если открыто более одного окна то закрываем все

12 и снова запускаем Arduino IDE

13 Снова вписываем наверху #include "IRremote.h" или открываем старый файл где это уже вписано

14 Опять нажимаем кнопку проверить (с галочкой в кружочке)

15 видим что на этот раз компиляция прошла успешно 

16 теперь допишем скетчь. Напишем IRrecv ir(2); и в скобках укажем номер цифрового пина к которому подключаем выход инфракрасного приёмника например можно написать 2 т.к. 0 и 1 - это uart то следующий свободный - это 2

17 объявляем переменную типа decode_results в которую будут помещаться коды нажатых клавиш. Назвать эту переменную можно как угодно

18 Инициализируем последовательный порт

19 инициализируем приём от инфракрасного приёмника

20 в основном цикле на каждой итерации проверяем пришли ли данные с инфракрасного приёмника на ардуино

21 если что то пришло то выводим это в последовательный порт

22 для продолжения впишем ещё одну команду

23 нажимаем кнопку проверить и если Arduino IDE выдает ошибку то возвращаемся к пункту 1 и повторяем действия пока ошибка, на данном этапе, появляться не перестанет иначе переходим к следующему пункту

24 выпаиваем из телевизора и находим или покупаем инфракрасный приемник 


25 такой как на фотографии и соединяем его так как на фотографии. Если повернуть его выпяченностью вверх и смотреть на него сверху а ножками повернуть к себе то с лева у него будет GND по середине + питания 5В а справа выход. GND и +5В соединяем с соответствующими выводами ардуино а выход соединяем с тем что прописали в скетче (я написал 2 поэтому соединяю со вторым)


26 подключаем ардуино к компьютеру через usb кабель

27 возвращаемся в Arduino IDE выбираем во вкладке инструменты ардуино которое мы подключили (я подключил уно)

28 нажимаем кнопку вгрузить

29 во вкладке инструменты выбираем монитор последовательного порта

30 в мониторе последовательного порта выбираем нужную скорость которую мы установили в скетче инициализируя последовательный порт

31 берём разные пульты и нажимая на разные кнопки через монитор последовательного порта узнаем какой код какой кнопе соответствует

32 выписываем нужные нам коды и соответствующие кнопки на листочек 

33 теперь всё готово для того чтобы сделать инфракрасное управление. Давайте попробуем управлять светодиодом а потом реле. Настроим 13 пин как выход.

34 используя ветвление if и выясненные коды сделаем так чтобы при нажатии на одну кнопку светодиод на плате ардуино загорался а при нажатии на другую гас.

35 подключаем ардуино к компьютеру и нажимем кнопку вгрузить

36 теперь берём в руки тот пульт коды кнопок которого мы написали в скетче, направляем на фотоприемник подключенный к ардуине воткнутой в компьютер и нажимаем кнопку которая должна зажечь светодиод, если светодиод зажёгся то можно нажать кнопку которая должна гасить светодиод и светодиод должен погаснуть

37 теперь мы можем к 13тому пину, через транзистор, подключить реле (о том как это сделать я рассказывал в видео Простое управление приборами с компьютера ссылку смотрие в описании) или же использовать специальный модуль с реле и транзистором и подключить напрямую или же подключить твердотельное реле через один резистор, в общем вариантов много того что можно дальше сделать я например сделаю управление светом от пульта т.е. его включение и выключение через обычное реле от холодильника с транзистором резистором и обратным диодом.

38 используя логическое "или" мы можем сделать так чтобы реле включалось от разных пультов а добавив ещё условый мы можем включать больше одного реле
Видеоинструкция:
Могут пригодиться 
как связать ардуино + реле https://www.youtube.com/watch?v=UI9Ut8xQVLY
arduino uno r3 http://got.by/236t0v
ардуно модуль реле http://got.by/2frn22



КАРТА БЛОГА (содержание)