суббота, 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



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

воскресенье, 8 апреля 2018 г.

Экскаватор на радиоуправлении на ардуино

На основе Ардуино можно сделать много интересных вещей, пользуясь возможностю подключения к Ардуино радиомодуля многие делают радиоуправляемые игрушки (и не только игрушки) например машинки (например такие - машинка 1машинка 2, машинка управляемая со смартфона, радиоуправляемый аэромобиль). Для обычной машинки достаточно сделать дистанционное управление одним двигателем и одним сервомотором но Ардуино предоставляет гораздо большие возможности т.е. на основе Ардуино можно сделать гораздо более сложные и интересные устройства. Например можно сделать экскаватор. Можно например "руку" экскаватора сделать на 4х сервомоторах а для перемещения его в пространстве использовать 2 моторредуктора. Сделать систему радиоуправления на Ардуино не сложно. О том как это сделать есть статья http://electe.blogspot.ru/2017/12/blog-post.html используя скетчи от туда, по аналогии можно сделать радиоуправление для экскаватора.  Для управления сервомоторами можно использовать свободные цифровые пины Ардуино или же аналоговые (их также можно использовать как цифровые). Для аналоговых нужно просто указывать номер в порядке который начинается с числа которое на 1 больше самого большого числа цифрового пина. Для управления двигателями также можно использовать 4 свободных цифровых и/или аналоговых пина. Электрическая схема экскаватора м.б. например такой:
Рисунок 1 - Электрическая схема экскаватора

Отдельные питания для ардуины, радиомодуля и силовой части нужны для нормальной ардуины в связи с радиомодулем. Для радиомодуля требуется меньшее напряжения питания если ардуино работает на частоте 16МГц т.к. на такой частоте напряжение не д.б. слишком низким а радиомодулю нужно напряжение около 3 с лишним вольт но т.к. его пины толерантны к более высокому напряжению чем его напряжение питания то такое соединение ардуины и радиомодуля можно совершить. Ещё этот радиомодуль в пике потребляет большой ток и при использовании общего с ардуиной стабилизатора в момент пика будет просадка напряжения и сбой в работе, также в момент пуска двигателей и сервомоторов просадка напряжения вполне возможна. Ардуино и радиомодуль можно питать от линейных стабилизаторов стабилизирующих напряжение путём изменения своего активного сопротивления а для питания силовой части это крайне не желательно т.к. при этом будет много энергии расходоваться впустую и лучше для этого использовать импульсный DC-DC преобразователь. 
Экскаватор - это очень интересная игрушка а если он имеет достаточные размеры и мощность то он вполне м.б. полезной машиной. Посмотреть тест экскаватора, фотогрфии его сборки и ещё кое что можно в видео:
ардуино про мини http://got.by/2d05ln
сервомоторы SG90 http://got.by/2d05bc
драйвер L293D http://got.by/2d05t8
микро мотор редуктор http://got.by/2d0644
NRF24l01 до 100м http://ali.pub/n0mkp
NRF24l01 до 1100м http://got.by/218wbo, http://got.by/218w7e

Как сделать стабилизатор напряжения http://electe.blogspot.ru/2015/10/lm317.html

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