Nodemcu 1.0与arduino ide,合作者无法编译草图,但我可以

时间:2016-11-15 07:15:45

标签: arduino libraries avr nodemcu

我们正在和我的队友一起在我们学校做一个气象站项目,他们都使用带有arduino ide的windows pc:s来编程Nodemcu 1.0。

这个草图在我的电脑上编译时已经安装了库(adafruit dht library 1.3.0和adafruit unified sensor library 1.0.2)。

Teammate在编译时报告错误:

\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).

我们比较了库,两者都应该安装相同的库。

#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("-----------------------------------------------");
}

1 个答案:

答案 0 :(得分:2)

问题是你的队友正在使用不同版本的Adafruit统一传感器驱动程序库。正如您从错误消息中看到的那样:

\Documents\Arduino\libraries\Adafruit_Sensor-1.0.1\Adafruit_Sensor.cpp:2:26: fatal error: avr/pgmspace.h: No such file or directory

他们使用的是1.0.1版,你使用的是1.0.2。在这两个版本之间,avr / pgmspace.h中不必要的包含removed