pro mini + dht.h + easytransfervirtualwire.h

lucky_guy
Offline
Зарегистрирован: 17.07.2018

Столкнулся с такой проблемой...
Скетч считывает данные с датчика dht22 и отправляет(именно в этом примере он отправляет счётчик) приёмнику с помощью библиотек virtual wire и etvw. И, если использовать только библиотеку vw то все ок, а если подключить etvw то ардуинка не может считать показания с датчика. Библиотеки последних версий (2-летней давности). В чем может быть дело?
Спасибо.

#include
#include
#include
#include
#define DHTPIN 5
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);
const int led_pin = 13;
const int transmit_pin = 2;
int device_id = 2;
char dataString [24];
int inpin = 0;
int val_volt = 0;
double vcc = 5.0;
unsigned int unique_device_id = 2;
unsigned int count = 0;

EasyTransferVirtualWire ET;
struct SEND_DATA_STRUCTURE{
unsigned int device_id;
unsigned int destination_id;
unsigned int packet_id;
byte command;
int data;
};

SEND_DATA_STRUCTURE mydata;

void setup() {
Serial.begin(9600);
dht.begin();
pinMode(led_pin, OUTPUT);
vw_set_tx_pin(transmit_pin);
vw_setup(2000);
analogReference(INTERNAL);
ET.begin(details(mydata));
randomSeed(analogRead(0)); // Читаем/записываем Device ID
}

void loop() {
delay(2000);
LowPower.powerDown(SLEEP_4S, ADC_OFF, BOD_OFF);
val_volt = analogRead(inpin);
double volt = (val_volt / 1023.0) * vcc;

double hum = dht.readHumidity();
double tem = dht.readTemperature();
if (isnan(hum) || isnan(tem)) {
Serial.println("Failed to read from DHT sensor!");
// return;
}
double hic = dht.computeHeatIndex(tem, hum, false);
Serial.println(hum);
Serial.println(tem);
Serial.println(hic);

mydata.device_id = unique_device_id;
mydata.destination_id = 1;
mydata.packet_id = random(65535);
mydata.command = 0;
mydata.data = count;

digitalWrite(led_pin, HIGH); // включаем светодиод для отображения процесса передачи
ET.sendData(); // отправка данных
digitalWrite(led_pin, LOW);
Serial.println("DONE");
count = count + 1;
}

lucky_guy
Offline
Зарегистрирован: 17.07.2018

Банальная нехватка памяти. Закрыто.