При создании
проектов на 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о понимать команды
с
пульта.
Подписывайтесь на мой канал на Youtube и вступайте в группы в Вконтакте и Facebook.
Спасибо за внимание!
Понравилась статья? Поделитесь ею с друзьями:
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.