Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Franzis Adventskalender für Arduino – Tag 20

Posted on 20. Dezember 202214. Dezember 2022 by Stefan Draeger

In diesem Beitrag möchte ich mit dir das zwanzigste Türchen des Franzis Adventskalender für Arduino öffnen.

Franzis Adventskalender für Arduino – Tag 20
Franzis Adventskalender für Arduino – Tag 20

Wenn wir nun das Türchen öffnen, finden wir ein Stück Knete.

Laut Handbuch sollen wir diese Knete nutzen, um vereinfacht einen kapazitiven Touchsensor zu erstellen. Da ich die Schaltungen aus dem Handbuch nicht nachbauen bzw. vorstellen werde, denn dort sind ja freilich Schweiß, Blut und Zeit reingeflossen, werde ich dir andere Informationen rund um den Mikrocontroller Arduino zeigen.

Terminal Software Putty

Nachfolgend möchte ich dir das Tool Putty vorstellen. Dieses kann man nutzen, um die serielle Ausgabe vom Mikrocontroller auszulesen, ohne die Arduino IDE zu nutzen.

Terminal Software - Putty
Terminal Software – Putty

Das Tool Putty kannst du kostenfrei von der Seite https://putty.org/ als EXE-Datei herunterladen.

Features von Putty

Das Tool ist sehr mächtig und wir können damit Verbindungen zu nachfolgenden Geräten aufbauen.

  • Server per SSH und Telnet,
  • Mikrocontroller oder ähnlichen Geräten per serieller Schnittstelle

Des Weiteren können wir die gesamte Ausgabe in eine Datei umleiten und somit die Daten, welche wir Senden & Empfangen, speichern.

Im Nachfolgenden zeige ich dir ein kleines Video wo ich eine Verbindung zu einem Wemos D1 Mini aufbaue und dort auf dem Mikrocontroller in Micropython programmiere die gesendeten und empfangenen Daten werden dabei in einer Datei gespeichert. Die Datei lasse ich mir zusätzlich im Tool Baretail fortlaufend anzeigen.

Kleines Programm für den Arduino

Hier zunächst ein kleines Programm, bei welchem wir lediglich den aktuellen Wert des Drehpotentiometers auf der seriellen Schnittstelle ausgeben.

// Drehpotentiometer am analogen Pin A0 angeschlossen
#define poti A0

int lastValue = -1;

void setup() {
  //begin der seriellen Kommunikation mit 9600 baud
  Serial.begin(9600);
}

void loop() {
  //lesen des aktuellen Wertes des Drehpotentiometers
  int value = analogRead(poti);
  //Wenn der letzte Wert ungleich des gelesenen Wertes ist, dann...
  if (lastValue != value) {
    //speichern des gelesenen Wertes
    lastValue = value;
    //Ausgabe auf der seriellen Schnittstelle
    Serial.println(value);
  }
}

Da wir die Daten später in eine Datei schreiben wollen, prüfen wir, ob der gelesene Wert ungleich letzten Wertes entspricht. Wenn dieser ungleich ist, dann wird dieser zwischengespeichert und auf der seriellen Schnittstelle ausgegeben.

Nachfolgend wollen wir nun in Putty fortfahren und müssen die Arduino IDE schließen.(Natürlich solltest du vorher das Programm auf den Mikrocontroller überspielen.)

Aufbau einer Verbindung mit Putty

Um eine serielle Verbindung mit Putty aufzubauen, muss man in der Oberfläche die Auswahl „Serial“ wählen und im Eingabefeld „Serial line“ den COM Port eintragen. Wenn du das Beispielprogramm wie oben gewählt hast, kann die Geschwindigkeit im Feld „Speed“ mit 9600 baud belassen werden.

Wenn wir nun auf die Schaltfläche „Open“ klicken, wird die Verbindung hergestellt und ein kleines, schwarzes Fenster geöffnet. In diesem Fenster sehen wir nun die Ausgabe des Mikrocontrollers.

Schreiben der Daten in eine Datei

Wie bereits erwähnt ist ein sehr nützliches Feature von Putty das Schreiben der Daten in eine Datei. Im nachfolgenden Video zeige ich dir einmal wie du Putty konfigurierst, um alle Ausgaben in eine Datei zu schreiben.

Erzeugen einer CSV Datei

Wir können nun mit diesem Feature eine CSV-Datei beschreiben und die Daten strukturiert ablegen.

Was ist eine CSV-Datei?

In einer CSV-Datei werden die Daten zeilenweise, kommasepariert abgelegt. Diese Datei können wir dann in zbsp. Microsoft Excel, Libre Office Calc einlesen und in zbsp. Diagramme umwandeln.

Anpassen des Programmes

Damit wir die Daten später weiterverwenden können, müssen wir unser Programm etwas anpassen.

In meinem Fall erzeuge ich in der ersten Spalte einen Index, welcher fortlaufend hochgezählt wird und in der zweiten Spalte den Wert des Drehpotentiometers.

// Drehpotentiometer am analogen Pin A0 angeschlossen
#define poti A0

int lastValue = -1;
long index = 0;

void setup() {
  //begin der seriellen Kommunikation mit 9600 baud
  Serial.begin(9600);

  //Ausgeben der Tabellenüberschriften
  Serial.print("Idx");
  Serial.print(";");
  Serial.println("Wert");
}

void loop() {
  //lesen des aktuellen Wertes des Drehpotentiometers
  int value = analogRead(poti);
  //Wenn der letzte Wert ungleich des gelesenen Wertes ist, dann...
  if (lastValue != value) {
    //speichern des gelesenen Wertes
    lastValue = value;
    //den Index um eins erhöhen
    index = index + 1;
    //Ausgabe auf der seriellen Schnittstelle
    Serial.print(index);
    Serial.print(";");
    Serial.println(value);
  }
}

Wenn wir dieses Programm auf den Mikrocontroller überspielen, dann wird im seriellen Monitor die Werte wie folgt ausgegeben.

Idx;Wert
1;914
2;913
3;914

Erzeugen der CSV-Datei mit Putty eines Diagrammes mit Microsoft Excel

Diese Daten schreiben wir nun in eine CSV-Datei und öffnen anschließend diese mit Microsoft Excel, um ein Diagramm zu erzeugen.

Schreibe einen Kommentar Antworten abbrechen

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

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}