Надо отправить IR сигнал с ардуино

ЕвгеничЪ
Offline
Зарегистрирован: 30.09.2013

Извиняюсь за долгое молчание - был в отъезде.

Я давно уже гуглю по поводу ардуины и кондиционеров, много проблем у людей именно с этими устройствами (кондеями). Загадочные они. Вот даже нагуглил, что кто то додумался послать сразу два рава вместо одного и это помогло. Мне, к сожалению, пока не помогло. 

Я уже тут подумываю... не припояться ли мне тупо ардуиной к пульту кондиционера)))

 

Подожду вторую арудину, что бы понять, что отправляет первая.

С другой техникой стабильная работа была получена сразу.  Подопытные были медиаплеер и аудио-видеоресивер, включаются и выключаются, по меню бегают. Кстати оба устройства тоже были дешифрованны как NEC и отправлялся на них NEC.

С помощью камеры телефона всегда проверяю передачу диодом - светится.

 

Другими словами жду пока вторую ардуину, потом продолжу.

Клапауций
Offline
Зарегистрирован: 10.02.2013

ЕвгеничЪ пишет:

Другими словами жду пока вторую ардуину, потом продолжу.

зачем вторая дуино спрашивается?

у вас вторая дуино прекрасно всё будет принимать и отрабатывать, а кондидионер - нет.

*рекомендую тридуино.

ЕвгеничЪ
Offline
Зарегистрирован: 30.09.2013

Клапауций может быть при передаче рава какие то искажения, на плеер и ресивер я передавал NEC

leshak
Offline
Зарегистрирован: 29.09.2011

Ну так попроубуйте на плер и ресивер передать RAW. Сами же догадались... кто же, кроме вас, самого сможет проверить вашу догадку?

Клапауций
Offline
Зарегистрирован: 10.02.2013

ЕвгеничЪ пишет:

Клапауций может быть при передаче рава какие то искажения, на плеер и ресивер я передавал NEC

я неоднократно повторял, что пульт кондишина шлёт пакет комманд, а не одну, как в телеках и прочем.

никаких "изкажений".

ЕвгеничЪ
Offline
Зарегистрирован: 30.09.2013

Клапауций, ну вот Вы отвергаете все доводы... мол ненужна вторая ардуина, мол никаких искажений...

Может тогда сделаете предположение почему же кондиционер не реагирует на простой рав? Или даже предложите вариант, который заработает?

Клапауций
Offline
Зарегистрирован: 10.02.2013

ЕвгеничЪ пишет:

Может тогда сделаете предположение почему же кондиционер не реагирует на простой рав? Или даже предложите вариант, который заработает?

может тогда сами научитесь инетами пользоваться?

подсказываю тайный способ - не залипаем на одном форуме и не ждём, когда придёт добрый дядя и отсыплет ништяков, а набираем в хугле [кондиционер ик управление]

вторая ссылка даёт нам общее представление о теории http://habrahabr.ru/post/189142/

ЕвгеничЪ
Offline
Зарегистрирован: 30.09.2013

Клапауций, спасибо, попробую понять!

ЕвгеничЪ
Offline
Зарегистрирован: 30.09.2013

Сейчас вернулся к аудиоресиверу, сграбил по новой кнопку включения/выключения. 

Получили следующее:



4B36D32C
Decoded NEC: 4B36D32C (32 bits)
Raw (68): -22932 9000 -4450 600 -500 650 -1600 650 -500 600 -500 600 -1650 600 -500 650 -1600 600 -1650 600 -500 650 -500 600 -1650 600 -1600 650 -500 600 -1600 650 -1600 650 -500 600 -1650 600 -1600 650 -500 600 -1650 600 -500 600 -500 650 -1600 650 -1600 650 -500 600 -500 600 -1650 600 -500 650 -1600 600 -1650 600 -500 650 -500 600 

4B36D32C
Decoded NEC: 4B36D32C (32 bits)
Raw (68): -7224 9000 -4450 650 -500 600 -1650 600 -500 600 -500 650 -1600 650 -500 600 -1650 600 -1600 650 -500 600 -500 600 -1650 600 -1650 600 -500 650 -1600 600 -1650 600 -500 650 -1600 600 -1650 600 -500 650 -1600 600 -500 650 -500 600 -1650 600 -1650 600 -500 600 -500 650 -1600 650 -500 600 -1600 650 -1600 650 -500 600 -500 600 

4B36D32C
Decoded NEC: 4B36D32C (32 bits)
Raw (68): 11354 9000 -4450 650 -500 600 -1650 600 -500 600 -500 650 -1600 650 -500 600 -1600 650 -1600 650 -500 600 -500 650 -1600 600 -1650 600 -500 600 -1650 600 -1650 600 -500 650 -1600 600 -1650 600 -500 650 -1600 600 -500 650 -500 600 -1650 600 -1600 650 -500 600 -500 650 -1600 650 -500 600 -1600 650 -1600 650 -500 600 -500 600 

4B36D32C
Decoded NEC: 4B36D32C (32 bits)
Raw (68): -11408 9000 -4450 650 -500 600 -1650 600 -500 600 -500 650 -1600 650 -500 600 -1600 650 -1600 650 -500 600 -500 600 -1650 600 -1650 600 -500 650 -1600 600 -1650 600 -500 650 -1600 600 -1650 600 -500 650 -1600 600 -500 650 -500 600 -1650 600 -1600 650 -500 600 -500 650 -1600 650 -500 600 -1600 650 -1600 600 -550 600 -500 600 

Используем скетч, приведенный ниже. Ресивер включается и отключается каждые три секунды. Все нормально.





#include <IRremote.h>
	IRsend irsend;
	 
		void setup() 
    {	 
	Serial.begin(9600);
    irsend.enableIROut(36);
	}
	void loop() 
       {
	irsend.sendNEC(0x4B36D32C, 36);
            delay (3000);
	   }

 

Далее пробуем использовать рав. Ресивер не реагирует.

#include <IRremote.h>
	IRsend irsend;
	 
	unsigned int powerOn[68] = {7224, 9000, 4450, 650, 500, 600, 1650, 600, 500, 600, 500, 650, 1600, 650, 500, 600, 1650, 600, 1600, 650, 500, 600, 500, 600, 1650, 600, 1650, 600, 500, 650, 1600, 600, 1650, 600, 500, 650, 1600, 600, 1650, 600, 500, 650, 1600, 600, 500, 650, 500, 600, 1650, 600, 1650, 600, 500, 600, 500, 650, 1600, 650, 500, 600, 1600, 650, 1600, 650, 500, 600, 500, 600};
	void setup() 
    {	 
	Serial.begin(9600);
    irsend.enableIROut(36);
	}
	void loop() 
       {
	    irsend.sendRaw(powerOn, 68, 36);
        
            delay (3000);
	   }

Пробовал убирать 7224 и 9000 в начале и менять длину с 68 на 66 - не помогает. 

Что то с равом пока что не лады у меня.

ЕвгеничЪ
Offline
Зарегистрирован: 30.09.2013

Пошел вникать в статью, предложенную Клапауцием

Клапауций
Offline
Зарегистрирован: 10.02.2013

ЕвгеничЪ пишет:

Пошел вникать в статью, предложенную Клапауцием

это не я предложил - это вторая ссылка, выданная гуглом.

leshak
Offline
Зарегистрирован: 29.09.2011

igorcds пишет:

как писал leshak пробовали?

.....

Ну и, само собой, я бы посмотрел ВСЕ примеры идущие с библиотекой. И поискал бы поиском, места где используются интересующие меня функции.

Поиск по исходникам примеров на слова sendNEC, sendRaw и неминуемо наткнулся бы на пример IRRecord.ino. В котором видно как отсылается массив rawCodes. Далее, естественно возник-бы вопрос "а откуда там берутся значения?". Ищем по коду примера где заполняется этот массив... там и комментарии, и даже в Serial выводи "Recived unknown code, saving as raw". Остается или разобраться как он работает, или тупо выдрать к себе функции с говорящими именами storeCode(), sendCode(). Которые УЖЕ готовы и написаны автором библиотеки. Потом, потихоньку, когда заработает можно повыкидывать из них лишнее (поддержку ненужных протоколов и т.п.) каждый раз проверяя "не поломалось ли..".

Или вообще, прежде чем начинать писать свой код. Взял этот пример целиком. Так как он умеет и записывать и отсылать по нажатию кнопки........

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

Net
Offline
Зарегистрирован: 03.06.2014

В моем кондиционере каждая кнопка выдает два кода. Тоже интересно запустить, похоже пока без результатно.

(Но есть похожая ситуация)

1) Есть такой ИК пульт и ИК приемник http://arduino-info.wikispaces.com/IR-RemoteControl

2) Есть две  ардуины, одна с ИК приемником другая с ИК передатчиком (на устройстве откуда я их повытаскивал, они работали между сабой прекрасно)

Сканировал коды кнопок:

Car MP3
=======
----------------------
CH-        FFA25D
CH        FF629D
CH+        FFE21D

PREV        FF22DD
NEXT        FF02FD
PLAY/PAUSE    FFC23D

VOL-        FFE01F
VOL+        FFA857
EQ        FF906F

0        FF6897
100+        FF9867
200+        FFB04F

1        FF30CF
2        FF18E7
3        FF7A85

4        FF10EF
5        FF38C7
6        FF5AA5

7        FF42BD
8        FF4AB5
9        FF52AD

----------------------

Все сходится! Сходится при пересканировании на другом ИК приемнике. И эти же коды сходятся с выложиными на просторах интернета.

Т.Е. проблемма явно не в ИК приемнике, а именно в ИК передатчике (еще точнее что-то в скетче не так).

Весь интернет трещит на эту тему, но в итоге в пустую.

Частота ИК приемника 38кГц. Код кнопки при нажатии отсылается один раз.

Те же коды с ИК передатчика что зацеплен на ардуине - принимает ардуина с ИК приемником, с оригинального пульта с таким же ИК передатчиком принимает та-же ардуина с ИК приемником и ВСЕ СХОДИТСЯ.

ХЗ. Жду соображений. А еще лучше готового скетча, так как половина (если не большинство) китайских ИК пультов работают по одному принципу.

ЕвгеничЪ
Offline
Зарегистрирован: 30.09.2013

Всем доброго вечера. 

 

Был в разъездах, вернулся. Заодно приехала вторая ардуина. Сегодня попробовал покопаться в этой затее вновь.

Покопался в исходниках библиотеки. Все что понял, так это то, что первое значение отбрасывается алгоритмом.

Повесил новую ардуину с ИК приемником прямо около ИК приемника кондиционера и подал в ту сторону сигнал с другой ардуины.

Ардуина с И приемником принимает то, что ей и отправляется.

 

Нюанс только в том, что с пульта мы принимаем 74 значения, а отправлять будем 73, первое отбрасываем.

При таком раскладе по данным приемов и передачь все идентично, но кондей по прежнему молчит. 

ЕвгеничЪ
Offline
Зарегистрирован: 30.09.2013

удалено

guabr
Offline
Зарегистрирован: 12.09.2014

Добрый день. Я внимательно изучил данную ветку. Решил обратиться к Вам, так как вижу, что Вы один из старожилов здесь. Мне нравиться ваша позиция. У меня похожая проблема - не могу отправить код на нужное мне устройство. Коды считываю с пультов без проблем. ИК передатчикподключил к 3 pin. У меня Arduino Mega. Пример из библиотеки IRsendDemo работать отказывается. НЕт посыла через передатчик.

Работоспособность ИК передатчика проверял, посылая сигнал на цифровой порт 3 - светодиод зажигается...

Поскажите в чем может быть проблема.

Заранее спасибо

igorcds
Offline
Зарегистрирован: 03.12.2013

Можно схему соединения ir передатчика и приемника и собственно ваш код? светик должен моргать в такт посылам ипульсов....т.е не гореть постоянно(естест через фотоаппарат смотрим). ир передатчик подключаем к пин 3(учтите- дальность без транзистроа мала)...как что соединяли, как принимали, чем передовали?......

igorcds
Offline
Зарегистрирован: 03.12.2013

вот в этой теме мне помогли и объясняли все здоровски, надеюсь вам поможет, начинайте все с примеров из библиотеки.-

http://arduino.ru/forum/programmirovanie/ir-peredatchik

ir передатчик всегда цепляется к пин 3(по умолчанию). ВСЕГДА

guabr
Offline
Зарегистрирован: 12.09.2014

Вот код:

#include <IRremote.h>

IRsend irsend;

void setup()
{
  Serial.begin(9600);
  irsend.enableIROut(38); // режим передатчика
}

void loop() {
  if (Serial.read() != -1) {
    for (int i = 0; i < 3; i++) {
      irsend.sendNEC(0x202B24D, 32); // Sony TV power code
      delay(40);
    }
  }
}

 

Соединял модуль ИК передатчика как положено.Он у меня на платке - 3 вывода - земля, +5V, и данные.

Данные завел на 3 pin/ Через фотик и смотрел - нет ничего. А когда посылаю сигнал на цифровой выход 3 pin - он мигает. Вот код:

const int ledPin =  3;      // the number of the LED pin

int ledState = LOW;             // ledState used to set the LED
long previousMillis = 0;        // will store last time LED was updated

long interval = 1000;           // interval at which to blink (milliseconds)

void setup() {
   pinMode(ledPin, OUTPUT);      
}

void loop()
{
 
  unsigned long currentMillis = millis();
 
  if(currentMillis - previousMillis > interval) {
    // save the last time you blinked the LED
    previousMillis = currentMillis;   

     if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;

      digitalWrite(ledPin, ledState);
  }
}
 

igorcds
Offline
Зарегистрирован: 03.12.2013

Пива упился, извеняйте ежели что...Светик....В светике(внутри) самая большая площадка треугольная - это Минус, маленькая - плюс...посмотрите светик на свет- увидите...можете заменить обычным светодиодом(большой лепесток- минус, малый - плюс)..конечно плюс пускаем через 330...380...Ом....т.е вместо ir ставим обычный светодиод и смотрим как он мигает...по сути ir светодиод- это тоже самое, что и обычный светик, только ir  моргает в другом спектре и мы его не видим...т.е - если вместо ir светика можете воткнуть обычный светодиод и посмотреть как моргает обычный диод..... ну и т.д...намек типа вам....

igorcds
Offline
Зарегистрирован: 03.12.2013

В учебнике ардуино чуть ли не самый первый урок- нажал кнопку и держишь - горит светик, кнопку отпустил, светодиод погас....вы сделайте также... кнопку нажал- загорелся светодиод и пошла посылка кода ир светиком, отправте так же irsend.sendNEC(0x202B24D, 32)

#include <IRremote.h>
IRsend irsend;
decode_results results;
	 
void setup()  {
 Serial.begin(9600);
 irsend.enableIROut(36);     //38, 40  
}
	 
void loop() {   
delay(1000);
irsend.sendNEC(0x202B24D, 32);
delay(1000);
}

код по идее рабочий должен быть...вроде бы...вещает ваш код постоянно, добавте кнопку. и вещайте по условию

igorcds
Offline
Зарегистрирован: 03.12.2013

передачик-две точки присоединения( минус и плюсом раскачиваем), приемник- три точки присоединения(+ ,- , data) датой принимаем

 

igorcds
Offline
Зарегистрирован: 03.12.2013

[quote=guabr]

Соединял модуль ИК передатчика как положено.Он у меня на платке - 3 вывода - земля, +5V, и данные.

Данные завел на 3 pin/ Через фотик и смотрел - нет ничего. А когда посылаю сигнал на цифровой выход 3 pin - он мигает. Вот код:

....

ПЕРЕДАТЧИК- имеет ДВЕ ТОЧКИ СОЕДИНЕНИЯ. минус и 3 пин через резистор на плюс ир светика

guabr
Offline
Зарегистрирован: 12.09.2014

Вы меня извините, если что не  так, но мне кажется Вы не читали или не поняли то что я написал. Я Вам сообщил что светодиод у меня рабртает и мигает если я посылаю сигнал на 3pin как на обычный цифровой pin. а если я использую библиотеку IRremote.h, то никакой засвнткт и мигвния не происходит - смотрю через фотоаппрат. Вместо того чтобы посоветовать что-то дельно, чего наверно я не понимаю, Вы мне предлагаете озаботиться поиском кнопки и ее подключением. И что это изменит????

igorcds
Offline
Зарегистрирован: 03.12.2013

пост 171- код вещает по кругу.  телефоном увидите. минус( большой лепесток) к минусу,а вместо плюса подсоединяем через резистор к пин 3

igorcds
Offline
Зарегистрирован: 03.12.2013

озаботиться не то что кнопкой и ее подключением...а вам будет проще и легче по обычному нажатию кнопки и включению светодиода увидеть когда должет быть посыл ir кода

guabr
Offline
Зарегистрирован: 12.09.2014

igorcds]</p> <p>[quote=guabr пишет:

Соединял модуль ИК передатчика как положено.Он у меня на платке - 3 вывода - земля, +5V, и данные.

Данные завел на 3 pin/ Через фотик и смотрел - нет ничего. А когда посылаю сигнал на цифровой выход 3 pin - он мигает. Вот код:

....

ПЕРЕДАТЧИК- имеет ДВЕ ТОЧКИ СОЕДИНЕНИЯ. минус и 3 пин через резистор на плюс ир светика

Две точки соединения имеет светодиод, а передатчик имеет три точки!!!

http://ru.aliexpress.com/item/2PCS-Digital-38KHz-Infrared-IR-Sensor-Tran...

igorcds
Offline
Зарегистрирован: 03.12.2013

у меня такая же хрень тоже валяется, не разбирался еще... найдите ненужный пульт,  и из него возьмите ир светодиод, я свой ир передатчик делал через транзистор, в нем тоже тремя концами рулится...здесь тоже наверное тоже самое...если нужно будет  завтра отпишу про этот девайс...

igorcds
Offline
Зарегистрирован: 03.12.2013

трансивер по фотографии вроде без транзистора(мой на работе валяется, в живую не скажу прям сейчас), т.е обычный светик с ограничивающими резисторами...но как его соеденить...смогу попробовать только в понедельник.. если есть желание-может попробовать выпаять светик и запустить на ардуино....

guabr
Offline
Зарегистрирован: 12.09.2014

Я выпаял светик из рабочего пульта - попробую через резистор подключить.

Резистор какой нужен? ОМ на 100-200?

guabr
Offline
Зарегистрирован: 12.09.2014

а .. нашел в предыдущем сообщении - 300 Ом

Спасибо. резистор завтра найду - попробую. отпишусь

guabr
Offline
Зарегистрирован: 12.09.2014

igorcds пишет:

у меня такая же хрень тоже валяется, не разбирался еще... найдите ненужный пульт,  и из него возьмите ир светодиод, я свой ир передатчик делал через транзистор, в нем тоже тремя концами рулится...здесь тоже наверное тоже самое...если нужно будет  завтра отпишу про этот девайс...

Спасибо за помощь - у меня все получилось. Без транзистора действтельно расстояние срабатывания очень маленькое. Не поделитесь опытом - какой транзистор подключали, с какой обвязкой и как далеко срабатывал пульт. Заранее спасибо

maksim
Offline
Зарегистрирован: 12.02.2012

guabr пишет:

у меня все получилось.

Интересно... и как это у вас оно получилось... если вы даже не к тому выводу подключаете светодиод

guabr пишет:

У меня Arduino Mega.

// Arduino Mega
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  //#define IR_USE_TIMER1   // tx = pin 11
  #define IR_USE_TIMER2     // tx = pin 9
  //#define IR_USE_TIMER3   // tx = pin 5
  //#define IR_USE_TIMER4   // tx = pin 6
  //#define IR_USE_TIMER5   // tx = pin 46

 

guabr
Offline
Зарегистрирован: 12.09.2014

maksim пишет:

guabr пишет:

у меня все получилось.

Интересно... и как это у вас оно получилось... если вы даже не к тому выводу подключаете светодиод

guabr пишет:

У меня Arduino Mega.

// Arduino Mega
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  //#define IR_USE_TIMER1   // tx = pin 11
  #define IR_USE_TIMER2     // tx = pin 9
  //#define IR_USE_TIMER3   // tx = pin 5
  //#define IR_USE_TIMER4   // tx = pin 6
  //#define IR_USE_TIMER5   // tx = pin 46

 

светодиод подключен к 3 выводу. к нему привязана работа бублиотеки. а что, у вас не получается? не удивительно...

maksim
Offline
Зарегистрирован: 12.02.2012

guabr пишет:

а что, у вас не получается? не удивительно...

У меня не получается донести до некоторых невнимательных или некомпетентных (а порой недалеких и неумных), но слишком уверенных в себе людей суть их проблемы, которые вместо того что бы понять что им рекомендуют, пытаются залупнуться. И да вы правы - это не удивительно.

guabr пишет:

светодиод подключен к 3 выводу. к нему привязана работа бублиотеки. 

Чем привязана??? Веревкой?

В библиотеке IRremote.h написано #define IR_USE_TIMER2// tx = pin 9, что означает что для Arduino Mega (или Mega2560) для передачи сигнала предусмотрен 9 вывод (а так же методом несложных манипуляций 5, 6, 11 и 46 выводы).

А от сюда можно сделать 3 вывода:

1. Вы не отличаете платформы Arduino друг от друга.
2. Вам кажется, что у вас что то работает.
3. Вы не понимаете, что вам пишут.

Все три вывода подтверждают выше написанное.
 

igorcds
Offline
Зарегистрирован: 03.12.2013

guabr, зря вы maksim зацепили. :) .....у вас не получается?... :)  обратите внимание(пошартесь по форуму) -maksim активно помогает всем желающим изучить платформу ардуино.....как то невежливо и смешно....

Схема подключения ir ресивера и трансивера. Я брал транзистор из того же пульта где и ir светодиод (буквы не помню, цифры помоему 8050), естественно транзистор не смд был. Дальность...по крайней мере метров 6 есть. IR передатчик собран в колпачек от ручки( идеально вмещает и транзистор+два резистора и собственно сам светик)

guabr
Offline
Зарегистрирован: 12.09.2014

maksim пишет:

guabr пишет:

а что, у вас не получается? не удивительно...

У меня не получается донести до некоторых невнимательных или некомпетентных (а порой недалеких и неумных), но слишком уверенных в себе людей суть их проблемы, которые вместо того что бы понять что им рекомендуют, пытаются залупнуться. И да вы правы - это не удивительно.

guabr пишет:

светодиод подключен к 3 выводу. к нему привязана работа бублиотеки. 

Чем привязана??? Веревкой?

В библиотеке IRremote.h написано #define IR_USE_TIMER2// tx = pin 9, что означает что для Arduino Mega (или Mega2560) для передачи сигнала предусмотрен 9 вывод (а так же методом несложных манипуляций 5, 6, 11 и 46 выводы).

А от сюда можно сделать 3 вывода:

1. Вы не отличаете платформы Arduino друг от друга.
2. Вам кажется, что у вас что то работает.
3. Вы не понимаете, что вам пишут.

Все три вывода подтверждают выше написанное.
 

Вам  мне кажется нужно не форуме сидеть, а обучать свою жену дома-она Вас внимательно выслушает.

Я не понимаю что Вы здесь взъерошились. Обвиняете меня в некомпетентности, а я ведь вас лично ни о чем не просил. и сказал что у меня все получилось.

Вы, мне кажется, привыкли слушать только себя. ну и занимайтесь этим самостоятельно.

А насчет того что кому кажется, то мне совсем не кажется, что мой телевизор получает код, посланный arduino, при том двумя разными - Mega и Nano. ЭТО ФАКТ. И как бы Вам не было странно и обидно за свои познания, о УЖАС!!! светодиод подключен и на одной и на другой через 3 pin.

Вы, господин неуравновешенный всезнайка не, видимо сегодня что-то не то съели. Это бывает.

Да и осень началась, а как известно по осени обостряются нервные заболевани...

Удачи, не тратье свои силы, в этом нет необходимости.

guabr
Offline
Зарегистрирован: 12.09.2014

igorcds пишет:

guabr, зря вы maksim зацепили. :) .....у вас не получается?... :)  обратите внимание(пошартесь по форуму) -maksim активно помогает всем желающим изучить платформу ардуино.....как то невежливо и смешно....

Схема подключения ir ресивера и трансивера. Я брал транзистор из того же пульта где и ir светодиод (буквы не помню, цифры помоему 8050), естественно транзистор не смд был. Дальность...по крайней мере метров 6 есть. IR передатчик собран в колпачек от ручки( идеально вмещает и транзистор+два резистора и собственно сам светик)

Я никого не цеплял. Оно зацепилось само. я же написал что все получилось. А господин всезнайка решил что так не бывает, потому что не может быть!!!

А Вам огромное спасибо. Именно об этом я и спрашивал

igorcds
Offline
Зарегистрирован: 03.12.2013

Какой то вы нервный. Чем плохо быть всезнайкой, или хотят бы быть компетентным в каком либо вопросе? А так вообще, здесь принято - конкректно излагать свой вопрос...ваша аппаратура, ваш Код, ну и собственно сам вопрос.... И т.п.

maksim
Offline
Зарегистрирован: 12.02.2012

guabr пишет:

Вам  мне кажется нужно не форуме сидеть, а обучать свою жену дома-она Вас внимательно выслушает.

А вы жену уже свою обучили? И поэтому здесь сидите?

guabr пишет:

Я не понимаю что Вы здесь взъерошились. Обвиняете меня в некомпетентности, а я ведь вас лично ни о чем не просил. и сказал что у меня все получилось.

А насчет того что кому кажется, то мне совсем не кажется, что мой телевизор получает код, посланный arduino, при том двумя разными - Mega и Nano. ЭТО ФАКТ. И как бы Вам не было странно и обидно за свои познания, о УЖАС!!! светодиод подключен и на одной и на другой через 3 pin.

А то что вот из-за таких засерал как вы, которые стоят на своем и дезинформируют других, потом люди, читая ваши посты, мучаются - "мол ну как же у него же получилось!".

И я вам привел ряд вариантов, почему это происходит, и это не значит, что они возможны только все вместе. Факты ваши ничего не стоят. Вам черным по белому пишут (не я, а автор библиотеки пишет), что библиотека IRremote.h на Arduino Mega (или Mega2560передает сигнал на 9 выводе, по ссылкам перейдите и посмотрите как они выглядят, так как вы точно их не различаете.

guabr пишет:

Вы, мне кажется, привыкли слушать только себя. ну и занимайтесь этим самостоятельно.

Вы, господин неуравновешенный всезнайка не, видимо сегодня что-то не то съели. Это бывает.

Да и осень началась, а как известно по осени обостряются нервные заболевани...

Удачи, не тратье свои силы, в этом нет необходимости.

По поводу всего этого не буду много расписывать, объединю в несколько слов: дорогой вы наш господин, пошли бы вы в жопу.

Да и правда, что тратить на вас время, что с вами спорить, вы все равно как только поймете, что не правы ,то заткнетесь и никогда в этом не признаетесь.

guabr
Offline
Зарегистрирован: 12.09.2014

maksim пишет:

guabr пишет:

Вам  мне кажется нужно не форуме сидеть, а обучать свою жену дома-она Вас внимательно выслушает.

А вы жену уже свою обучили? И поэтому здесь сидите?

guabr пишет:

Я не понимаю что Вы здесь взъерошились. Обвиняете меня в некомпетентности, а я ведь вас лично ни о чем не просил. и сказал что у меня все получилось.

А насчет того что кому кажется, то мне совсем не кажется, что мой телевизор получает код, посланный arduino, при том двумя разными - Mega и Nano. ЭТО ФАКТ. И как бы Вам не было странно и обидно за свои познания, о УЖАС!!! светодиод подключен и на одной и на другой через 3 pin.

А то что вот из-за таких засерал как вы, которые стоят на своем и дезинформируют других, потом люди, читая ваши посты, мучаются - "мол ну как же у него же получилось!".

И я вам привел ряд вариантов, почему это происходит, и это не значит, что они возможны только все вместе. Факты ваши ничего не стоят. Вам черным по белому пишут (не я, а автор библиотеки пишет), что библиотека IRremote.h на Arduino Mega (или Mega2560передает сигнал на 9 выводе, по ссылкам перейдите и посмотрите как они выглядят, так как вы точно их не различаете.

guabr пишет:

Вы, мне кажется, привыкли слушать только себя. ну и занимайтесь этим самостоятельно.

Вы, господин неуравновешенный всезнайка не, видимо сегодня что-то не то съели. Это бывает.

Да и осень началась, а как известно по осени обостряются нервные заболевани...

Удачи, не тратье свои силы, в этом нет необходимости.

По поводу всего этого не буду много расписывать, объединю в несколько слов: дорогой вы наш господин, пошли бы вы в жопу.

Да и правда, что тратить на вас время, что с вами спорить, вы все равно как только поймете, что не правы ,то заткнетесь и никогда в этом не признаетесь.

Правильно не нужно тратить время, а то Вы только и умеете посылать в жопу.

Не нужно встревать туда, куда Вас не просят, да еще и с наездами и тогда все будет в порядке.

Форум не Ваша собственность, и не смотря на то что Вы здесь обитаете давно, никто не давал Вам право неуважительно относиться к новичкам в том числе. Если вы не умеете себя сдерживать и Вам надоело учить нас некомпетентных, то может Вам стоит заняться чем-нибудь другим...

А форум этот похоже засирается Вами, потому что Вы по делу написали 4 строчки, а дерьма уже вылили на две страницы

Про Megu я погорячился - она у меня на приеме сигнала от светодиода от светодиода стояла

maksim
Offline
Зарегистрирован: 12.02.2012

guabr пишет:

форум этот похоже засирается Вами, потому что Вы по делу написали 4 строчки, а дерьма уже вылили на две страницы

Про Megu я погорячился - она у меня на приеме сигнала от светодиода от светодиода стояла

Ну так не без вашей помощи. Написано по делу вам было сразу.

igorcds
Offline
Зарегистрирован: 03.12.2013

вот мы и обсудили работу библиотеки IRremote.h во всех ее проявлениях...лучше подскажите такой вопрос(чуть не по теме):

ардуино мини и уно, на А0, А1, А2 собраны три вольтметра DC предел измерения 30V(делитель 1МОм и 380КОм). Минус измеряемого напряжения и ардуино естст общий. При наличии 12В. в течении 6 секунд в каком либо из каналов выполняется определенное действие(вкл светодиод к примеру). На каждый Аналаговый вход поставил "подпорку" 3В., дабы исключить ложное срабатывание.

Все работает идеально, но раз в сутки на каком либо из каналов происходит самопроизвольное срабатывание(12Вольт на входе более 6 секунд ). Пробовал разные источники питания ардуино и разные сами ардуино(мини и уно) и с подпоркой и без, код - простейшее считывание аналогпина и включение LED. Куда копать?

leshak
Offline
Зарегистрирован: 29.09.2011

>код - простейшее считывание аналогпина и включение LED. Куда копать?

В простейшем коде нахомутать - проще простого. Так что "12 Вольт на вохде более 6 секунд" - это совсем не факт. Возможно саму засечку времени делаете криво. Это еще доказать нужно (например логом, каждые пол секунды, выводить "что там есть"). Или код покажите, может увидим чего, если не увидим, то... схему покдлючения тоже прийдтется показывать. Кто ж знает что такое "поставил подпорку" в вашем понимании...
И это... причем тут IRRemote?

 

2maksim: а вы уверены что "одаренный" вообще использует IRRemote а не какой-то ее форк? Врочем вопрос риторически :)  Ваше желание продолжать разгадывать его загадки - и так понятно :)

igorcds
Offline
Зарегистрирован: 03.12.2013

IRRemote не причем конечно, накалилась обстановка, как бы спросил чтобы отвлечь внимание от спора.... код на работе в ноуте, завтра новую ветку открою и код выложу. подпорка- 5В. с ардуино через делитель до 3В. и через диоды на каждый Аналоговый вход... без подпорки тоже самое...

maksim
Offline
Зарегистрирован: 12.02.2012

leshak пишет:

2maksim: а вы уверены что "одаренный" вообще использует IRRemote а не какой-то ее форк? Врочем вопрос риторически :)  Ваше желание продолжать разгадывать его загадки - и так понятно :)

Я пока не натыкался на другие либы, так что вероятность была высокой.

leshak
Offline
Зарегистрирован: 29.09.2011

maksim пишет:

leshak пишет:

2maksim: а вы уверены что "одаренный" вообще использует IRRemote а не какой-то ее форк? Врочем вопрос риторически :)  Ваше желание продолжать разгадывать его загадки - и так понятно :)

Я пока не натыкался на другие либы, так что вероятность была высокой.

Как минимум один форк был моим первым проектом на ардуино :)  (правда - не паблишил я его).
Но не все так поступают, если верить github-у, то имеем 369 форков https://github.com/joshuajnoble/Arduino-IRremote/network/members
Есть и  форки форков. Уверены, что какой-нибудь из них не использует другой пин? думаю - нет.

А еще есть которые "чуть другое имя" имеют. Вот к примеру https://github.com/arduino/Arduino/tree/master/libraries/RobotIRremote
Имя другое, а внутрях та же IRRemote + парочка доп. классов-утилит.

Кстати... меньше недели назад на форуме мелкало http://arduino.ru/forum/programmirovanie/oshibka-pr-kompilyatsii
И, что характерно, о том что "это другая библиотека", можно было догадатся только по пути, который выбросила ошибка компиляции.

Вот поэтому, те кто жалуется "ой, что-то не так", и не дают ссылки на библиотеки которые ОНИ используют - сами себе злобные буратины. Какие-бы популярные библиотеки это небыли, и как бы не казалось что "это популярная, все и так ее знают".
 

igorcds
Offline
Зарегистрирован: 03.12.2013

про вольтметры, вот ветка

http://arduino.ru/forum/programmirovanie/signalizatsiya#comment-80898

Artemiy
Offline
Зарегистрирован: 20.10.2014

Уважаемые Ардуинцы.

Возникла такая же задача Записать и послать код с Ардуины в кондей.

Взял пример из библиотеки IRLib IRrecord.

#include <IRLib.h>

int RECV_PIN = 2;

IRrecv My_Receiver(RECV_PIN);
IRdecode My_Decoder;
IRsend My_Sender;
/*
 * Because this version of the library separated the receiver from the decoder,
 * technically you would not need to "store" the code outside the decoder object
 * for this overly simple example. All of the details would remain in the object.
 * However we are going to go ahead and store them just to show you how.
 */
// Storage for the recorded code
IRTYPES codeType;          // The type of code
unsigned long codeValue;   // The data bits if type is not raw
int codeBits;              // The length of the code in bits

// These values are only stored if it's an unknown type and we are going to use
// raw codes to resend the information.
unsigned int rawCodes[RAWBUF]; // The durations if raw
int rawCount;                   //The number of interval samples

bool GotOne, GotNew; 

void setup()
{
  GotOne=false; GotNew=false;
  codeType=UNKNOWN; 
  codeValue=0; 
  Serial.begin(9600);
  delay(2000);while(!Serial);//delay for Leonardo
  Serial.println(F("Send a code from your remote and we will record it."));
  Serial.println(F("Type any character and press enter. We will send the recorded code."));
  My_Receiver.enableIRIn(); // Start the receiver
}

// Stores the code for later playback
void storeCode(void) {
  GotNew=true;
  codeType = My_Decoder.decode_type;
  if (codeType == UNKNOWN) {
    Serial.println("Received unknown code, saving as raw");
    // To store raw codes:
    // Drop first value (gap)
    // As of v1.3 of IRLib global values are already in microseconds rather than ticks
    // They have also been adjusted for overreporting/underreporting of marks and spaces
    rawCount = My_Decoder.rawlen-1;
    for (int i = 1; i <=rawCount; i++) {
      rawCodes[i - 1] = My_Decoder.rawbuf[i];
    };
    My_Decoder.DumpResults();
    codeType=UNKNOWN;
  }
  else {
    Serial.print(F("Received "));
    Serial.print(Pnames(codeType));
    if (My_Decoder.value == REPEAT) {
      // Don't record a NEC repeat value as that's useless.
      Serial.println(F("repeat; ignoring."));
     }
     else {
       codeValue = My_Decoder.value;
       codeBits = My_Decoder.bits;
     }
     Serial.print(F(" Value:0x"));
     Serial.println(My_Decoder.value, HEX);
  }
}
void sendCode(int repeat) {
  if(codeType== UNKNOWN) {
    // Assume 38 KHz
    My_Sender.IRsendRaw::send(rawCodes,rawCount,38);
    Serial.println(F("Sent raw"));
    return;
  }
  if( !GotNew ) {//We've already sent this so handle toggle bits
    if (codeType == RC5) {
      codeValue ^= 0x0800;
    }
    else if (codeType == RC6) {
      codeValue ^= 0x10000;
    }
  }
  GotNew=false;
  My_Sender.send(codeType,codeValue,codeBits);
  Serial.print(F("Sent "));
  Serial.print(Pnames(codeType));
  Serial.print(F(" Value:0x"));
  Serial.println(codeValue, HEX);
}

void loop() {
  if (Serial.read() != -1) {
    if(GotOne) {
      sendCode(0);
      My_Receiver.enableIRIn(); // Re-enable receiver
    }
  } 
  else if (My_Receiver.GetResults(&My_Decoder)) {
    My_Decoder.decode();
    GotOne=true;
    storeCode();
    delay(1000);
    My_Receiver.resume(); 
  }
}

C пульта считал код. Оказался: Received NEC Value:0x12181110

Теперь хочу загрузить скетч который посылает этот код. И тут я немного встал в ступор. К какому пину подключить передатчик? И главное какой? На фотке: https://dl.dropboxusercontent.com/u/52880771/%D0%A4%D0%BE%D1%82%D0%BE%2014.02.15%2C%2021%2024%2002.jpg их три.

Кто есть ху? Считывал с пульта я крайним справа. А посылать каким? И к какому пину его подключать. В этой теме писали, что резистор надо еще вешать. Надо ли, и какой из этих двух (я так понял, крайний справа уже имеет обвязку и ни в чем не нуждается) использоватть для передачи кода с ардуины на кондей?

 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Крайний левый-передатчик,если не ошибаюсь:)