Подключение датчика DHT11
- Войдите на сайт для отправки комментариев
Вс, 19/11/2017 - 23:19
Добрый вечер, имеется задача, считать данные с датчика газаЮ датчика температуры и влажности и отправить по радиоканалу на вторую плату. Задача несложная, но столкнулся с проблемой, вот этот скетч работает и все отлично выводит:
#include "DHT.h"
#define DHTPIN 10 // номер пина, к которому подсоединен датчик
DHT dht(DHTPIN, DHT11);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
// Задержка 2 секунды между измерениями
delay(2000);
//Считываем влажность
float h = dht.readHumidity();
// Считываем температуру
float t = dht.readTemperature();
// Проверка удачно прошло ли считывание.
if (isnan(h) || isnan(t)) {
Serial.println("Не удается считать показания");
return;
}
Serial.print("Влажность: ");
Serial.println(h);
Serial.print("Температура: ");
Serial.println(t);
}
А когда я его вставляю в свой скетч для передачи (передача пока опущена, там передовался один байт, есть лишние переменные), появляется следующий баг - даные считываются с датчика только один раз, остальное не видит

#include <SPI.h>
#include <Mirf.h>
#include <nRF24L01.h>
#include <MirfHardwareSpiDriver.h>
#include "DHT.h"
#define DHTPIN 10 //
DHT dht(DHTPIN, DHT11);
byte i=0;
void setup(){
dht.begin();
pinMode (9,OUTPUT);
pinMode (6,INPUT);
for (i=0;i<=4;i++){
digitalWrite(9,HIGH);
delay(200);
digitalWrite(9,LOW);
delay(200);
}
Serial.begin(9600);
Mirf.spi = &MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR((byte *)"serv1");
Mirf.payload = 1;
Mirf.config();
Serial.println("Beginning ... ");
}
void loop(){
byte k=9,v=0,f=8;
float h = dht.readHumidity();
float t = dht.readTemperature();
f=digitalRead(6);
Serial.print("f=");
Serial.println(f);
if (isnan(h) || isnan(t)) {
Serial.println("Не удается считать показания");
return;
}
Serial.print("Влажность: ");
Serial.println(h);
Serial.print("Температура: ");
Serial.println(t);
/*
Mirf.setTADDR((byte *)"clie1");
Mirf.send((byte *) &f);*/
delay(2000);
}
Помогите решить проблему начинающему программисту
может поможет
anton322017, дай пожалуйста ссылочку на твою библиотеку!
у меня скетч написан по такойже библиотеке, но свою я просрал после переустановки.