При создании проектов на Arduino. Часто возникает вопрос, с помощью чего управлять проектом. И желательно на расстоянии. Кнопки уже не модно.
Самый просто и доступный способ это управление с помощью пульта дистанционного управления и IR приемника . Реализовать можно различные проекты, например вытяжку с ик управлением.
Для урока я буду использовать вот такой набор и Arduino UNO.
Купить пульт с IR приемником всего за 100 руб. можно тут.
Приемники могут быть распаянные как в моем случае.
И вот такого плана.
Различий в подключении нет. Первый просто удобнее для тестирования и проверки работы. При подключении самое главное не перепутать ноги и подключить правильно. В противном случае приемник может сгореть.
Подключаем к Arduino UNO вот по такой схеме. К другим Ардуинкам подключается аналогично.
Для работы нам понадобиться библиотека IRremote. Скачать ее можно тут.
С библиотекой устанавливается ряд примеров. Нам понадобиться IrrecvDemo.
IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
// In case the interrupt driver crashes on setup, give a clue
// to the user what's going on.
Serial.println("Enabling IRin");
irrecv.enableIRIn(); // Start the receiver
Serial.println("Enabled IRin");
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
delay(100);
}
После того как скетч загружен и IR приемник подключен можно проверить какой код соответствует той или иной кнопке пульта ДУ. Поднажимайте на кнопки и в мониторе последовательного порта (Ctrl+Shift+M) вы уведите следующее.
;FF18E7
FFFFFFFF
FFA857
FF02FD
FF18E7
FF38C7
FF4AB5
FF5AA5
FF10EF
FF5AA5
FFFFFFFF
FF10EF
FF5AA5
У вас возник наверное вопрос что за повторяющая команда FFFFFFFF. Это команда выводиться когда вы долго удерживаете кнопку на пульте и на Ардуино приходить одинаковая команда. В этом нет ни чего страшного, а иногда это даже полезно. На основе данной команды я сделал управление машинкой с помощью пульта ДУ. При этом машинка едет только тогда, когда нажата кнопка пульта. Отпускаем и машина перестает ехать и поворачивать.
Само простое, чем можно управлять это включение и выключения встроенного светодиода на плату Arduino при помощи пульта дистанционного управления и инфракрасного приемника.Схема подключения как и в примере выше. Коды кнопок моего пульта:
//FF10EF — стрелочка вправо
//FF5AA5 — стрелочка влево
У вашего пульта команды будут другие. Код получается вот такой.
//FF10EF — стрелочка вправо
//FF5AA5 — стрелочка влево
#include "IRremote.h"
IRrecv irrecv(11); // указываем вывод, к которому подключен приемник
decode_results results;
void setup() {
irrecv.enableIRIn(); // запускаем прием
}
void loop() {
if ( irrecv.decode( &results )) { // если данные пришли
switch ( results.value ) {
case 0xFF10EF:
digitalWrite( 13, HIGH );
break;
case 0xFF5AA5:
digitalWrite( 13, LOW );
break;
}
irrecv.resume(); // принимаем следующую команду
}
delay(100);
}
Вот так можно легко научить вашу Arduinо понимать команды с пульта.
Понравилась статья? Поделитесь ею с друзьями:
Вернуться в раздел: Уроки Arduino: Подключение датчиков и модулей к Arduino Дата публикации 13 марта , 2018
Читайте также
Конфликтуют ли эти библиотеки (SoftwareSerial.h и IRremote.h)
Подключен пульт IR и блютуз шилд, проблема в приеме данных от блютуза при
irrecv.enableIRIn(); (кракозябру принимает), а если убрать
irrecv.enableIRIn(); то принимает нормально...
Прекрасная функция - работа при удержании кнопки. Можно регулировать открытие жалюзи, створок. Или увеличение потока вытяжки.
Прекрасная статья.Спасибо авторам :)
Познавательная информация. Интересно, можно это как-нибудь привязать к открыванию ворот во двор. И на какое расстояние можно рассчитывать.
Отличная статья, авторам спасибо,буду пробовать, да ,кстати, с часами все получилось
спасибо большое за статью! очень познавательно и увлекательно. попробую применить это дело на практике...
Очень интересная статья и познавательная, спасибо. А вот у меня такой вопрос. Вы говорите что смогли управлять машинкой с помощью путьта. Нажимаете едет, разжимаете останавливается. а возможно ли проделать так, чтобы нажал поехала, разжатие не останавливает машинку, машинка все еще едет. А вот повторное нажатие уже останавливает машинку?
А возможно ли организовать чтобы, например, включался светодиод но только на время удержания кнопки, и гас сразу после ее освобождения. Спасибо.
я как всегда восхищен я здесь узнаю для себя больше !
Интересная статья, как можно использовать Arduino. Все грамотно расписано, попробую на практике.
Интересная тема управление с помощью пульта. Попробую сделать, может получится.
Cпасибо, реально интерестно и познавательно, yзнал много нового)
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.