Forum

Einloggen | Registrieren | RSS  

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