Differences
This shows you the differences between two versions of the page.
— |
de:arduino:temperature [2022/04/21 15:00] () |
||
---|---|---|---|
1: | 1: | ||
+ | {{ : | ||
+ | ====== 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 [[de: | ||
+ | ===== DS18B20 ===== | ||
+ | {{anchor: | ||
+ | |||
+ | 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: | ||
+ | * Genauigkeit: | ||
+ | * 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: | ||
+ | * Parametrisierung: | ||
+ | * 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+) | ||
+ | |||
+ | <WRAP center round tip 80%> | ||
+ | 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 " | ||
+ | |||
+ | Die Daten- und Vdd-Kabel (5 V +) müssen für jeden Modus an einen ** 4,7 k-Widerstand ** angeschlossen werden. | ||
+ | </ | ||
+ | |||
+ | ==== Parasitenmodus / Normalmodus ==== | ||
+ | ^Normalmodus^Parasitenmodus| | ||
+ | |{{: | ||
+ | |Im normalen 3-Draht-Modus wird die Stromversorgung vom Vdd über ein Kabel bereitgestellt, | ||
+ | |||
+ | ==== 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, | ||
+ | |||
+ | ==== herunterladbare Libraries ==== | ||
+ | |||
+ | * oneWire.h : https:// | ||
+ | * dallasTemperature.h: | ||
+ | ==== Github ==== | ||
+ | https:// | ||
+ | https:// | ||
+ | |||
+ | |||
+ | ==== Beispielprogramm ==== | ||
+ | <code c> | ||
+ | / | ||
+ | // First we include the libraries | ||
+ | #include < | ||
+ | #include < | ||
+ | / | ||
+ | // 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/ | ||
+ | OneWire oneWire(ONE_WIRE_BUS); | ||
+ | / | ||
+ | // Pass our oneWire reference to Dallas Temperature. | ||
+ | DallasTemperature sensors(& | ||
+ | / | ||
+ | void setup(void) | ||
+ | { | ||
+ | // start serial port | ||
+ | | ||
+ | | ||
+ | // Start up the library | ||
+ | | ||
+ | } | ||
+ | void loop(void) | ||
+ | { | ||
+ | // call sensors.requestTemperatures() to issue a global temperature | ||
+ | // request to all devices on the bus | ||
+ | / | ||
+ | | ||
+ | | ||
+ | | ||
+ | / | ||
+ | | ||
+ | | ||
+ | // You can have more than one DS18B20 on the same bus. | ||
+ | // 0 refers to the first IC on the wire | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | ==== Quellen ==== | ||
+ | https:// | ||
+ | |||
+ | {{ : | ||
+ | ===== LM75A ===== | ||
+ | {{anchor: | ||
+ | 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: | ||
+ | |||
+ | |||
+ | ==== Technische Details ==== | ||
+ | - Kompatibilität: | ||
+ | - Betriebsspannung: | ||
+ | - Stromaufnahme: | ||
+ | - Schnittstelle: | ||
+ | - Auflösung: 0,125 °C \\ | ||
+ | - Messbereich: | ||
+ | - Genauigkeit: | ||
+ | |||
+ | ==== Schaltplan des LM75A ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== Adressierung des LM75A ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== LM75A Software ==== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ===== 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 // | ||
+ | |||
+ | **Technische Details:** | ||
+ | * Betriebsspannung: | ||
+ | * Temperaturmessbereich: | ||
+ | * Messgenauigkeit: | ||
+ | |||
+ | ==== Verdrahtung von KY-013 ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * S: Pin A0 | ||
+ | * Mitte: 5V DC | ||
+ | * -: GND | ||
+ | |||
+ | ==== Software ==== | ||
+ | Das folgende Arduino-Programm berechnet die Thermistortemperatur unter Verwendung der // | ||
+ | |||
+ | <code c> | ||
+ | #include < | ||
+ | |||
+ | double Thermister(int RawADC) { | ||
+ | double Temp; | ||
+ | Temp = log(((10240000/ | ||
+ | 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))); | ||
+ | Serial.println(" | ||
+ | delay(500); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Quelle ==== | ||
+ | http:// |