Подключение датчика 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, дай пожалуйста ссылочку на твою библиотеку!
у меня скетч написан по такойже библиотеке, но свою я просрал после переустановки.