Der vollständige Quelltext
Auf der nächsten Seite wird der Quelltext für die Nutzung des seriellen Monitors erklärt. Der vollständige Quelltext:
/*
Autor: Jasper Sünnemann
Beschreibung: Programm für das T1-Monitoring Projekt
Funktionen:
-Temperatur in °C von einem Temperatursensor auselen
-Temperatur mit einem Zeiger über einen Servomotor anzeigen
-Temperatur in °C auf einer 4 stelligen 7-Segment Anzeige anzeigen
-Temperaturwert mit dem seriallen Monitor beobachten
*/
#include <OneWire.h>
#include <DallasTemperature.h>
#include <TM1637Display.h>
//Daten-Pin für den Temperatursensor festlegen
#define temperatureSensorPIN 32
//Konstanten für die Ausgabe der Temperatur über den Servomotor
#define freq 50
#define resolution 8
#define channel 1
#define servoPin 13
#define minTemp 15 //minimale Temperatur vom DS18B20: -55°C
#define maxTemp 35 //maximale Temperatur vom DS18B20: +125°C
//Daten- und Taktpin des Displays festlegen und Initialisierung des Displays
#define CLK 23
#define DIO 25
TM1637Display display(CLK, DIO);
//Temperatursensor initialisieren
OneWire temperatureSensorWire(temperatureSensorPIN);
DallasTemperature temperatureSensor(&temperatureSensorWire);
void setup()
{
//Temperatursensor starten
temperatureSensor.begin();
//Servo initialisieren
ledcSetup(channel, freq, resolution);
ledcAttachPin(servoPin, channel);
ledcWrite(channel, 20);
//Helligkeit des Displays einstellen
display.setBrightness(0x0f);
//Seriellen Monitor mit einer Baudrate von 115200 starten
Serial.begin(115200);
}
void loop()
{
//Temperatur in °C erfassen
temperatureSensor.requestTemperatures();
float tC = temperatureSensor.getTempCByIndex(0);
//Ansteuerung des Servomotors
int servoPos = map(tC, maxTemp, minTemp, 4, 33); //min und max wurden vertauscht, damit die Richtung des Zeigers passt
ledcWrite(channel, servoPos);
//Temperatur in °C mit einer Nachkommastelle auf dem Display anzeigen
display.showNumberDec(tC * 10);
//Temperatur in °C ohne Nachkommastelle auf dem Display anzeigen
//display.showNumberDec(tC * 1);
//Temperatur auf dem seriellen Monitor ausgeben
Serial.print(tC);
Serial.println(" °C");
delay(500);
}
Last modified: Tuesday, 8 September 2020, 5:41 PM