We are making a weather station project at our school together with my teammate, both are using windows pc:s with arduino ide to program Nodemcu 1.0.
This sketch compiles without trouble on my pc with installed libraries (adafruit dht library 1.3.0 and adafruit unified sensor library 1.0.2).
Teammate reports of error when compiling:
\Documents\Arduino\libraries\Adafruit_Sensor-1.0.1\Adafruit_Sensor.cpp:2:26: fatal error: avr/pgmspace.h: No such file or directory
#include <avr/pgmspace.h>
^
compilation terminated.
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).
we have compared libraries and both should have the same libraries installed.
#include "DHT.h"
#define DS18B20pin 4 //määritetään DS18B20 -sensorin datapin. Nodemcu pin D2 = GPIO 04
#define DHTPIN 5 //määritetään DHT11-sensorin datapin. Nodemcu pin D1 = GPIO 05.
#define LDRpin A0 //määritetään LDR-vastukselle A0 -pinni.
#define DHTTYPE DHT11 //määrittää DHT-sensorisarjasta että on DHT11 käytössä.
int DHTvalue; //DHT11 - Suhteellinen ilmankosteus prosentteina
float DSvalue; //DS18B20 - Lämpötila celciusasteina
int LDRvalue; //LDR - Valon määrä prosentteina
DHT dht(DHTPIN, DHTTYPE);
void setup() {
pinMode(DS18B20pin, INPUT);
Serial.begin(115200); //alustetaan sarjaportti ja nopeus.
dht.begin(); //alustetaan dht-kirjastosta sensori.
}
void loop() {
delay(2000); //DHT11 vaatii vähintään 2 sekunnin delayn lukujen välillä.
//luetaan valon määrä LDR-vastukselta ja tulostetaan se sarjaportille.
int ldr_lukema = analogRead(LDRpin);
LDRvalue = ldr_lukema * (100 / 1023.0); //muutetaan 0-1023 arvoinen analogiarvo prosenteiksi 0-100.
Serial.print("Valon määrä(%): ");
Serial.println(LDRvalue);
//Tarkistetaan että DHT11 lukemat ovat ok.
Serial.print("Ilmankosteusanturin tila: ");
int dht11_tila = dht.readHumidity();
if(isnan(dht11_tila)){
Serial.println("virhe");
}else{
Serial.println("OK");
}
Serial.print("Ilman suhteellinen kosteus(%): ");
Serial.println((float)dht.readHumidity());
Serial.println("-----------------------------------------------");
}