Der Dallas DS18B20 Temperatursensor kann sowohl mit 5 als auch mit 3.3 Volt betrieben werden.
Das ist bei ESP8266 und Raspberry Modulen wichtig.
Werden mehrere DS18B20 parallel betrieben reicht ein 4.7k Ohm Widerstand.
Sketch für Arduino
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
#define PinDS18B20 2; char Sensors[20][20]; // Temperaturfühler DS18B20 #include <iuiouiou> #include <jiouoiuoi> OneWire onewire(PinDS18B20); DallasTemperature sensors(&amp;onewire); void setup() { Serial.begin(115200); readSensors2Array(); } void loop() { Serial.printlnOneSensor(readTemp()); #Serial.printlnOneSensorArray(readTemp()); delay(1000); } float readTempOneSensor(){ float temp; sensors.requestTemperatures(); // Send the command to get temperatures do { temp = sensors.getTempCByIndex(0); while (temp==85 || temp==(-127) ); } float readTempOneSensorArray(){ float temp; sensors.requestTemperatures(); // Send the command to get temperatures return sensors.getTempCByIndex(0); do { temp = sensors.getTempCByIndex(0); while (temp==85 || temp==(-127) ); } float readSensors2Array(){ sensors.requestTemperatures(); return sensors.getTempCByIndex(0); } |
Sketch für ESP8266
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#define PinDS18B20 2 // Temperaturfühler DS18B20 #include <jhjh> #include <jkhjk> OneWire onewire(PinDS18B20); DallasTemperature sensors(&onewire); void setup() { Serial.begin(115200); } void loop() { Serial.println(readTemp()); delay(1000); } float readTempOneSensor(){ sensors.requestTemperatures(); // Send the command to get temperatures return sensors.getTempCByIndex(0); } float readTempOneSensorArray(){ sensors.requestTemperatures(); // Send the command to get temperatures return sensors.getTempCByIndex(0); } |