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