Форум Вопросы и темы по программированию 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
6 ноября, 2018 - 09:32 #5
Admin пишет:
VK-post пишет:Спасибо, но ничего не получилось, почему-то при удержании кнопки ни как не мог получить results.value == 0xFFFFFFFF. Хотя как то так и
предполагалось Проблемма была решена следующим образом, может кому
поможет
Зачем вы подключаете к аналоговому входу? Проблем не должно быть. Сделал урок по данному вопросу
Урок 6 - Свечение светодиода пока нажата кнопка на пульте ДУ (IR)
Проблем не должно быть выход сконфигурирован как цифровой

Без кота и жизнь не та.
Алекс-458 Алекс-458 Зарегистрирован:
6.11.2018
8 ноября, 2018 - 08:36 #6
Люди. Займитесь делом. Собирате и делате что то не понятно. и возможно ненужно

Учение сила. Неучение приятный полумрак.
Дубравин-A Дубравин-A Зарегистрирован:
8.11.2018

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

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

Посмотреть товар в Магазине »

Мы в соц сетях

Подпишись на канал Telegram

Portal-PK (Портал ПК) © 2015 - 2024
Разработка проектов
AT Block
DWIN Box