Несколько ИК приемников

crazyvitatas
Offline
Зарегистрирован: 02.03.2021
...
crazyvitatas
Offline
Зарегистрирован: 02.03.2021

Блин, запорол тему, а как редактировать не нашел...

крч, повесил 2 приемника VS1838B, ввод в A0, A1. Второй полностью закрыл бумагой, но в сериал пишется,  будто прочитано то с первого, то со второго(каждый блок- это отправка нового сигнала на первый приемник с пульта):

1: rawData[0]: 
     -112500

1: rawData[0]: 
     -1387400

2: rawData[0]: 
     -66900

2: rawData[0]: 
     -89300

1: rawData[0]: 
     -79900

Как правильно организовать работу нескольких ик-приемников?

скетч:

#include <IRremote.h>

IRrecv irReciver(A0);
IRrecv irReciver2(A1);

void setup(){
  
  Serial.begin(9600);

  irReciver.enableIRIn();
  irReciver2.enableIRIn();
}

void loop(){ 
 if (irReciver.decode()) { 
    Serial.print("1: ");
    irReciver.printIRResultRawFormatted(&Serial, true);
    irReciver.resume(); 
  }

  if (irReciver2.decode()) { 
    Serial.print("2: ");
    irReciver2.printIRResultRawFormatted(&Serial, true);
    irReciver2.resume(); 
  }

}

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Закрой не бумагой, а фольгой, пропробуй

crazyvitatas
Offline
Зарегистрирован: 02.03.2021

не помогло... 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Ну скетча мы не видели, поэтому гадание на хрустальных шарах на этом закончилось

crazyvitatas
Offline
Зарегистрирован: 02.03.2021

Как то так получилось, что у меня сама тема состояла только из скетча, я ещё и переживал, что тему запорол. а теперь, видимо, отмодерировали пост и оставили только "...". Добавил к первому комментарию.

b707
Offline
Зарегистрирован: 26.05.2017

А библиотека разве не требует, чтобы пин приемника был с аппаратным прерыванием?

crazyvitatas
Offline
Зарегистрирован: 02.03.2021

Ничего такого не нашел в описании... Да и в вообще, с одним приемником всё хорошо работает на любом пине, а вот несколько - принимает то сигнал правильно, но не правильно сообщает с какого датчика пришло... 

Upper
Offline
Зарегистрирован: 23.06.2020

Эта библиотека Version 0.1 July, 2009 из поставки Proteus 8  работает только с одним входом.

NikShel
Offline
Зарегистрирован: 21.01.2018

Upper пишет:

Эта библиотека Version 0.1 July, 2009 из поставки Proteus 8  работает только с одним входом.

И вход этот D2 !

Upper
Offline
Зарегистрирован: 23.06.2020

NikShel пишет:

И вход этот D2 !

Вход на прием любой.

NikShel
Offline
Зарегистрирован: 21.01.2018

Upper пишет:

NikShel пишет:

И вход этот D2 !

Вход на прием любой.

надо будет попробовать.

с библой IRLremote.h у меня работает только на D2 !

(гайверский код)

KindMan
Offline
Зарегистрирован: 19.12.2018

NikShel пишет:

с библой IRLremote.h у меня работает только на D2 !


Так это совсем другая библиотека, она работает от прерывания, а это и есть D2 и D3.

crazyvitatas
Offline
Зарегистрирован: 02.03.2021

Спасибо за инфу. Можете подсказать, какие есть варианты прицепить 4 приёмника?

Upper
Offline
Зарегистрирован: 23.06.2020

В описании к библиотеке написано, что обычно приемники можно подключать к одному входу, по принципу монтажного И. 

- You can use **multiple IR receiver** by just connecting the output pins of several IR receivers together.
 The IR receivers use an NPN transistor as output device with just a 30k resistor to VCC.
 This is almost "open collector" and allows connecting of several output pins to one Arduino input pin. 
KindMan
Offline
Зарегистрирован: 19.12.2018

crazyvitatas пишет:
Можете подсказать, какие есть варианты прицепить 4 приёмника?

А подробнее можно для чего это нужно? У меня два ИК-приемника в разных комнатах стоят и подключены к одному входу микроконтроллера.

crazyvitatas
Offline
Зарегистрирован: 02.03.2021

Предложения по подключению к одному пину мне не подходят... Нужно для игрушки, важно определять в какой именно приёмник пришёл сигнал и что именно было передано...

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Ну так подключите к разным пинам.

Только как Вы собираетесь обеспечивать, чтобы сигнал приходил только в один приемник? Приемники будут в разных комнатах?

crazyvitatas
Offline
Зарегистрирован: 02.03.2021

andriano пишет:

Ну так подключите к разным пинам.

Только как Вы собираетесь обеспечивать, чтобы сигнал приходил только в один приемник? Приемники будут в разных комнатах?

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

crazyvitatas пишет:
andriano пишет:

Ну так подключите к разным пинам.

Только как Вы собираетесь обеспечивать, чтобы сигнал приходил только в один приемник? Приемники будут в разных комнатах?

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

1. Отключите тот, который без фольги, и посмотрите, что изменится.

2. Что-то я сомневаюсь, что датчик срабатывает только на прямой сигнал. Он точно так же должен срабатывать и на отраженный, поэтому "на 4 сторонах танка" - это вряд ли будет работать. Точнее, будут срабатывать все одновременно.

crazyvitatas
Offline
Зарегистрирован: 02.03.2021

andriano пишет:

crazyvitatas пишет:
andriano пишет:

Ну так подключите к разным пинам.

Только как Вы собираетесь обеспечивать, чтобы сигнал приходил только в один приемник? Приемники будут в разных комнатах?

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

1. Отключите тот, который без фольги, и посмотрите, что изменится.

2. Что-то я сомневаюсь, что датчик срабатывает только на прямой сигнал. Он точно так же должен срабатывать и на отраженный, поэтому "на 4 сторонах танка" - это вряд ли будет работать. Точнее, будут срабатывать все одновременно.

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

Может в скетче проблема? Но я не вижу так косяков, вроде всё логично...

2. Ну, была мысль как-то сильно фокусировать, как в лазертаге...

Upper
Offline
Зарегистрирован: 23.06.2020

Повторю, эта библиотека (IRremote.h) работает ТОЛЬКО с одним входом. Посмотрите сами код библиотеки, покажите, почему вы думаете что можно использовать несколько входов.

kalapanga
Offline
Зарегистрирован: 23.10.2016

crazyvitatas, ардуиновские библиотеки - это не какая-то священная корова, на которую только избранным глядеть дозволено. Давно бы уже в код заглянули. Если здесь обсуждается вот эта библиотека: https://github.com/Arduino-IRremote/Arduino-IRremote , то там в комментариях ясно написано (IRReceive.cpp.h):

* Instantiate the IRrecv class. Multiple instantiation is not supported.

Not supported оно и в Африке not supported. 

 

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019
— Г-голубчики, — сказал Федор Симеонович озадаченно, разобравшись в почерках. — Это же п-проблема 
Бен Б-бецалеля. К-калиостро же доказал, что она н-не имеет р-решения.

— Мы сами знаем, что она не имеет решения, — сказал Хунта, 
немедленно ощетинившись. — Мы хотим знать, как ее решать.
(С)

Дальше ваще шедевр))

— К-как-то ты странно рассуждаешь, К-кристо… К-как же искать решение, к-когда его нет? 
     Б-бессмыслица какая-то…

— Извини, теодор, но это ты очень странно рассуждаешь. 
     Бессмыслица — искать решение, если оно и так есть. 
     Речь идет о том, как поступить с задачей, которая решения не имеет. 
     Это глубоко принципиальный вопрос, который, как я вижу, тебе, прикладнику, к сожалению, не доступен. 
     По-моему, я напрасно начал с тобой беседовать на эту тему.

 

crazyvitatas
Offline
Зарегистрирован: 02.03.2021

Ну ладно, ладно, унижен, но просвещён)
Просто опыта в ардуинах и сях пока маловато, открывать код библиотеки - как книгу на латыни: буквы знакомые, но понятного ничего)))
Спасибо за подсказки!