Добрый вечер. Есть проект "Беспроводной датчик температуры и влажности на базе радиомодулей 433/315" и там есть конструктор прошивки для Attiny13 + FS1000A в качестве без проводного датчика для DS18B20. Принимать сигнал можно на Arduino + MX-RM-5V. Применяется библиотека RCswitch. Там же есть алгоритм приема и пример приема данных на Arduino.
[spoiler title=Скетч примера]
#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 на лсд экран или отправлятся через езернет.
}
[/spoiler]
Попробовал создать ПБ. Но не хватает мозгов. На экране отображается всегда 0,00. Прошу помощи. Вот мой проект:
Передатчик FS1000A и приемник MX-RM-5V
Передатчик FS1000A и приемник MX-RM-5V
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- ViktorPetrov
- Капитан
- Сообщения: 807
- Зарегистрирован: 09 апр 2018, 23:56
- Имя: Виктор
- Благодарил (а): 4 раза
- Поблагодарили: 1 раз
Передатчик FS1000A и приемник MX-RM-5V
[ref]Alex787[/ref], Вам наверное нужны для проекта, блоки приема и передачи данных.
Блок приема-передачи данных по протоколу 2262 и 1527
Блоки приема и передачи данных посредством RF433 канала
Блок приема-передачи данных по протоколу 2262 и 1527
Блоки приема и передачи данных посредством RF433 канала
Передатчик FS1000A и приемник MX-RM-5V
Да, я выдел эти блоки. Только передатчик не влезет в 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.
#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.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей