Logo

Cлучайные товары

PDI-HV2060MG 60 КГ
Плата макетная беспаечная 55х82х8.5 мм
Посмотреть товар в Магазине »

Мы в соц сетях

Подпишись на канал Мы на facebook

Форум Вопросы и темы по программированию Arduino, ESP8266, STM32, Digispark и пр.

Посмотрел работу с ir приемником. Arduino + пульта ДУ (IR). Библиотека IRremote

30 июля, 2018 - 12:04
Посмотрел работу с ir приемником
Урок 5 - Управление Arduino с помощью пульта ДУ (IR). Библиотека IRremote
Подскажите пожалуйста, а возможно ли организовать чтобы, например, включался светодиод но только на время удержания кнопки, и гас сразу после ее освобождения. нигде не получилось найти инфу((.
Спасибо.

Данный пользователь размещает вопросы и интересные темы из группы https://vk.com/portal_pk
VK-post VK-post Зарегистрирован:
4.07.2018
30 июля, 2018 - 12:05 #1
Делал машинку по такому прицепу
Собираем Arduino машинку на Motor Shield L293D и ИК пульте 
Основной принцип заключается в небольшом условии

Будущее за микроконтроллерами
Admin Admin Зарегистрирован:
3.07.2018
30 июля, 2018 - 12:06 #2
Спасибо, но ничего не получилось, почему-то при удержании кнопки ни как не мог получить results.value == 0xFFFFFFFF. Хотя как то так и
предполагалось Проблемма была решена следующим образом, может кому
поможет

Данный пользователь размещает вопросы и интересные темы из группы https://vk.com/portal_pk
VK-post VK-post Зарегистрирован:
4.07.2018
30 июля, 2018 - 12:08 #3


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

#define FORWARD 1632520375
#define outPin 13

IRrecv irrecv(A0);

unsigned long prevVal, val;
unsigned long time1, time2;

decode_results results;

void setup() // процедура setup
{

irrecv.enableIRIn(); // запускаем прием инфракрасного сигнала
pinMode(outPin, OUTPUT); // пин 13 будет выходом (англ. «output»)

Serial.begin(9600); // подключаем монитор порта
}

void loop() // процедура loop
{
delay(50);
time2=millis();
if (irrecv.decode(&results)) // если данные пришли выполняем команды
{
val = results.value;
Serial.println(val);
if (val == FORWARD && prevVal != val) {
time2=millis();
}
if(val == FORWARD && prevVal == val){
time1 = time2;
digitalWrite(outPin, HIGH);
}
if(val != prevVal && time2-time1>500){
digitalWrite(outPin, LOW);
}
prevVal = val;
irrecv.resume();
} else {
if(time2-time1>200){
digitalWrite(outPin, LOW);
}
}
}

Данный пользователь размещает вопросы и интересные темы из группы https://vk.com/portal_pk
VK-post VK-post Зарегистрирован:
4.07.2018
30 июля, 2018 - 12:09 #4
VK-post пишет:
Спасибо, но ничего не получилось, почему-то при удержании кнопки ни как не мог получить results.value == 0xFFFFFFFF. Хотя как то так и
предполагалось Проблемма была решена следующим образом, может кому
поможет
Зачем вы подключаете к аналоговому входу? Проблем не должно быть. Сделал урок по данному вопросу
Урок 6 - Свечение светодиода пока нажата кнопка на пульте ДУ (IR)

Будущее за микроконтроллерами
Admin Admin Зарегистрирован:
3.07.2018

Войдите или Зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Яндекс.Метрика

Portal-PK (Портал ПК) © 2015 - 2018 MiniYiiCMS Заказать сайт: f-studio.biz
Обратная связь
Вопрос-Ответ