Пример программы управления работы сервоприводом пультом дистанционного управления
Кейс заданий №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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!