Приём-передача 433 МГц
- Войдите на сайт для отправки комментариев
Доброго времени суток!
Создаю небольшой приборчик, отображающий температуру в удалённом месте (расстояние 8 метров, провод не пустить).
В прототипе всё работает:
Передатчик + приемник XY-MK-5V 433Mhz.
Передатчик подключён к Digispark (плюс на Digispark висит датчик DS20B18).
Датчик температуры висит на D2, передатчик радиосигнала на D4.
Код:
#include <OneWire.h> #include <DS18B20.h> #include <RCSwitch.h> #define ONE_WIRE_BUS 2 OneWire oneWire(ONE_WIRE_BUS); DS18B20 sensor(&oneWire); RCSwitch mySwitch = RCSwitch(); void setup() { sensor.begin(); //pinMode(1, OUTPUT); mySwitch.enableTransmit(4); } int tC; void loop() { sensor.requestTemperatures(); while (!sensor.isConversionComplete()); tC = sensor.getTempC(); mySwitch.send(tC, 24); delay(1000); }
Приёмник подключён к Arduino UNO, к D2 (прерывание 0). Тут тоже всё просто, код из примера:
#include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); void setup() { Serial.begin(9600); mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 } void loop() { if (mySwitch.available()) { Serial.print("Received "); Serial.print( mySwitch.getReceivedValue() ); Serial.print(" / "); Serial.print( mySwitch.getReceivedBitlength() ); Serial.print("bit "); Serial.print("Protocol: "); Serial.println( mySwitch.getReceivedProtocol() ); mySwitch.resetAvailable(); } }
Данные приходят!
Received 8 / 24bit Protocol: 1 Received 8 / 24bit Protocol: 1 Received 8 / 24bit Protocol: 1 Received 8 / 24bit Protocol: 1 Received 8 / 24bit Protocol: 1 Received 8 / 24bit Protocol: 1 Received 8 / 24bit Protocol: 1
Теперь пытаюсь привести модуль приёма в компактный вид:
Подключаю приёмник 433 МГц к Arduino Pro mini (5V, atmega168, 16 МГц) - не работает.
Подключаю приёмник 433 МГц к Arduino Pro mini (5V, atmega328, 16 МГц) - не работает.
Подключаю приёмник 433 МГц к Arduino Nano (5V, atmega328, 16 МГц) - не работает.
Однако если выводить digitalRead(2) в монитор порта - скачут "нолики и единички" - т.е. что-то на D2 таки приходит.
Код тот же. Подключение пинов - тоже.
Припаивал антенну к приёмнику - не влияет на результат (на передатчике она есть).
Уже вторые сутки мучаюсь, очень много гуглил - результата нет.
Пожалуйста, выручайте ))
Для проверки добавил функцию attachInterrupt().
Соответственно контроллер видит, что на D2 есть изменения HIGH/LOW, т.к. выполняется функция LaWopa. Однако протокол не распознаётся (как я понимаю):
в передатчик напряжение повыше, до 12 Вольт, антенны в оба устройства 300000/433/4=173 мм. И все эти советы есть в сети, если не йух сосать, а гуглем пользоваться.
И да, я лично это проверял. И да у меня в столе есть пара таких модулей и я смогу снять пруф-видео, что так - работает.
Ленивые новички уже порядком задолбали!!!
//плюс на Digispark висит датчик DS20B18
А либка для ds18b20. Нужно что-то менять.
Вы похоже решили что если две либки по отдельности работают, то и вместе будут.
Попринимайте чего от наивности, таблетки какие попить или травку для ингаляции ;)
в передатчик напряжение повыше, до 12 Вольт, антенны в оба устройства 300000/433/4=173 мм. И все эти советы есть в сети, если не йух сосать, а гуглем пользоваться.
И да, я лично это проверял. И да у меня в столе есть пара таких модулей и я смогу снять пруф-видео, что так - работает.
Ленивые новички уже порядком задолбали!!!
Антенны есть. 12 вольт попробую. Хорошо. Отчего тогда на 5 вольтах на Uno всё отлично работает?
//плюс на Digispark висит датчик DS20B18
А либка для ds18b20. Нужно что-то менять.
Вы похоже решили что если две либки по отдельности работают, то и вместе будут.
Попринимайте чего от наивности, таблетки какие попить или травку для ингаляции ;)
Причём тут "либка" для ds18b20??? Написал же:
"Датчик температуры висит на D2, передатчик радиосигнала на D4.
Приёмник подключён к Arduino UNO, к D2 (прерывание 0).
Данные приходят!"
расечатать?
1
Received 8 / 24bit Protocol: 1
2
Received 8 / 24bit Protocol: 1
3
Received 8 / 24bit Protocol: 1
4
Received 8 / 24bit Protocol: 1
5
Received 8 / 24bit Protocol: 1
6
Received 8 / 24bit Protocol: 1
7
Received 8 / 24bit Protocol: 1
- с датчиком в связке с передатчиком всё нормально. Тут проблемы нету.
Вы сюда поспорить пришли?
Вы даташит модуля читали. 5В его минимальное напряжение, 12В - нормальное. На минимально иногда работает нормально (зависит от миллиона факторов)