RR
10.01.2025, 17:45 |
Frage zum ESP8266MOD (Elektronik) |
Hallo und gutes Neues!
Ich versuche gerade ein Progamm auf dem ESP8266 zum laufen zu bringen,
und zwar das Beispiel aus https://www.mikrocontroller-elektronik.de/nodemcu-esp8266-tutorial-wlan-board-arduino-ide/ .
Blink-LED funktiniet, aber das Programm mit dem Dallas18B20 nicht. Hier der Code:
/*
NodeMCU-DallasDS18B20
Led an dem Modul ESP8266 bzw. Board NodeMCU blinken lassen
und Temperatursensor an Pin D1 auslesen
Notwendig ist die angepasste Dallas-Lib:
Download hier: https://github.com/milesburton/Arduino-Temperature-Control-Library
Eine eventuell vorhandene DallasTemperature-Lib sollte gelöscht werden, damit oben
genannte von der IDE verwendet wird
Bezugsquelle Temperatursensor: Reichelt / Conrad / Amazon - http://amzn.to/2i3WlRX
Bezugsquelle NodeMCU Board: http://amzn.to/2iRkZGi
Programm erprobt ab Arduino IDE 1.6.13
Weitere Beispiele unter https://www.mikrocontroller-elektronik.de/
*/
#define LED D0 //Interne Led auf dem NodeMCU Board LED_BUILTIN
#include <DallasTemperature.h> //Siehe Hinweis oben, verwendet wird
//https://github.com/milesburton/Arduino-Temperature-Control-Library
#include <Base64.h>
#include <OneWire.h>
#define ONE_WIRE_BUS D1 //Bestimmt Port an dem der Sensor angeschlossen ist
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
char temperaturStr[6];
void setup() {
pinMode(LED, OUTPUT); // Port aus Ausgang schalten
Serial.begin(115200);
DS18B20.begin();
}
float getTemperatur() {
float temp;
do {
DS18B20.requestTemperatures();
temp = DS18B20.getTempCByIndex(0);
delay(100);
} while (temp == 85.0 || temp == (-127.0));
return temp;
}
void loop() {
digitalWrite(LED, LOW); //Led port ausschalten
delay(1000); //1 Sek Pause
digitalWrite(LED, HIGH); //Led port einschlaten
delay(1000);
float temperatur = getTemperatur();
dtostrf(temperatur, 2, 2, temperaturStr);
Serial.print("Temperatur: " ;
Serial.println(temperaturStr);
}
Der Compiler steigt mit der Meldung: "D1 was not declared in this scope" aus.
Wie kann das sein? In Zeile 27 steht doch #define ONE_WIRE_BUS D1 .
Danke schon mal RR |
Techniker
10.01.2025, 18:38
@ RR
|
Frage zum ESP8266MOD |
» Der Compiler steigt mit der Meldung: "D1 was not declared in this scope"
» aus.
» Wie kann das sein? In Zeile 27 steht doch #define ONE_WIRE_BUS D1 .
» Danke schon mal RR
Versuche GPIO5 statt D1 |
RR
10.01.2025, 18:51
@ Techniker
|
Frage zum ESP8266MOD |
» » Der Compiler steigt mit der Meldung: "D1 was not declared in this scope"
»
» » aus.
» » Wie kann das sein? In Zeile 27 steht doch #define ONE_WIRE_BUS D1 .
» » Danke schon mal RR
»
» Versuche GPIO5 statt D1
Hab ich schon, geht nicht |
falk_0000
10.01.2025, 19:03
@ RR
|
Frage zum ESP8266MOD |
» » » Der Compiler steigt mit der Meldung: "D1 was not declared in this
» scope"
» »
wird
#define ONE_WIRE_BUS D1 //Bestimmt Port an dem der Sensor angeschlossen ist
in OneWire.h verwendet?
Wenn ja, setz des benötigte #define vor das include:
#define ONE_WIRE_BUS D1 //Bestimmt Port an dem der Sensor angeschlossen ist
#include <OneWire.h> |
RR
10.01.2025, 19:50
@ falk_0000
|
Frage zum ESP8266MOD |
» » » » Der Compiler steigt mit der Meldung: "D1 was not declared in this
» » scope"
» » »
» wird
» #define ONE_WIRE_BUS D1 //Bestimmt Port an dem der Sensor angeschlossen
» ist
» in OneWire.h verwendet?
»
» Wenn ja, setz des benötigte #define vor das include:
»
» #define ONE_WIRE_BUS D1 //Bestimmt Port an dem der Sensor angeschlossen
» ist
» #include <OneWire.h>
Danke, aber die Fehlermeldung bleibt.
Ich kann mir auch nicht vorstellen, daß das am Progamm liegt,
steht ja schon ewig im Netz..
Aber was dann? |
falk_0000
10.01.2025, 20:20
@ RR
|
Frage zum ESP8266MOD |
» » » » » Der Compiler steigt mit der Meldung: "D1 was not declared in this
» » » scope"
» » » »
» Ich kann mir auch nicht vorstellen, daß das am Progamm liegt,
» steht ja schon ewig im Netz..
» Aber was dann?
Welches Board hast du in deiner IDE gewählt?
To that end, the problem was I had the wrong board selected in the IDE. |
RR
10.01.2025, 21:06
@ falk_0000
|
Frage zum ESP8266MOD |
» » » » » » Der Compiler steigt mit der Meldung: "D1 was not declared in
» this
» » » » scope"
» » » » »
»
» » Ich kann mir auch nicht vorstellen, daß das am Progamm liegt,
» » steht ja schon ewig im Netz..
» » Aber was dann?
»
» Welches Board hast du in deiner IDE gewählt?
» To that end, the problem was I had the wrong board selected in the IDE.
ESP8266 |
RR
10.01.2025, 22:09
@ falk_0000
|
Frage zum ESP8266MOD |
» » » » » » Der Compiler steigt mit der Meldung: "D1 was not declared in
» this
» » » » scope"
» » » » »
»
» » Ich kann mir auch nicht vorstellen, daß das am Progamm liegt,
» » steht ja schon ewig im Netz..
» » Aber was dann?
»
» Welches Board hast du in deiner IDE gewählt?
» To that end, the problem was I had the wrong board selected in the IDE.
Danke für den Tip: man konnte weiter unten auch noch Node mcu ESP12 angeben - das wars!
Gruß RR |
Gast
12.01.2025, 01:19
@ RR
|
Frage zum ESP8266MOD |
Prinzipiell immer
#ifndef verwenden bevor ein #def Verwendung findet |