433 arduino + tiny

noxic
Offline
Зарегистрирован: 15.03.2013

Не получается связать arduinu и tiny или две тини между собой.

http://www.ebay.com/itm/1pcs-433Mhz-RF-transmitter-and-receiver-kit-for-...

Купил 5 комплектов 433 T R ов

Бьюсь уже неделю перерыл кучу инфы, видео

Скачал 4 библиотеки

RCSwitch

RemoteSwitch

manchester

VirtualWire

Сделал антенки для обоих.

Наблюдения:

Подключаю трансмиттер, подцепляю на ногу светодиод, светодиод отрабатывает импульсы - все красиво.

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

Подключаю ресивер с включенным трансмиттером, светодиод моргает также как и на трансмиттере.

Осцилографа нет.

Ни одна из библиотек не опреляет приходящие пакеты.

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

Пожалуйста помогите разобраться.

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

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

Дуин у вас сколько??? Куда и как подключаете приемник и передатчик??? Как пользуетесь например библиотекой VirtualWire ???

noxic
Offline
Зарегистрирован: 15.03.2013

дуина одна, подключаю по-разному, как в инструкции.

Если заливаю на тиньку то на нулевой пин, т.е. 5 нога.

если на ардуино то pin 11 или другой

http://www.pjrc.com/teensy/td_libs_VirtualWire.html

vw_set_tx_pin(transmit_pin)

Configure the transmit pin. Default is pin 12. Blah

vw_set_rx_pin(receive_pin)

Configure the receive pin, Default is pin 11. On Teensy 2.0, pin 11 should not be used because most receiver modules can not work correctly with the orange LED on that pin.

 

 

Ресивер

#include <VirtualWire.h>

void setup()
{

    // Initialise the IO and ISR
    vw_set_rx_pin(0);
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);	 // Bits per sec

    vw_rx_start();       // Start the receiver PLL running
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
	int i;

        digitalWrite(1, true); // Flash a light to show received good message
	// Message with a good checksum received, dump it.
	
	for (i = 0; i < buflen; i++)
	{

	}
        digitalWrite(1, false);
    }
}

 Трансмиеттер


#include <VirtualWire.h>

void setup()
{

    vw_set_tx_pin(0);
    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);	 // Bits per sec
}

void loop()
{
    const char *msg = "hello";

    digitalWrite(1, true); // Flash a light to show transmitting
    vw_send((uint8_t *)msg, strlen(msg));
    vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(1, false);
    delay(200);
}

 

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Эти модули сильно помехозависимые - не имеют шумодава. Я бы рекомендовал NRF для начала - с аппаратным контролем ошибок. С одного устройства отправил, на другом принял пакет данных. А когда познаете ДЗЕН радиосвязи. Можете попробовать эти. Вначале запустите их без ардуин - добейтесь стабильной работы. А потом уже библиотеки пробуйте.

noxic
Offline
Зарегистрирован: 15.03.2013

т.е. выходит, что у меня в квартире столько помех, что у других все нормально а у меня все плохо?

и что такое NRF?

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

NeiroN пишет:

Эти модули сильно помехозависимые - не имеют шумодава.

Какого еще "шумодава" ? О каких вы говорите шумах при цифровой передачи данных? И какие по вашему модули имеют "шумодав"?

NeiroN пишет:
Я бы рекомендовал NRF для начала - с аппаратным контролем ошибок. 

Без разницы как отслеживать ошибки, можно вообще не отслеживать. В НРФ это как и во многих протоколах - контрольная сумма и нет никакой сложности организовать это программно.

NeiroN пишет:
Вначале запустите их без ардуин - добейтесь стабильной работы. А потом уже библиотеки пробуйте.

Их нельзя запустить без МК так же как и НРФ.

noxic
Offline
Зарегистрирован: 15.03.2013

при подключении ноги ресивера к аналоговом у входу, в режиме тишины, скачет напряжение от 0 до 3 вольт, в режиме трансляции - также только чаще

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

вот - о чем я и говорю - в режими тишины должна быть тишина на выходе а у вас помехи. как вы их от данных будете отличать?

Вобщем я думаю передатчик и приемник работают на соседних каналах(нестабильность питания) поэтому у вас не тишина. библиотека должна отлавливать промежутки тишины(заведомо больше промежутков между помехами) чтобы понять что это данные.

ШШШ_____ШШШШШШ_________

__1____0____1____1____0___0_

как то так

maksim пишет:

Их нельзя запустить без МК так же как и НРФ.

И почему же - мне кажется если подать питание и установить на передатчике лог 1 на входе то на приемнике должна появиться лог 1 на выходе.

вобщем самая простая схема: передатчик - генератор несущей; приемник - свехрегенеративный.

P.S. Я себе NRFок заказал пачку - на них хоть даташит есть, а это вообще непнятная поделка кЕтайцев.

noxic
Offline
Зарегистрирован: 15.03.2013

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

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

И как вы определяете дошел пакет или нет?

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

NeiroN пишет:

вот - о чем я и говорю - в режими тишины должна быть тишина на выходе а у вас помехи. как вы их от данных будете отличать?

Вобщем я думаю передатчик и приемник работают на соседних каналах(нестабильность питания) поэтому у вас не тишина. библиотека должна отлавливать промежутки тишины(заведомо больше промежутков между помехами) чтобы понять что это данные.

Почитайте http://arduino.ru/forum/programmirovanie/podskazhite-kak-pravilno-sdelat-chtenie-dannykh-s-zashumlennogo-vkhoda

http://arduino.ru/forum/apparatnye-voprosy/biblioteka-chteniya-id-brelkov-signalizatsiii-hcs301-keeloq

NeiroN пишет:

И почему же - мне кажется если подать питание и установить на передатчике лог 1 на входе то на приемнике должна появиться лог 1 на выходе.

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

Данный протокол осуществляет например VirtualWire, так что проблема у ТС с тем что скорее всего не VirtualWire не работает на тине.