Arduino UNO Q - MAX6675 Thermoelement-Modul

Gewöhnliche Sensoren wie der DHT11 oder der LM35 überleben es nicht, in der Nähe eines Ofens, eines Lötkolbens oder eines laufenden Motors zu sein — sie wurden für diese Hitze schlicht nicht gebaut. Das MAX6675-Modul löst dieses Problem, indem es einen Typ-K-Thermoelementfühler mit einem speziellen Digitalisierungschip kombiniert. So kann Ihr Arduino UNO Q sicher Temperaturen messen, die weit über dem liegen, was ein normaler Sensor verkraften würde. Dieses Tutorial zeigt Ihnen, wie Sie es verdrahten und programmieren — und es per Telegram aus der Ferne überwachen.

In diesem Tutorial lernen Sie:

Arduino UNO Q MAX6675 Thermoelement-Modul

Erforderliche Hardware

1×Arduino UNO Q
1×USB Cable for Arduino Uno Q
1×MAX6675 Thermocouple Module
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Schraubklemmenblock-Shield für Arduino Uno
1×(Empfohlen) Sensors/Servo Expansion Shield for Arduino Uno
1×(Empfohlen) Breadboard-Shield für Arduino Uno
1×(Empfohlen) Gehäuse für Arduino Uno
1×(Empfohlen) Prototyping-Grundplatte & Breadboard-Kit für Arduino Uno

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über das MAX6675-Thermoelement-Modul

Ein Thermoelement ist ein Temperatursensor aus zwei verschiedenen Metalldrähten, die an einem Ende miteinander verbunden sind — dieser Punkt heißt Messstelle (heiße Lötstelle). Wird diese Stelle erwärmt, entsteht eine winzige Spannung, die sich mit der Temperatur ändert — der MAX6675-Chip wandelt diese winzige Spannung in einen sauberen digitalen 12-Bit-Messwert um, den Ihr Arduino UNO Q direkt verwenden kann. Der gebräuchlichste Fühlertyp, Typ K, besteht aus Chromel- und Alumel-Drähten und kann etwa -328°F bis +2300°F messen.

MAX6675-Modul
Betriebsspannung 3,0V bis 5,5V
Schnittstelle 3-Draht (SCK, CS, SO)
Temperaturbereich 0°C bis 1024°C (Fühler am Außengehäuse für 0°C bis 80°C ausgelegt)
Genauigkeit ±3°C

Pinbelegung

MAX6675-Thermoelement-Modul Pinbelegung

Die Breakout-Platine hat vier Header-Pins und eine 2-polige Schraubklemme für den Fühler:

  • VCC: Mit 3,3V oder 5V verbinden
  • GND: Mit GND (0V) verbinden
  • SCK: Takt-Pin — mit einem digitalen Pin der MCU verbinden
  • CS: Chip-Select-Pin — mit einem digitalen Pin der MCU verbinden
  • SO: Serieller Datenausgang (nur MISO, es gibt kein MOSI) — mit einem digitalen Pin der MCU verbinden

Der Typ-K-Fühler wird an die Schraubklemme auf der anderen Seite der Platine angeschlossen: roter Draht an +, blauer Draht an -.

Schaltplan

Arduino UNO Q MAX6675 Thermoelement-Modul Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

MAX6675-Modul-Pin Arduino UNO Q MCU
VCC 5V
GND GND
SCK D5
CS D4
SO D3

Wie man den MAX6675 programmiert

  • Die Bibliothek einbinden:
#include "max6675.h"
  • Die Pins definieren und ein Thermoelement-Objekt erstellen:
#define SCK_PIN 5 #define CS_PIN 4 #define SO_PIN 3 MAX6675 thermocouple(SCK_PIN, CS_PIN, SO_PIN);
  • Die Temperatur in Celsius und Fahrenheit auslesen:
float tempC = thermocouple.readCelsius(); float tempF = thermocouple.readFahrenheit();

※ Notiz:

Der MAX6675 benötigt etwa 220 ms für eine Wandlung — lesen Sie ihn nicht häufiger als ungefähr einmal alle 250 ms aus.

Arduino UNO Q Code

Der Arduino UNO Q hat zwei Prozessoren, die zusammenarbeiten:

  • Die STM32-MCU liest das MAX6675-Modul direkt über seine 3-Draht-Schnittstelle aus — das gesamte Auslesen des Sensors läuft auf der MCU
  • Die Qualcomm-MPU führt Debian Linux aus und kümmert sich um WLAN, Python und die Cloud-Anbindung
  • In diesem Abschnitt wird nur die MCU programmiert — die Linux-Seite bleibt untätig. Ein späterer Abschnitt zeigt, wie beide Prozessoren über Bridge zusammenarbeiten.

Die MCU liest den MAX6675 jede Sekunde aus und gibt die Temperatur im Serial Monitor aus.

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-max6675-thermocouple-module */ #include "max6675.h" // Arduino UNO Q MCU pins connected to the MAX6675 module #define SCK_PIN 5 #define CS_PIN 4 #define SO_PIN 3 MAX6675 thermocouple(SCK_PIN, CS_PIN, SO_PIN); void setup() { Serial.begin(115200); delay(1500); Serial.println("Arduino UNO Q MAX6675 Thermocouple Module ready"); } void loop() { float tempC = thermocouple.readCelsius(); float tempF = thermocouple.readFahrenheit(); Serial.print("Temperature: "); Serial.print(tempC); Serial.print("°C = "); Serial.print(tempF); Serial.println("°F"); delay(1000); }

Schnellanleitung

Zum ersten Mal mit dem Arduino UNO Q? Folgen Sie zunächst dem Tutorial Erste Schritte mit dem Arduino UNO Q, bevor Sie fortfahren.

  • Verbinden: Verdrahten Sie das MAX6675-Modul wie im Schaltplan gezeigt mit der MCU des Arduino UNO Q.
  • Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie, bis Ihr Arduino UNO Q erkannt wird.
  • Eine neue App erstellen: Klicken Sie auf die Schaltfläche Create New App.
Neue App in Arduino App Lab auf dem Arduino UNO Q erstellen
  • Geben Sie der App einen Namen, zum Beispiel: Max6675ThermocoupleModule
  • Klicken Sie zur Bestätigung auf Create.
Arduino App Lab App-Ordner und -Dateien auf dem Arduino UNO Q
  • Den Sketch einfügen: Kopieren Sie den obigen MCU-Code und fügen Sie ihn in sketch/sketch.ino ein. Lassen Sie die anderen Dateien unverändert.
  • Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.
Add sketch library in Arduino App Lab on Arduino UNO Q
  • Search for MAX6675 library created by Adafruit and click the Install button.
My Apps / DIYables Apps
Run
Bricks
No bricks added...
Sketch Libraries
No sketch libra...
Files
python
sketch
.gitignore
README.md
app.yaml
sketch.ino
Add sketch library
MAX6675 library Adafruit

Arduino library for interfacing with MAX6675 thermocouple amplifier

1.1.2
Install
More Info
  • Hochladen: Klicken Sie in Arduino App Lab auf die Run-Schaltfläche.
Run-Schaltfläche in Arduino App Lab auf dem Arduino UNO Q klicken
  • Berühren Sie mit der Fühlerspitze etwas Warmes (eine Tasse heißes Wasser eignet sich gut) — beobachten Sie, wie die Temperatur in der Konsole steigt.

App Lab Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] Arduino UNO Q MAX6675 Thermocouple Module ready [2026-04-29 09:00:02] Temperature: 24.50°C = 76.10°F [2026-04-29 09:00:03] Temperature: 26.75°C = 80.15°F [2026-04-29 09:00:04] Temperature: 31.00°C = 87.80°F [2026-04-29 09:00:05] Temperature: 38.25°C = 100.85°F

Bridge: Linux + MCU

Dieser Abschnitt zeigt, wie Sie beide Prozessoren des Arduino UNO Q programmieren, damit die Linux-Seite die MAX6675-Temperatur über Bridge auslesen kann:

  • Das MAX6675-Modul ist über seine 3-Draht-Schnittstelle mit der MCU (STM32) verbunden — die MCU liest die aktuellen Werte jede Sekunde aus und speichert sie zwischen
  • Die MPU kann nicht direkt auf den MAX6675 zugreifen — sie muss Bridge-Funktionen aufrufen, um die Messwerte abzurufen
  • Die MPU hat WLAN — da sie ein vollständiges Debian Linux ausführt, kann sie Daten protokollieren, auf Dashboards veröffentlichen oder Benachrichtigungen über das Internet senden
  • Arduino_RouterBridge ermöglicht die RPC-Kommunikation zwischen den beiden Prozessoren
  • ⚠️ /dev/ttyHS1 (Linux) und Serial1 (MCU) sind vom Router RESERVIERT — öffnen Sie sie niemals in Ihrem eigenen Code

Kurz gesagt: Die MCU liest den MAX6675 jede Sekunde aus und speichert das Ergebnis zwischen → die MPU fragt Bridge ab, um die Messwerte abzurufen → die MPU veröffentlicht sie oder sendet Benachrichtigungen über WLAN.

MCU-Code (Bridge)

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-max6675-thermocouple-module */ #include "Arduino_RouterBridge.h" #include "max6675.h" // Arduino UNO Q MCU pins connected to the MAX6675 module #define SCK_PIN 5 #define CS_PIN 4 #define SO_PIN 3 MAX6675 thermocouple(SCK_PIN, CS_PIN, SO_PIN); float last_temp_c = 0.0; float last_temp_f = 0.0; unsigned long last_read_ms = 0; void read_thermocouple() { last_temp_c = thermocouple.readCelsius(); last_temp_f = thermocouple.readFahrenheit(); } String get_temp_c(String arg) { return String(last_temp_c, 2); } String get_temp_f(String arg) { return String(last_temp_f, 2); } String get_status(String arg) { return "Temp: " + String(last_temp_c, 2) + "°C / " + String(last_temp_f, 2) + "°F"; } void setup() { Bridge.begin(); Monitor.begin(); read_thermocouple(); Bridge.provide("get_temp_c", get_temp_c); Bridge.provide("get_temp_f", get_temp_f); Bridge.provide("get_status", get_status); Monitor.println("Arduino UNO Q MAX6675 Thermocouple Module Bridge ready"); } void loop() { unsigned long now = millis(); if (now - last_read_ms >= 1000) { last_read_ms = now; read_thermocouple(); Monitor.println("Temp: " + String(last_temp_c, 2) + "°C / " + String(last_temp_f, 2) + "°F"); } }

Python-Code (Bridge)

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-max6675-thermocouple-module */ from arduino.app_utils import * import time def loop(): temp_c = Bridge.call("get_temp_c") temp_f = Bridge.call("get_temp_f") print(f"Temperature: {temp_c}°C = {temp_f}°F") time.sleep(1) App.run(user_loop=loop)

Schnellanleitung

  • Verbinden: Verdrahten Sie das MAX6675-Modul wie im Schaltplan gezeigt mit dem Arduino UNO Q.
  • Arduino App Lab öffnen: Starten Sie Arduino App Lab und warten Sie, bis die Platine erkannt wird.
  • Eine neue App erstellen: Klicken Sie auf Create New App, nennen Sie sie Max6675ThermocoupleModuleBridge und klicken Sie dann auf Create.
  • Den MCU-Sketch einfügen: Kopieren Sie den obigen MCU-Bridge-Code und fügen Sie ihn in sketch/sketch.ino ein.
  • Den Python-Code einfügen: Kopieren Sie den obigen Python-Bridge-Code und fügen Sie ihn in die Python-Datei der App ein.
  • Install the library: Click the Add sketch library button (the open book icon with a + sign) in the left sidebar.
Add sketch library in Arduino App Lab on Arduino UNO Q
  • Search for Arduino_RouterBridge created by Arduino and click the Install button.
My Apps / DIYables Apps
Run
Bricks
No bricks added...
Sketch Libraries
No sketch libra...
Files
python
sketch
.gitignore
README.md
app.yaml
sketch.ino
Add sketch library
Arduino_RouterBridge Arduino

This library provides a simple RPC bridge for Arduino UNO Q boards, allowing communication between the board and other devices using MsgPack serialization.

0.4.1
Install
More Info
  • Hochladen: Klicken Sie in Arduino App Lab auf die Run-Schaltfläche.
Run-Schaltfläche in Arduino App Lab auf dem Arduino UNO Q klicken
  • Beobachten Sie, wie die Temperaturwerte jede Sekunde in der Python-Konsole erscheinen.

App Lab Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
Message (Enter to send a message to "Newbiely" on usb(2820070321))
New Line
9600 baud
[2026-04-29 09:00:01] Arduino UNO Q MAX6675 Thermocouple Module Bridge ready [2026-04-29 09:00:02] Temp: 24.50°C / 76.10°F [2026-04-29 09:00:03] Temp: 26.75°C / 80.15°F [2026-04-29 09:00:04] Temp: 31.00°C / 87.80°F
DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:00:02] Temperature: 24.50°C = 76.10°F [2026-04-29 09:00:03] Temperature: 26.75°C = 80.15°F [2026-04-29 09:00:04] Temperature: 31.00°C = 87.80°F [2026-04-29 09:00:05] Temperature: 38.25°C = 100.85°F

Telegram

Überwachen Sie die MAX6675-Temperatur aus der Ferne und erhalten Sie automatische Telegram-Benachrichtigungen, wenn die Temperatur über 100°C steigt — praktisch, um einen Ofen, einen Brennofen oder eine Lötstation von einem anderen Raum aus im Auge zu behalten.

MCU-Sketch: Behalten Sie denselben MCU-Sketch aus dem vorherigen Bridge-Abschnitt bei.

Python-Code (Telegram)

/* * Dieser Arduino UNO Q Code wurde von newbiely.de entwickelt * Dieser Arduino UNO Q Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-uno-q/arduino-uno-q-max6675-thermocouple-module */ from arduino.app_utils import * import requests import time TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" CHAT_ID = "YOUR_CHAT_ID" last_update_id = 0 ALERT_THRESHOLD_C = 100.0 alert_sent = False def get_updates(): global last_update_id url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/getUpdates" params = {"offset": last_update_id + 1, "timeout": 5} try: response = requests.get(url, params=params, timeout=10) data = response.json() if data["ok"]: return data["result"] except Exception as e: print(f"Error getting updates: {e}") return [] def send_message(chat_id, text): url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage" payload = {"chat_id": chat_id, "text": text} try: requests.post(url, data=payload, timeout=10) except Exception as e: print(f"Error sending message: {e}") def loop(): global alert_sent # Auto-alert on high temperature temp_c_str = Bridge.call("get_temp_c") try: temp_c = float(temp_c_str) if temp_c > ALERT_THRESHOLD_C and not alert_sent: alert_sent = True temp_f = Bridge.call("get_temp_f") msg = f"🔥 High temperature alert: {temp_c_str}°C / {temp_f}°F" print(msg) send_message(CHAT_ID, msg) elif temp_c <= ALERT_THRESHOLD_C: alert_sent = False except ValueError: pass # Handle Telegram commands updates = get_updates() for update in updates: last_update_id = update["update_id"] if "message" not in update: continue message = update["message"] chat_id = message["chat"]["id"] text = message.get("text", "").strip() print(f"Received: {text}") if text == "/start": send_message(chat_id, "Arduino UNO Q MAX6675 Thermocouple Bot\n" "/temp - Read temperature (°C and °F)\n" "/tempC - Read temperature in Celsius\n" "/tempF - Read temperature in Fahrenheit\n" "/status - Get sensor status") elif text == "/temp": temp_c = Bridge.call("get_temp_c") temp_f = Bridge.call("get_temp_f") send_message(chat_id, f"Temperature: {temp_c}°C = {temp_f}°F") elif text == "/tempC": result = Bridge.call("get_temp_c") send_message(chat_id, f"Temperature: {result}°C") elif text == "/tempF": result = Bridge.call("get_temp_f") send_message(chat_id, f"Temperature: {result}°F") elif text == "/status": result = Bridge.call("get_status") send_message(chat_id, result) else: send_message(chat_id, "Unknown command. Send /start for help.") time.sleep(1) App.run(user_loop=loop)

Schnellanleitung

  • Ersetzen Sie YOUR_TELEGRAM_BOT_TOKEN durch Ihr tatsächliches Bot-Token von BotFather.
  • Ersetzen Sie YOUR_CHAT_ID durch Ihre Telegram-Chat-ID.
  • Fügen Sie diesen Python-Code in die Python-Datei Ihrer App ein (behalten Sie denselben MCU-Sketch bei).
  • Klicken Sie auf die Run-Schaltfläche. Senden Sie /temp über Telegram oder erhitzen Sie den Fühler über 100°C, um die Benachrichtigung auszulösen.

App Lab Konsolenausgabe

DIYables_Apps
Stop
sketch.ino
1#include "Arduino_RouterBridge.h"
Serial Monitor
Python
[2026-04-29 09:10:00] Waiting for Telegram messages... [2026-04-29 09:10:15] 🔥 High temperature alert: 104.50°C / 220.10°F [2026-04-29 09:10:30] Received: /temp [2026-04-29 09:10:45] Received: /tempC
Telegram
Telegram 12:45
Welcome to Telegram!
ArduinoBot 10:19
Chatting with Arduino...
telegram-botfather
BotFather Yesterday
Your bot has been created.

ArduinoBot

bot
Today
/temp
10:15 AM ✓✓
Temperature: 24.50°C = 76.10°F
10:16 AM
/tempC
10:17 AM ✓✓
Temperature: 24.50°C
10:18 AM
/tempF
10:19 AM ✓✓
Temperature: 76.10°F
10:20 AM
/status
10:21 AM ✓✓
Temp: 24.50°C / 76.10°F
10:22 AM
🔥 High temperature alert: 104.50°C / 220.10°F
10:23 AM

OpenClaw

You can adapt the OpenClaw to this tutorial by refering the instruction on Arduino Uno Q - OpenClaw Tutorial

Projektideen

Mit dem MAX6675 und dem Arduino UNO Q können Sie viele nützliche Projekte bauen:

  • Temperaturlogger für Brennofen oder Backofen: Protokollieren Sie die Temperatur über die Zeit per Bridge und Python und stellen Sie die Brenn- bzw. Backkurve auf einem Dashboard dar
  • Lötstations-Überwachung: Verfolgen Sie die Spitzentemperatur und erhalten Sie eine Telegram-Benachrichtigung, wenn sie Ihren Zielbereich verlässt
  • BBQ-/Smoker-Thermometer: Klemmen Sie den Fühler an Ihren Grillrost und erhalten Sie Telegram-Updates aus der Ferne, damit Sie den Deckel nicht ständig öffnen müssen
  • Hotend-Wächter für 3D-Drucker: Lassen Sie die MCU über Bridge ein Relais schalten, das den Strom abschaltet, wenn das Hotend eine sichere Grenze überschreitet
  • Mehrzonen-Ofenmessung: Schließen Sie mehrere MAX6675-Module an verschiedene digitale Pins an und lassen Sie die Python-Seite jedes davon über Bridge abfragen, um sie direkt miteinander zu vergleichen

Fordern Sie sich selbst heraus

Bereit, mit dem MAX6675 am Arduino UNO Q weiterzugehen? Probieren Sie diese Aufgaben:

  • Einfach: Fügen Sie dem MCU-Sketch eine Minimum-/Maximum-Erfassung hinzu, die sich die höchste und niedrigste Temperatur seit dem Start merkt.
  • Mittel: Fügen Sie eine Bridge-Funktion get_fault(String) hinzu, die meldet, ob der Thermoelementfühler getrennt ist (der MAX6675 setzt ein Fehlerbit, wenn der Fühler offen ist), und lassen Sie die Python-Seite eine Warnung ausgeben, falls dies jemals zutrifft.
  • Fortgeschritten: Bauen Sie einen Datenlogger: Lassen Sie die Python-Seite alle 5 Sekunden eine CSV-Datei mit Zeitstempel und Temperaturwerten schreiben und fügen Sie dann einen Telegram-Befehl /report hinzu, der den höchsten Messwert der letzten Stunde zurücksendet.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!