Не удается получить корректные данные от простого датчика температуры.
Датчик на тини13 прошивка сгенерирована в конструкторе :
homes-smart.ru/index.php/oborudovanie/be...radiomodulej-433-315
Сам датчик DS18B20 ключ:300000 . Для теста отключил радиомодули и в место esp8266 подключил порт RB3 тини13 на прямую к порту D2 arduino nano с демо примером. Получаю такие данные:
Received 251091 / 24bit 1612.00
Received 251091 / 24bit 1612.00
Received 251091 / 24bit 1612.00
Received 251091 / 24bit 1591.00
Received 251091 / 24bit 1612.00
Received 251091 / 24bit 1612.00
Скеч приемника из примера:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
float tempout=0;
#define key1 300000 // датчик температуры
void setup() {
Serial.begin(9600);
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 {
tempout=(int)(receivedCode-key1-500)/10;
// можно не делить на 10,если отправляем через езернет на компьютер- разделить можно там.
Serial.print("Received ");
Serial.print( mySwitch.getReceivedValue() );
Serial.print(" / ");
Serial.print( mySwitch.getReceivedBitlength() );
Serial.print("bit ");
Serial.println(tempout);
}
mySwitch.resetAvailable(); // сброс данных.
} // end available
}
https://photos.google.com/search/_tra_/photo/AF1QipNS0jZfdpPUGppkNB7p-PUPYOYR1V4K9m_5ezxq
Подскажите плз. где ошибка.