Durch einen Kommentar zum Beitrag Arduino Lektion 23: Thermosensor MAX6675 am Arduino Nano wurde ich zu diesem kleinen aber feinen Projekt verleitet.
Ziel
Ziel dieses Projektes ist es den Temperatursensor MAX6675 am Arduino Nano auszulesen und je nach Schwellwert ein Relais zu schalten.
Benötigte Bauteile
- einfach Relaisplatine
- Thermosensor MAX6675
- Arduino Nano
- Breadboard
- Breadboardkabel
Aufbau
Schaltplan
Temperatursensor MAX6675
Modul MAX6675 | Arduino Nano |
---|---|
GND (Ground) | GND |
VCC | 5V |
SCK (Serial Clock) | digitaler PIN D13 |
CS (Chip Select) | digitaler PIN D10 |
SO (Serial Output) | digitaler PIN D12 |
Relais
Relais | Arduino Nano |
---|---|
GND (Ground) | GND |
VCC | 5V |
IN1 | digitaler PIN D11 |
Quellcode
#include "max6675.h" //Die MAX6675 Bibliothek const int max6675SO = 12; // Serial Output am PIN 8 const int max6675CS = 10; // Chip Select am PIN 9 const int max6675CLK = 13; // Serial Clock am PIN 10 const int relaisPin = 11; //Relais auf dem digitalten PIN D11 const double maxTemp = 100; //Maximale Temperatur, ausloeser für das Relais // Initialisierung der MAX6675 Bibliothek mit // den Werten der PINs MAX6675 ktc(max6675CLK, max6675CS, max6675SO); void setup() { Serial.begin(9600); // Begin der Seriellen Kommunikation mit 9600 Baud delay(500); // eine kleine Pause damit der Sensor sich kalibriert pinMode(relaisPin, OUTPUT); // Den PWM PIN "relaisPin" als Ausgangssignal setzen. } void loop() { // Lesen des Temperaturwertes in Grad Celsius double temperatur = ktc.readCelsius(); if(temperatur > maxTemp){ digitalWrite(relaisPin, LOW); } else { digitalWrite(relaisPin, HIGH); } Serial.print(temperatur); Serial.println("C"); // Lesen des Temperaturwertes in Grad Fahrenheit Serial.print(ktc.readFahrenheit()); Serial.println("F"); // 500ms Pause bis zum nächsten Durchlauf delay(500); }