Форум myROBOT.ru » Шаг за шагом » Программирование микроконтроллеров » 433 MHz RF module. Не получается использовать.

Страниц (1): [1]
 

1. opot - 02 Июня, 2015 - 17:00:50 - перейти к сообщению
Купил на ebay пару трансивер-ресивер. Вот как тут . Попытался повторить пример, только вместо второй рдуино использовал attiny26(для передачи), а принимал arduino nano.
Код для ARDUINO
CODE:
#define rfRecievePin A0
#define ledPin 13

unsigned int data = 0;

void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);

}

void loop() {
data = analogRead(rfRecievePin);

if(data>600){
digitalWrite(ledPin, HIGH);
}else{
digitalWrite(ledPin, 0);
}

Serial.println(data);
delay(100);
}

Код для ATTINY
CODE:
#define F_CPU 1000000UL

#include <avr/io.h>
#include <util/delay.h>

int main(void) {

DDRA = 0xff;

PORTA |= _BV(PA1);
PORTA &= ~_BV(PA2);

while(1){
PORTA |= _BV(PA0);
_delay_ms(2000);
PORTA &= ~_BV(PA0);
_delay_ms(2000);
}

}

Контроллеры питаю напрямую от микроконтроллеров. На выходе в com порт постоянно 0 и 743, в случайном порядке, включение-выключение передатчика не изменяют ничего. Что я делаю не так? как определить живые ли передтчики?
2. Predator - 03 Июня, 2015 - 10:10:36 - перейти к сообщению
Я так понимаю: вы хотите выставить 1, подождать 2 секунды - выставить 0, подождать 2 секунды - и так в цикле?

1) есть-ли осцилограф (или доступ к нему)
2) проверьте (хоть тестером) выставляется-ли на РА0 лог 1 и лог0
3) проверьте ток потребления передатчика (при 1 он должен быть несколько выше, чем при 0)
4) (именно после всех предыдущих манипуляций) сократите время простоя в 1 и в 0 до 1мС или даже до 200 мкС - посмотрите тестером (лучше осцилографом) на выход приемника, сравните с ситуацией при выключеном передатчике.
3. cjA - 04 Июня, 2015 - 04:44:44 - перейти к сообщению
живй ли передатчик мжн прверить фтикм, УФ если излучается т и видо. opot Дружище, а зачем п твему все эти компани сделали стандарт RC5 ?
Залезь на сайт Атмель, скачай апнуты, и сделай как там сказан, зачем велосипед избретать?
(Добавление)
если УФ излучение есть, то камера с телефона поймет его- белое мигание будет.
(Добавление)
opot пишет:
На выходе в com порт постоянно 0 и 743,
, така же бился пока между выходом и +5 не поставил переменик 10кОм, попробуй.
4. yak - 04 Июня, 2015 - 08:23:33 - перейти к сообщению
cjA пишет:
живй ли передатчик мжн прверить фтикм, УФ если излучается т и видо. opot Дружище, а зачем п твему все эти компани сделали стандарт RC5 ?

Уууу, да Вы батенька опять надрались, раз радиоканал с ИК лучами путаете Подшучивать, дразнить
Да ещё ИК(инфракрасные) УФ(ультрафиолетовыми) лучами назвали Жуть
5. opot - 06 Июня, 2015 - 14:13:34 - перейти к сообщению
Как смогу, так попробую предложенное. Осциллографа нет, увы. Можно ли как-нибудь его заменить микрофонным входом пк(на относительно низких частотах)?
Цитата:
Дружище, а зачем п твему все эти компани сделали стандарт RC5 ?

Погуглил, это вроде шифрование, зачем оно здесь?

Цитата:
Я так понимаю: вы хотите выставить 1, подождать 2 секунды - выставить 0, подождать 2 секунды - и так в цикле?

Хочу передавать 2 сек 1 и 2 сек 0. Я так понимаю в ком порте я должен видеть 2 секунды 700+ и 2 секунды 0.
6. Predator - 06 Июня, 2015 - 15:26:56 - перейти к сообщению
вот в 2 секундах и засада:
там приемник смотрит на сигнал относительно среднего уровня шумов и сигналов в полосе (всё сложнее, но суть примерно такая). Так вот - ваш сигнал он принимает за изменение среднего уровня шума и полное отсутствие полезного сигнала.
а в ком-порте вы даже напрямик (без радиоканала) не увидите 700+ и 0 см спецификацию UART и RS232 и особенно про стартовые биты и интервалы.
7. opot - 09 Июня, 2015 - 10:31:26 - перейти к сообщению
Predator пишет:
а в ком-порте вы даже напрямик (без радиоканала) не увидите 700+ и 0 см спецификацию UART и RS232 и особенно про стартовые биты и интервалы.

Почему же, arduino считывает аналогоый сигнал, я так понимаю получает его в виде числа зависящего от напряжения на ноге. Потом это число она отправляет в com порт. Если эту ногу замкнуть на 5в то показания стабильно 1024, а на 3в то всегда 714, на землю то всегда 0.

Ели я буду 2 секунды быстро моргать на передатчике, а потом просто 0, то должно нормально передаваться?
8. Predator - 09 Июня, 2015 - 16:56:29 - перейти к сообщению
вот оно что: вы выход с приемника на АЦП подаете, а потом в уарт. Если вы 2 секунды будете быстро моргать на передатчике, а потом в чистый 0, то 2 секунды вы будете получать смесь из 714 и 0 (в случайном порядке), а потом чистый 0
9. cjA - 24 Июня, 2015 - 01:14:28 - перейти к сообщению
opot, стоп, стоп, а на каких часттах эти ваши две штуки работают? тини26 вроде на одном мегагерце, а апут т атмель расчита а 16мегагерц. я сам ... замучался перерасчитывать их под 12, на ктрых у мея кварц.
(Добавление)
или у их там все на восемь. это интересый вопрос Улыбка
10. opot - 25 Июня, 2015 - 06:47:55 - перейти к сообщению
cjA пишет:
opot, стоп, стоп, а на каких часттах эти ваши две штуки работают? тини26 вроде на одном мегагерце, а апут т атмель расчита а 16мегагерц. я сам ... замучался перерасчитывать их под 12, на ктрых у мея кварц.
(Добавление)
или у их там все на восемь. это интересый вопрос Улыбка

Сейчас тини сконфигурировна н 1МГц, но это включен предделитель, а так вроде внутренний тактировщик 8МГц, только причём здесь это? delay то все равно считает задержки в абсолютном времени, частота каждого модуля не должна мешать передаче.