Der Arduino bietet nicht nur die Textausgabe mit ➨Serial.print(), er kann auch Ereignisse oder Messwerte mit einem Plotter aufzeichnen.

Den Seriellen Plotter findest du als Symbol oder unter Werkzeuge → Serieller Plotter.
Am analogen Eingang A0 ist ein Schieberegler oder ein Drehregler angeschlossen.
Der Serielle Plotter zeigt die Veränderungen des Eingangssignal an.

int REGLER = A0;
int ReglerWert = 0;
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial) {;}
}
void loop()
{
ReglerWert = analogRead(REGLER);
Serial.println(ReglerWert);
delay(200);
}
Der Serielle Plotter kann auch mehrere Werte als farbige Linien darstellen. Im Beispiel werden vier Reihen verschiedener Zufallszahlen dargestellt.

void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial) { ; }
}
void loop()
{
// Zufallszahlen ermitteln
int ZufallsZahlen1 = random(1, 10);
int ZufallsZahlen2 = random(10, 20);
int ZufallsZahlen3 = random(20, 30);
int ZufallsZahlen4 = random(30, 40);
// Werte schreiben
// Titel im Plotter
Serial.print("Zufallszahlen 1-10:");
Serial.print(ZufallsZahlen1);
// mit , abschließen
Serial.print(",");
Serial.print("Zufallszahlen 10-20:");
Serial.print(ZufallsZahlen2);
Serial.print(",");
Serial.print("Zufallszahlen 20-30:");
Serial.print(ZufallsZahlen3);
Serial.print(",");
Serial.print("Zufallszahlen 30-40:");
Serial.print(ZufallsZahlen4);
// letzter Wert: mit Serial.println und , abschließen
Serial.println(",");
delay(500);
}
Vergleich der Temperatursensoren: TMP36, DHT11 und und TO92 (DS18B20).
An jeden Sensor wurde nacheinander eine Wärmequelle herangeführt. Die Reaktionszeiten der Sensoren sind unterschiedlich.
# include "DHT.h"
// DHTTYPE: DHT11 oder DHT22
# define DHTTYPE DHT11
# define DHTPIN 8
DHT dht(DHTPIN, DHTTYPE);
// TO92 (DS18B20)
# include "OneWire.h"
# include "DallasTemperature.h"
// Pin des Sensors an OneWire übergeben
# define ONE_WIRE_BUS 9
// oneWire-Instanz erstellen
OneWire oneWire(ONE_WIRE_BUS);
// oneWire-Instanz an den Sensor übergeben
DallasTemperature GY21(&oneWire);
// Pin für TMP36
int TEMPERATURSENSOR = A0;
void setup()
{
Serial.begin(9600);
Serial.println("Temperatur messen:");
// dht11 starten
dht.begin();
// Temperatursensor starten
GY21.begin();
}
void loop()
{
GY21.requestTemperatures();
// Wert des Sensors TMP36 lesen
float SensorWert = analogRead(TEMPERATURSENSOR);
// richtiges Verhältnis zwischen 5 V = 5000 mV und 1023 mV herstellen
// -> gemessenen Wert mit 5 malnehmen und dann durch 1023 teilen
float MesswertVolt = SensorWert * 5.0;
MesswertVolt = MesswertVolt / 1023.0;
/*
1 Grad = 10mV = 0,01 V = 1/100 V
Versatz von 500mV = 0,5 V abziehen
und durch 0.01 = 1 Grad teilen
*/
float TMP36Temperatur = (MesswertVolt - 0.5) / 0.01;
/* für den Plotter:
Messwert mit Serial.print(",") abschließen
nach dem letzen Messwert Serial.println(",")
*/
Serial.print("Temperatur TMP36: ");
Serial.print(TMP36Temperatur);
Serial.print(",");
Serial.print("Temperatur DHT11: ");
Serial.print(dht.readTemperature());
Serial.print(",");
Serial.print("Temperatur GY21: ");
Serial.print(GY21.getTempCByIndex(0));
Serial.println(",");
// Wartezeit bis zur nächsten Messung
delay(500);
}

Letzte Aktualisierung: