Передатчик FS1000A и приемник MX-RM-5V

Без проводной датчик температуры на Attiny13 и Arduino.

Ответить
Alex787
Рядовой
Сообщения: 3
Зарегистрирован: 26.10.2019{, 10:05}
Репутация: 0
Имя: Олег

Передатчик FS1000A и приемник MX-RM-5V

#1

Сообщение Alex787 » 17.11.2019{, 22:30}

Добрый вечер. Есть проект "Беспроводной датчик температуры и влажности на базе радиомодулей 433/315" и там есть конструктор прошивки для Attiny13 + FS1000A в качестве без проводного датчика для DS18B20. Принимать сигнал можно на Arduino + MX-RM-5V. Применяется библиотека RCswitch. Там же есть алгоритм приема и пример приема данных на Arduino.
Скетч примераПоказать
#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

float tempout=0,tempin=0,Hr=0;

#define key1 30000 // датчик температуры
#define key2 30300 // датчик температуры
#define key3 30500 // датчик влажность


void setup() {

mySwitch.enableReceive(0); // Receiver on inerrupt 0 => that is pin #2 // иницилизация.Используется вывод м/к с прерыванием под номером 0.
}
void loop() {

if (mySwitch.available()) {

unsigned long receivedCode= mySwitch.getReceivedValue();
if (receivedCode == 0) {
// обработка:не верный формат данных
} else {

if (key1<=receivedCode && key1+999>receivedCode) tempout=(float)(receivedCode-key1-500)/10;
else if (key2<=receivedCode && key2+999>receivedCode) tempin=(float)(receivedCode-key2-500)/10;
else if (key3<=receivedCode && key3+999>receivedCode) Hr=(float)(receivedCode-key3)/10;//пример для влажности
// можно не делить на 10,если отправляем через езернет на компьютер- разделить можно там.

}

mySwitch.resetAvailable(); // сброс данных.
} // end available
// тут могут выводится данные tempout и tempin на лсд экран или отправлятся через езернет.

}
Попробовал создать ПБ. Но не хватает мозгов. На экране отображается всегда 0,00. Прошу помощи. Вот мой проект:
Test_RF433.flp
(157.2 КБ) 45 скачиваний

Аватара пользователя
ViktorPetrov
Лейтенант
Сообщения: 677
Зарегистрирован: 09.04.2018{, 23:56}
Репутация: 49
Имя: Виктор

Передатчик FS1000A и приемник MX-RM-5V

#2

Сообщение ViktorPetrov » 18.11.2019{, 19:14}

Alex787, Вам наверное нужны для проекта, блоки приема и передачи данных.
Блок приема-передачи данных по протоколу 2262 и 1527
Блоки приема и передачи данных посредством RF433 канала

Alex787
Рядовой
Сообщения: 3
Зарегистрирован: 26.10.2019{, 10:05}
Репутация: 0
Имя: Олег

Передатчик FS1000A и приемник MX-RM-5V

#3

Сообщение Alex787 » 18.11.2019{, 19:38}

Да, я выдел эти блоки. Только передатчик не влезет в Attiny13. А на приемник я не понял как туда прописать ключ.

#define key1 30000 // датчик температуры

if (key1<=receivedCode && key1+999>receivedCode) tempout=(float)(receivedCode-key1-500)/10;

Вот описание:
receivedCode - это принятый код.
key - это константа код-идентификатор,которую мы задавали при передаче текущих данных.
temp - полученная температура с одним знаком после запятой.
Откуда взялось число 999 ? - это указание диапазона,в котором число будет воспринято как данная температура в диапазоне -49.9 до +49.9
Для отправки НЕ отрицательного значения мы можем упустить прибавления числа 500
Для отправки ЦЕЛОГО числа мы можем не умножать на 10 при передаче,а при приеме не делить на 10

В конструкторе для Attiny13 задается ключ. Вот я и не знаю как его прописать.

Конструктор прошивки:

DS18B20 DHTT11
Протокол: двоичный
Ключ температура: 30000
Ключ влажность: 12000 Только для датчиков DHT.

Ответить

Вернуться в «Помогите, а то я "нимагу"»