ESP8266 mit MAX6675 - AZ-Delivery

Bisher haben wir zur komfortablen  Messung von Temperaturen Sensoren wie den DHT22 oder den DS18B20 benutzt. Leider können wir damit nur niedrige Temperaturen messen, eine Messung beim Grillen oder die Messung einer Abgastemperatur können wir damit nicht umsetzten. Deshalb möchte ich heute kurz unser Modul MAX6675 zur Messung von Temperaturen bis 1024°C vorstellen. Anleitungen das Modul mit einem Arduino in Betrieb zu nehmen finden sich leicht im Internet, Adafruit stellt hierzu eine Libary zur Verfügung. Leider ist diese Libary ohne Modifikation nicht mit den NodeMCUs kompatibel. Die NodeMCUs bieten sich meiner Meinung nach eher an als Arduinos, da es Boards wie unser WIFI-Kit 8 gibt, welche bereits eine Spannungsversorgung mit Li-Po Akkus sowie ein OLED Display an Bord haben. Auch bietet sich die Möglichkeit diese in eigene W-Lan einzubinden und die Informationen über eine Webseite oder über MQTT ausgeben zu lassen.

Als Anwendungsbeispiel benutzen wir heute unser LoLin NodeMCU V3 und verkabeln dieses so:

 NodeMCU LoLin V3 MAX6675 Modul
3.3V VCC
GND GND
D5 SCK
D6 SO
D7 CS

 

Die Library von Adafruit gibt es hier. Alternativ kann diese auch über den Bibliotheksverwalter in der ArduinoIDE Installiert werden. Im Anschluss befindet sich das Verzeichnis des MAX6675 bei Ihren anderen Libarys unter C:\Users\Benutzername\Documents\Arduino\libraries

Öffnen Sie dort die Datei max6675.cpp mit einem Editor wie z.B. Nodepad++ und ändern den Code wie im Screenshot von:

auf:

Anschließend können Sie den Code fehlerfrei kompilieren:

 

#include "max6675.h"

int thermoDO = 12;
int thermoCS = 13;
int thermoCLK = 14;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
  
void setup() {
  Serial.begin(115200);
  
  Serial.println("MAX6675 test");
  // wait for MAX chip!
  delay(500);
}

void loop() {
   
   Serial.print("C = "); 
   Serial.println(thermocouple.readCelsius());
   //Serial.print("F = ");
   //Serial.println(thermocouple.readFahrenheit());
 
   delay(1000);
}

 

 Auf dieser Basis können Sie gut aufbauen und spielend leicht Ihr Display oder in Ihre SmartHome Lösung integrieren. 

Esp-8266Projekte für anfängerSensoren

2 comments

Uli

Uli

habe die Library über die ArduinoIDE installiert, danach hat es ohne weitere Anpassungen funktioniert, danke :-)

Wolfgang

Wolfgang

Bei mir gabs eine Fehlermeldung… Das Delay war nicht definiert…
Folgende Änderung hat funktioniert:

// this library is public domain. enjoy!
// www.ladyada.net/learn/sensors/thermocouple

#define _delay_ms(ms) delayMicroseconds((ms) * 2000)
//#include <avr/pgmspace.h>
//#include <util/delay.h>
#include
#include “max6675.h”

Leave a comment

All comments are moderated before being published

Recommended blog posts

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery