Добрый вечер. Приобрел у вас IR remote kit от производителя sparkfun 8го февраля 2012го.
Целый день пытался заставить его работать, но, тщетно. Заметил, что в комплекте не хватало одного IR приёмника, а когда решил заглянуть внутрь непосредственного самого пульта - не досчитался одного винта, удерживающего плату под кнопками.
Хотелось бы просто поинтересоваться, не ваших ли это рук дело? И можно ли как-то этот пульт, хотя бы самостоятельно, починить, ибо терять пол тысячи рублей не очень хочется.
Проблемы с пультом ДУ
-
- Сообщения: 5
- Зарегистрирован: 14 фев 2013, 14:14
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: SecondHand под видом нового.
Здравствуйте!
Возможно вы ошиблись. Товар "[RTL-10783] Дистанционное управление ИК" в ассортименте нашего магазина появился только в мае 2012 года.
Не могли бы вы отправить нам на почту info at pacpac.ru номер вашего заказа?
Возможно вы ошиблись. Товар "[RTL-10783] Дистанционное управление ИК" в ассортименте нашего магазина появился только в мае 2012 года.
Не могли бы вы отправить нам на почту info at pacpac.ru номер вашего заказа?
-
- Сообщения: 5
- Зарегистрирован: 14 фев 2013, 14:14
Re: SecondHand под видом нового.
Благодарю сотрудников магазина за доброжелательность и замену не работающего пульта на новый, но, к сожалению, новый пульт так же отказывается работать, по всей видимости произошел брак на производстве, так как негативных отзывов относительно данного товара в сети Интернет достаточно.Mr.Kubikus писал(а):Здравствуйте!
Возможно вы ошиблись. Товар "[RTL-10783] Дистанционное управление ИК" в ассортименте нашего магазина появился только в мае 2012 года.
Не могли бы вы отправить нам на почту info at pacpac.ru номер вашего заказа?
Тем не менее, подключив к дуине домашний пульт от ТВ возник следующий вопрос.
Задача:
Управлять серво мотором ультразвуковым дальномером и инфракрасным пультом. Так как пульт и дальномер не могут одновременно посылать данные на серво, требуется добавить кнопку для включения/выключения дальномера и последующей активации пульта для работы с серво. К сожалению никак не могу обойтись без физического переключения с пульта на дальномер и обратно путем замыкания/размыкания цепи на 12ом цифровом выходе с помощью тумблера.
Код: Выделить всё
#include <rxURM04.h> //импорт библиотеки для дальномера
#include <Servo.h> //импорт библиотеки для сервопривода
Servo servo;
float rs = 0; //переменная для данных с датчика
static unsigned long timePoint = 0;
int irPin = 5; //Подключаем ножку данных TSOP приёмника
int start_bit = 2200;
int bin_1 = 1000;
int bin_0 = 400;
int ledPin = 13; //светодиод на 13-м пине
int Button = 12; //кнопка переключения управления с пульта на дальномер
int val = 0;
int pos = 0;
void setup()
{
pinMode(irPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(Button, INPUT);
digitalWrite(Button, HIGH);
Serial.begin(19200); //инициализируем Serial соединение
servo.attach(9); //подключаем сигнальный провод сервы к пину 9
URM04_init(); //инициализируем дальномер
}
void loop()
{
digitalWrite(ledPin, LOW);
val = digitalRead(Button); //опрашиваем состояние кнопки
delay(50);
switch(val)
{
case 0: Distance(); break;
case 1: ButtonControl(); break;
default: break;
}
delay(50);
}
void Distance() //функция опреления расстояния и движения сервы
{
if(millis() - timePoint > 200)
{
pos = servo.read();
servo.write(pos);
rs = URM04_getDistance(); // получение данных с датчика
//Serial.print("Дистанция: ");
//Serial.println(rs); // Вывод данных в консоль, скорость 19200 бод
rs = map(rs, 0, 350, 0, 150);
servo.write(rs);
digitalWrite(ledPin, HIGH);
delay(100);
}
}
void ButtonControl() //функция управления сервой с пульта (LEFT/RIGHT)
{
pos = servo.read();
servo.write(pos);
int key = getIRKey();
if(key != 0)
{
switch(key)
{
case 180:
{
int servopos = servo.read();
servo.write(servopos);
int irserv = servopos - 20;
servo.write(irserv);
digitalWrite(ledPin, HIGH);
delay(100);
};
break;
case 179:
{
int servopos = servo.read();
servo.write(servopos);
int irserv = servopos + 20;
servo.write(irserv);
digitalWrite(ledPin, HIGH);
delay(100);
};
break;
default: break;
}
delay(50);
}
}
int getIRKey()
{
int data[12];
int i;
while(pulseIn(irPin, LOW) < start_bit);
for(i = 0 ; i < 11 ; i++)
data[i] = pulseIn(irPin, LOW);
for(i = 0 ; i < 11 ; i++)
{
if(data[i] > bin_1)
data[i] = 1;
else if(data[i] > bin_0)
data[i] = 0;
else
return -1;
}
int result = 0;
for(i = 0 ; i < 11 ; i++)
if(data[i] == 1) result |= (1<<i);
return result; //Возвращаем код нажатой кнопки
}
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Проблемы с пультом ДУ
Здравствуйте!
Мы проверили пульт, который вы вернули. Он нормально работает. В домашних условиях вы сами можете проверить работоспособность пульта. Просто включите на вашем смартфоне режим фотокамеры, поднесите пульт к камере и нажмите на любую кнопку. На экране смартфона вы увидите как моргает ИК светодиод.
Мы проверили пульт, который вы вернули. Он нормально работает. В домашних условиях вы сами можете проверить работоспособность пульта. Просто включите на вашем смартфоне режим фотокамеры, поднесите пульт к камере и нажмите на любую кнопку. На экране смартфона вы увидите как моргает ИК светодиод.