Serieller Plotter in Arduino IDE

In diesem Artikel zeige ich Dir den seriellen Plotter in Arduino IDE. 

Mit dem seriellen Plotter können Zahlenwerte über die serielle Schnittstelle geplottet dargestellt werden. Dazu hier ein kleines Code-Beispiel mit einem ESP8266 und einem Microphone.

 

Das Mikrophone wurde folgendermaßen mit dem ESP8266 verbunden:

ESP8266 Microphone
A0 A0
VIN (+5) VIN
GND GND

 

Als Sketch habe ich folgenden Code verwendet:


const int maxScale = 8;
const int redZone = 5;

const int sampleWindow = 50; // Sample window width in mS (50 mS = 20Hz)
unsigned int sample;

void setup() {
Serial.begin(115200);
pinMode (A0, INPUT);
}

void loop() {
unsigned long startMillis= millis(); // Start of sample window
unsigned int peakToPeak = 0;
unsigned int signalMax = 0;
unsigned int signalMin = 1024;

while (millis() - startMillis < sampleWindow) {
sample = analogRead(0);
if (sample < 1024) { if (sample > signalMax) {
signalMax = sample; // save the max levels
}
else if (sample < signalMin) {
signalMin = sample; // save the min levels
}
}
}

peakToPeak = signalMax - signalMin; // max - min = peak-peak amplitude
double volts = (peakToPeak * 5.0) / 1024; // convert to volts

Serial.println(volts);
}

 

Über die serielle Schnittstelle wird das Level des Microphones ausgegeben. Zusätzlich kann die serielle Ausgabe ebenfalls über den seriellen Plotter geplottet dargestellt werden.

Darstellung des Levels im Plotter:

 

Ich hoffe Dir gefällt der Artikel ? Ich freue mich über Deinen Kommentar!

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere