Пример программы управления работы сервоприводом пультом дистанционного управления

Кейс заданий №7 (1 год обучения)

«Основы схематехники. Дистанционный  ИК- пульт управления»

Неделя 11-14 мая 2020 г.

 

Практические навыки по сборке схем мы продолжим формировать, решая кейсы- задания на тему «САМОИЗОЛЯЦИЯ».

Задание «Дистанционное (бесконтактное) управление входной дверью»

Решая предыдущий кейс, мы узнали, как с помощью датчика движения открываются и закрываются двери супермаркетов.

Возможно ли бесконтактное управление входной дверью дома? С помощью какого устройства можно решить поставленную задачу?

 Конечно, мы не забываем обрабатывать ручки дверей, выключатели, но намного интереснее решить проблему с инженерной точки зрения. Предлагаем вам для управления дверями нашего умного дома воспользоваться пультом дистанционного управления. В качестве исполнительного механизма используем уже знакомый сервопривод.

Для практического воплощения идеи в нашем виртуальном конструкторе Тинкеркад* https://www.tinkercad.com/ мы соберем схему «Дистанционное управление сервоприводом».

Из набора нам потребуются:

- инфракрасный пульт дистанционного управления;

- Инфракрасный датчик;

- сервопривод;

- соединительные провода;

- контроллер Ардуино.

 

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

 

Инфракрасное (тепловое) излучение - это электромагнитное излучение, которое испускает любое нагретое до определенной температуры тело. ИК диапазон лежит в ближайшей к видимому свету области спектра, от 750 нм до 1000 мкм.

Источником ИК лучей, кроме нагретых тел, наиболее часто используются полупроводниковые ИК светодиоды, ИК лазеры, а приемниками являются фотодиоды, фоторезисторы или болометры. Пульт ИК управления при нажатии кнопки излучает кодированную посылку (логическую последовательность), а фотоприемник, установленный в управляемом устройстве, принимает её и выполняет требуемые действия.

Сегодня для приема ИК сигнала обычно применяется специальная микросхема, объединяющая фотоприемник, усилитель с фильтром, настроенным на определенную несущую частоту, усилитель с АРУ и детектор для получения огибающей сигнала. Работа современных устройств ИК управления достаточно надежна, а дальность составляет от нескольких метров до 40 и более метров, в зависимости от варианта реализации и уровня помех.

Пример реализации проекта с использованием ИК приемника и пульта дистанционного управления можно посмотреть здесь https://yandex.ru/efir?stream_id=4624e7137a33d7dbbbcb824749d85599&from_block=logo_partner_player

В виртуальном конструкторе Тинкеркад https://www.tinkercad.com/ блока ИК датчика с микросхемой нет, поэтому мы будем использовать микроконтроллер Ардуино. Для реализации нашей идеи последовательно выполним следующие действия:

 

1. В кейсе №5 мы с вами уже работали с Ардуино и  ультразвуковым датчиком расстояния, поэтому подключить ИК датчик к Ардуино не составит труда. Запоминаем, что «выход» ИК-датчика мы подключили к пин-6.

 

2. В нашем проекте сервопривод, открывающий двери, мы запитываем от Ардуино, поэтому удобно это будет сделать через макетную плату. Принцип сборки схемы аналогичен решению кейса №4. Запоминаем, что «сигнал» сервопривода мы подключили к пин-9.

 

 

3. Скопируйте код управления для Ардуино из Приложения кейса и вставьте его Код проекта. Запустите моделирование. Теперь, управляя кнопками «0» и «1», с помощью сервопривода мы можем открывать и закрывать входную дверь, не прикасаясь к ручке.

 

4. Дополнительное задание (выполняется по желанию). Для кнопок «0» и «1» мы использовали готовые код (0 = 16593103, 1 = 16582903). Придумайте действие для кнопки «2» и реализуйте его в вашем проекте, используя код для кнопки «2» (2 = 16615543).  ** Как определить код, соответствующий любой кнопке ИК пульта управления, можно узнать из видео https://www.youtube.com/watch?v=VcrG3KMn6o4.

*Ваш проект автоматически сохранится в вашем аккаунте.

Ответы на задания пересылайте скриншотами ваших проектов на эл. почту elena . kutsenko .543@ gmail . com или личным сообщением в ВК  наставнику https://vk.com/id223332791.

Приложение.

Пример программы управления работы сервоприводом пультом дистанционного управления

#include <Servo.h> // подключаем библиотеку для сервопривода

Servo servo_9; // называем наш сервопривод

#include <IRremote.h> // подключаем библиотеку для дистанционного управления

long button0 = 16593103; // прописываем код сигнала с пульта ДУ для кнопки "0"

long button1 = 16582903; // прописываем код сигнала с пульта ДУ для кнопки "1"

int RECV_PIN = 6; // определяем пин для приемника

long get; // 4 байта до 4 млрд значений

IRrecv irrecv(RECV_PIN); // объект приемника

decode_results results; // регистрируем декодер

 

void setup()

{

irrecv.enableIRIn(); // включаем приемник

servo_9.attach(9); // определяем пин для сервопривода

servo_9.write(0); // устанавливаем сервопривод в исходное положение "0"

}

 

void loop()

{

if (irrecv.decode(&results)){ // проверяем был ли принят результат

get = results.value; // получем значение свойства value объекта results

// закрыто по кнопке 0

if(get == button0) {

servo_9.write(0); // устанавливаем сервопривод в положение "закрыто"

delay(1000); // подождем 1000 мс, пока серво достигнет нужной позиции

}

    // открыто по кнопке 1

if(get == button1) {

servo_9.write(90); // устанавливаем сервопривод в положение "открыто"

delay(1000); // подождем 1000 мс, пока серво достигнет нужной позиции

}

     irrecv.resume(); // говорим приемнику, что данные обработаны

}

}


Дата добавления: 2021-06-02; просмотров: 191; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!