Zeige Quelltext Ältere Versionen Links hierher PDF exportieren Teilen auf ... Google+ Twitter LinkedIn Facebook Pinterest Telegram Inhaltsverzeichnis Temperatur messung DS18B20 Spezifikation DS18B20 mit Wasserdichtes Gehäuse Parasitenmodus / Normalmodus Verdrahtung herunterladbare Libraries Github Beispielprogramm Quellen LM75A Technische Details Schaltplan des LM75A Adressierung des LM75A LM75A Software Thermistoren Analoges Thermistorthermometer-Modul KY-013 Verdrahtung von KY-013 Software Quelle Temperatur messung Auf dieser Seite liste ich die Lösungen auf, die nur zur Temperaturmessung geeignet sind. Dort finden Sie Temperaturmessmodule in Kombination mit Feuchtemessungen wie dem SI7021. DS18B20 Der digitale Temperatursensor DS18B20 wurde von Maxim (ehemals Dallas) entwickelt. Der Sensor kommuniziert über einen 1-Draht-Bus und hat einen Messbereich von -55 ° C ~ 125 ° C. Es wurde im Wesentlichen zur Messung der Umgebungstemperatur (Lufttemperatur) entwickelt, dem häufigsten Sensor dieser Art in einer Arduino-Umgebung. Die auf dem DS18B20-Modul montierte Version heißt KY001 : Spezifikation Messbereich: -55 ° C bis + 125 ° C (-67 ° F bis + 257 ° F) Genauigkeit: ± 0,5 ° C / -10 ° C bis + 85 ° C. Auflösung: programmierbare Auflösung von 9 bis 12 Bit Anzahl der Drähte: Benötigt nur 2 Drähte im Parasitenmodus (DQ und GND) Authentifizierung: Jeder Sensor verfügt über eine eindeutige 64-Bit-Kennung, die im ROM gespeichert ist Parametrisierung: Flexible, benutzerdefinierbare, nichtflüchtige (NV) Alarmeinstellungen (mit dem Alarmsuchbefehl) Kapselung: TO-92, SO, uSOP DS18B20 mit Wasserdichtes Gehäuse Es gibt auch eine wasserdichte Version des Sensors, bei der die Verkabelung wie folgt ist: schwarz: GND weiß/gelb: DATA rot: Vdd (5V+) Es ist eine gute Idee, diese Reihenfolge auch für die Anschlüsse beizubehalten (schwarz, weiß / gelb, rot), da Sie den Anschluss als Test durch einen "Barfuß" -IC ersetzen können, wenn etwas schief geht. Die Daten- und Vdd-Kabel (5 V +) müssen für jeden Modus an einen 4,7 k-Widerstand angeschlossen werden. Parasitenmodus / Normalmodus NormalmodusParasitenmodus Im normalen 3-Draht-Modus wird die Stromversorgung vom Vdd über ein Kabel bereitgestellt, das mit den Vdd-Pins der ICs verbunden ist.Im Parasiten-2-Draht-Modus müssen die Vdd-Zweige der ICs mit GND verbunden sein, die Stromversorgung ist auf dem Datenkabel implementiert. Verdrahtung Das Bild oben zeigt den 3-Draht-Normalmodus-Anschluss eines Sensors. Die Daten- und Vdd-Drähte (5 V +) müssen für jeden Modus an einen 4,7-k-Widerstand angeschlossen werden. Wenn das Messergebnis -127 ist, stimmt etwas mit der Verbindung nicht. herunterladbare Libraries oneWire.h : https://www.arduinolibraries.info/libraries/one-wire dallasTemperature.h: https://github.com/milesburton/Arduino-Temperature-Control-Library Github https://github.com/milesburton/Arduino-Temperature-Control-Library https://github.com/RobTillaart/Arduino/tree/master/libraries/DS18B20 Beispielprogramm /********************************************************************/ // First we include the libraries #include <OneWire.h> #include <DallasTemperature.h> /********************************************************************/ // Data wire is plugged into pin 2 on the Arduino #define ONE_WIRE_BUS 2 /********************************************************************/ // Setup a oneWire instance to communicate with any OneWire devices // (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS); /********************************************************************/ // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); /********************************************************************/ void setup(void) { // start serial port Serial.begin(9600); Serial.println("Dallas Temperature IC Control Library Demo"); // Start up the library sensors.begin(); } void loop(void) { // call sensors.requestTemperatures() to issue a global temperature // request to all devices on the bus /********************************************************************/ Serial.print(" Requesting temperatures..."); sensors.requestTemperatures(); // Send the command to get temperature readings Serial.println("DONE"); /********************************************************************/ Serial.print("Temperature is: "); Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"? // You can have more than one DS18B20 on the same bus. // 0 refers to the first IC on the wire delay(1000); } Quellen https://www.tweaking4all.com/hardware/arduino/arduino-ds18b20-temperature-sensor/attachment/ds18b20-normal-power/ LM75A Der LM75A ist ein digitales Temperatursensormodul mit einer Hochgeschwindigkeits-I²C-Schnittstelle. Das Modul verfügt über 4 Datenregister zur Einstellung der verschiedenen Betriebsarten. Auf dem OPEN-SMART-Modul mit LM75A (Bild oben rechts) können acht I²C-Adressen auf eine Einheit eingestellt (gelötet) werden. Das Modul bietet auch Schutz vor Überhitzung - was auch immer das bedeutet. Andere I²C-Module: Arduino I²C-Module Technische Details - Kompatibilität: Arduino UNO R3 / Arduino Mega2560 - Betriebsspannung: 2,8..5,5 V DC - Stromaufnahme: 2mA (max) - Schnittstelle: Standardschnittstelle I²C - Auflösung: 0,125 °C - Messbereich: -55 ~ 125 °C - Genauigkeit: ± 2 °C -25 ~ + 100 °C; ± 3 °C -55 ~ + 125 °C Schaltplan des LM75A Adressierung des LM75A LM75A Software https://github.com/QuentinCG/Arduino-LM75A-Temperature-Sensor-Library Thermistoren Analoges Thermistorthermometer-Modul KY-013 Das analoge Temperatursensormodul KY-013 besteht aus einem NTC-Thermistor und einem 10-kΩ-Widerstand. Der Widerstand des Thermistors variiert in Abhängigkeit von der Umgebungstemperatur. Die Steinhart-Hart-Gleichung wird verwendet, um die Temperatur des Thermistors genau zu bestimmen. Technikai adatok: Üzemi feszültség: 5V DC Hőmérsékletmérési tartomány: -55 °C .. 125 °C között [-67 °F - 257 °F] Mérési pontosság: ± 0,5 °C Technische Details: Betriebsspannung: 5V DC Temperaturmessbereich: -55 °C bis 125 °C [-67 °F bis 257 °F] Messgenauigkeit: ± 0,5 °C. Verdrahtung von KY-013 S: Pin A0 Mitte: 5V DC -: GND Software Das folgende Arduino-Programm berechnet die Thermistortemperatur unter Verwendung der Steinhart-Hart-Gleichung, die in der Funktion "Thermister" implementiert ist. #include <math.h> double Thermister(int RawADC) { double Temp; Temp = log(((10240000/RawADC) - 10000)); Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp ); Temp = Temp - 273.15; // konvertiere Kelvin in Celsius return Temp; } void setup() { Serial.begin(9600); } void loop() { Serial.print(Thermister(analogRead(0))); // pin A0 lesen Serial.println("c"); delay(500); } Quelle http://arduinomodules.info/ky-013-analog-temperature-sensor-module/