In diesem aufregenden Blogartikel geht es um die kraftvolle Kombination des Arduino UNO R3 und des Microsoft Excel Datastreamer, mit denen du Daten mühelos von deinem Mikrocontroller in Excel übertragen kannst. Du wirst erstaunt sein, wie einfach es ist, die Sensordaten deines DHT11-Sensors vom Arduino UNO R3 per serieller Schnittstelle in Excel zu empfangen. Und das Beste daran? Excel bietet zahlreiche Konfigurationsmöglichkeiten, auf die ich in diesem Artikel detailliert eingehen werde. Du kannst beispielsweise Diagramme erstellen, Daten visualisieren und vieles mehr. Ganz automatisch und ohne großen Aufwand. Also, schnapp dir deinen Arduino, lass uns eintauchen und entdecken, wie du das volle Potenzial des Excel Datastreamers ausschöpfen kannst!
Das Excel Add-in Datastreamer ist auf der offiziellen Seite von Microsoft Willkommen bei Microsoft Datenstreamer-Add-In für Excel ausführlich beschrieben. In diesem Beitrag möchte ich dir eine Zusammenfassung speziell für den Arduino UNO geben und auch zeigen, wie du die empfangenen Daten visualisieren kannst.
Installieren / Aktivieren des Add-ins Datastreamer in Microsoft Excel
Das Add-in ist per Default nicht aktiviert bzw. sichtbar, hier müssen wir über die Optionen zu den Addins (1) navigieren und dort aus der Auswahlliste die „COM Add-ins“ (2) markieren und die Schaltfläche „Los..“ (3) auswählen. Es sollte nun ein Dialog erscheinen, aus welchem wir wiederum den Haken bei „Microsoft Data Streamer for Excel“ (4) setzen, damit nun dieses Add-in aktiviert und angezeigt wird, bestätigen wir die Auswahl mit der Schaltfläche „OK“ (5). Es sollte jetzt ein neuer Reiter „Datastreamer“ (6) erscheinen.
Wenn wir jetzt eine neue Excel-Mappe erstellen, dann können wir über diesen Reiter eine Verbindung mit dem Mikrocontroller aufbauen und Daten empfangen.
Ein Gerät verbinden: dient zum Aufbauen der Datenverbindung zum Mikrocontroller,
Datendatei import: importieren einer CSV-Datei,
Daten starten: Aufzeichnung der Daten beginnen, diese Schaltfläche wird freigegeben, wenn eine Verbindung zum Mikrocontroller aufgebaut wurde,
Daten beenden: Stoppen der Aufzeichnung,
Daten aufzeichnen: Aufzeichnung der Daten in eine CSV-Datei beginnen, hier wird zusätzlich eine CSV-Datei mit den Daten beschrieben,
Aufzeichnung beenden: Stoppen der Aufzeichnung der Daten in der CSV-Datei,
Bildschirm erfassen: einen Screenshot von einem Bereich erfassen, das Bild wird in die Zwischenablage abgelegt,
Daten zurücksetzen: alle Daten werden gelöscht,
Erweitert: öffnet den Dialog zum Konfigurieren der Schnittstelle
Ein kleines Programm auf dem Arduino zum Senden von Daten
Schreiben wir ein kleines Programm auf dem Arduino, welches die Sensordaten eines DHT11 Sensors liefert. Dem DHT11 Sensor habe ich bereits einige Beiträge auf diesem Blog gewidmet und dir somit bereits gezeigt, wie dieser am Arduino programmiert wird.
- Arduino Lektion 6: Sensor DHT11, Temperatur und relative Luftfeuchtigkeit messen
- ArduBlock – Arduino UNO mit DHT11 & LCD-Display
- Funduino-Cube programmieren #2: DHT11 Sensor & OLED-Display
Der DHT11 Sensor liefert dir die Temperatur sowie die relative Luftfeuchtigkeit, somit können wir gleich testen ob das Add-in auch mit mehreren Daten auskommt.
Aufbau der Schaltung
Die Schaltung ist mit drei Breadboardkabel, ein 400 Pin Breadboard sowie ein DHT11 Sensor am Arduino recht schnell erledigt.
Den DHT11 Sensor erhältst du in drei Varianten. Wobei ich die bevorzuge, wo der Sensor inkl. der benötigten Schaltung auf einer kleinen Platine gedruckt ist.
Programm zum Auslesen der Sensordaten und senden per serieller Schnittstelle
Zum Auslesen des Sensors benötigen wir zusätzlich eine Bibliothek, welche wir zunächst installieren müssen. Dieses geht in der Arduino IDE 2.0 über den internen Bibliotheksverwalter (1) in dem wir zunächst nach „adafruit dht11“ (2) suchen und dann die Schaltfläche „INSTALL“ betätigen. Da ich diese bereits installiert habe, steht bei mir „REMOVE“ (3).
Wenn die Bibliothek erfolgreich installiert wurde, erscheint der Tag „<Versionsnummer> installed“ (4).
Jetzt können wir das nachfolgende kleine Programm auf den Mikrocontroller überspielen.
Wichtig ist hier, dass die Sensordaten mit einem Komma getrennt sind und die Zeile mit einem Zeilenumbruch endet!
#include <Adafruit_Sensor.h> #include <DHT.h> #include <DHT_U.h> #define DHTPIN 2 #define DHTTYPE DHT11 DHT_Unified dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); dht.begin(); sensor_t sensor; dht.temperature().getSensor(&sensor); } void loop() { delay(2500); sensors_event_t event; dht.temperature().getEvent(&event); dht.humidity().getEvent(&event); if (isnan(event.temperature) || isnan(event.temperature)) { Serial.println(F("Fehler beim lesen der Daten vom DHT11 Sensor!")); } else { Serial.print(event.temperature); Serial.print(","); Serial.print(event.relative_humidity); Serial.println(""); } }
Das Programm habe ich aus den Beispielen zur Bibliothek entnommen und auf das wesentliche eingekürzt!
Die Ausgabe ist nun, dass die beiden Sensorwerte für Temperatur & rel. Luftfeuchtigkeit durch ein Komma getrennt auf der seriellen Schnittstelle ausgegeben wird.
Wenn das Programm überspielt wurde und Daten im seriellen Monitor der Arduino IDE erscheinen, müssen wir die IDE beenden, denn es können nicht parallel mehrere Applikationen auf den gleichen COM-Port zugreifen.
Aufzeichnen der Sensordaten vom Arduino mit Excel Datastreamer
Nachdem wir das Add-in installiert / aktiviert und das Programm auf dem Arduino UNO installiert haben, können wir damit starten, die Sensordaten aufzuzeichnen.
Jedoch definieren wir zunächst die Spalten (Datenkanäle) und die Anzahl der Datenzeilen. Die Anzahl der Spalten und Datenzeilen konfigurieren wir im Reiter „Einstellungen“.
Die Beschriftungen der Kanäle (Spalten) können wir im Reiter „Manifest“ ändern. Hier wird dir für jeden Kanal eine Zeile angezeigt, in welcher du die Beschriftung sowie die Maßeinheit eintragen kannst.
Wenn die Einstellungen getroffen sind, kann nun über die Schaltfläche „Ein Gerät verbinden“ der Mikrocontroller ausgewählt werden.
In meinem Fall wurde der Mikrocontroller Funduino UNO als Arduino erkannt, jedoch der Raspberry Pi Pico Klone und der ESP32 wurde nicht korrekt erkannt.
Ich wähle hier den Eintrag „Arduino Uno (COM7)“ aus und klicke danach auf die Schaltfläche „Daten starten“. Es wird dann sofort begonnen, die Daten in die entsprechenden Spalten einzutragen. Zusätzlich erhalten wir noch ein Zeitstempel.
Visualisieren der Sensordaten in einem Diagramm
Ein weiteres Feature dieser Tabelle ist, dass die Sensordaten fortlaufend geschrieben werden, somit können wir die Daten in einem Diagramm visualisieren und können damit eine live Betrachtung der Daten in einem Diagramm vollziehen.
Zunächst warten wir ab, bis alle Zeilen einmalig befüllt sind und danach wählen wir die Spalten und Zeilen aus, um danach ein Diagramm aus diesen Daten zu erzeugen. Hier hat Excel eine Vielzahl von Diagrammen zur Auswahl.
Abschluss
In diesem Beitrag habe ich dir gezeigt, wie man mit dem Excel Add-in Datastreamer Sensordaten vom Arduino UNO empfangen und visualisieren kann. Zusätzlich habe ich dir ein YouTube-Video von meinem Kanal verlinkt, in welchem ich das ganze noch einmal im Detail erläutere.