4. Arduino - Analog Read Serial

Das Projekt „Arduino Analog Read Serial“ ist ein klassisches Beispiel, um die Grundlagen der analogen Signalerfassung zu erlernen und die bereits gelernte seriellen Kommunikation in einem weiteren Projekt anzuwenden. Es zeigt, wie analoge Signale von Sensoren gelesen und über die serielle Schnittstelle ausgegeben werden.
1. Einführung
2. Komponenten und Aufbau
3. Der „Arduino Analog Read Serial“-Sketch
4. Funktionsweise
5. Der „Arduino Read Analog Voltage“-Sketch
6. Analoge Signale und ihre Bedeutung
7. Serielle Kommunikation
8. Anpassungen und Erweiterungen (Beispiele)
9. Praxisbeispiele
10. Fazit
1. Einführung
Der „Analog Read Serial“-Sketch ist ein einfaches, aber wirkungsvolles Beispiel, um die Grundkonzepte der analogen Signalerfassung zu verstehen und das Konzept der seriellen Kommunikation mit dem PC erneut bzw. vertieft anzuwenden. Diese beiden Konzepte sind in der Welt der Mikrocontroller-Programmierung allgegenwärtig und bilden die Grundlage für viele komplexere Projekte und Anwendungen.
2. Komponenten und Aufbau
Um dieses Projekt umzusetzen, benötigt du einige grundlegende Komponenten:
- Arduino Uno (oder ein anderes kompatibles Board, z.B. Arduino Nano, Arduino Mega)
- Potentiometer
- Steckbrett
- Verbindungskabel (Jumperkabel)
Der Aufbau mit diesen Komponenten sollte dann wie folgt aussehen:

.
3. Der „Arduino Analog Read Serial“-Sketch
Der eigentliche Sketch ist relativ einfach und kann wie folgt dargestellt werden:
int sensorPin = A0; // Der Sensor ist mit dem analogen Pin A0 verbunden
int sensorValue = 0; // Variable zum Speichern des Sensorwerts
void setup() {
Serial.begin(9600); // Initialisiere die serielle Kommunikation mit 9600 Baud
}
void loop() {
sensorValue = analogRead(sensorPin); // Lese den Wert des Sensors
Serial.println(sensorValue); // Drucke den Wert des Sensors auf die serielle Schnittstelle
delay(100); // Warte kurz, um die Lesbarkeit der Ausgabe zu verbessern
}
Der Sketch ist aber auch bereits in der Arduino IDE zu finden. Gehe dazu auf „Datei“ > „Beispiele“ > „01.Basics“ und wähle das Beispiel „AnalogReadSerial“ aus.

4. Funktionsweise
In diesem Sketch passiert Folgendes:
int sensorPin = A0; // Der Sensor ist mit dem analogen Pin A0 verbunden
int sensorValue = 0; // Variable zum Speichern des Sensorwerts
Kopf-Bereich: Hier werden 2 Integer Variablen definiert: "sensorPin" definiert den angeschlossenen analogen Pin zur Spannungsmessung (hier Pin A0), und "SensorValue" speichert den Sensorwert der Spannungsmessung zwischen "0" (0 V) und "1023" (5 V).
void setup() {
Serial.begin(9600); // Initialisiere die serielle Kommunikation mit 9600 Baud
}
Setup-Funktion: Im Setup-Bereich wird nur die serielle Kommunikation initialisiert, sodass Daten an den seriellen Monitor gesendet werden können. Der analoge Pin muss nicht initialisiert werden, da dies automatisch passiert.
void loop() {
sensorValue = analogRead(sensorPin); // Lese den Wert des Sensors
Serial.println(sensorValue); // Drucke den Wert des Sensors auf die serielle Schnittstelle
delay(100); // Warte kurz, um die Lesbarkeit der Ausgabe zu verbessern
}
Loop-Funktion: Der Wert des Sensors wird mit der analogRead-Funktion gelesen und in der Variable "sensorValue" gespeichert. Dieser Wert wird dann über die serielle Schnittstelle an den Computer gesendet und im seriellen Monitor angezeigt.
Die Verzögerungsfunktion "delay(100)" sorgt dafür, dass die Ausgabe lesbar bleibt.
5. Der „Arduino Read Analog Voltage“-Sketch
Du hast dich bestimmt schon gefragt, wie du nun aus dem Analogwert (0-1023) eine Spannung zwischen 0 V und 5 V ableiten kannst. Du fügst einfach eine float-Variable ("voltage") hinzu, die durch das float-Format auch Dezimalstellen darstellen kann und fügst eine Dreisatz-Berechnung ein ("sensorValue * (5.0 / 1023.0)"), die dir den Analogwert in eine Spannung umrechnet.
int sensorPin = A0;
int sensorValue = 0;
float voltage = 0.0;
setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
voltage = sensorValue * (5.0 / 1023.0);
Serial.println(sensorValue);
delay(100);
}
In der Arduino IDE wirst du eine abgewandelte Form finden können. Gehe dazu auf „Datei“ > „Beispiele“ > „01.Basics“ und wähle das Beispiel „ReadAnalogVoltage“ aus.

Nun bist du im Stande mit dem Arduino eine Spannung bis 5 V zu messen und dir über den seriellen Monitor ausgeben zu lassen. Glückwunsch!
6. Analoge Signale und ihre Bedeutung
Analoge Signale sind in der Elektronik allgegenwärtig. Im Gegensatz zu digitalen Signalen, die nur zwei Zustände annehmen können ("HIGH und LOW" oder "0 und 1"), können analoge Signale einen kontinuierlichen Bereich von Werten annehmen. Diese Werte werden oft in Spannungen gemessen. In diesem Beispiel repräsentiert das Potentiometer ein analoges Signal, das einen Wert zwischen 0 und 1023 annehmen kann, abhängig von der Position des Potentiometers.
7. Serielle Kommunikation
Wie im vorigen Projekt "Arduino Digital Read Serial" beschrieben, ist die serielle Kommunikation eine Methode, um Daten bitweise über eine einzelne Leitung zu übertragen. Arduino verwendet eine serielle Schnittstelle, um mit dem Computer zu kommunizieren, kann aber auch zwischen 2 Mikrokontrollern zur Kommunikation eingesetzt werden.
8. Anpassungen und Erweiterungen (Beispiele)
Der „Arduino Analog Read Serial“-Sketch kann leicht angepasst und erweitert werden, um komplexere Aufgaben zu erfüllen:
- Mehrere Sensoren: Weitere analoge Sensoren können hinzugefügt werden, um verschiedene Arten von Daten zu erfassen. Beispielsweise hat der Arduino Uno dafür 6 Eingänge (Arduino Analog Inputs) zu Verfügung.
- Datenprotokollierung: Die gesammelten Daten können auf einer SD-Karte gespeichert oder an einen Computer zur weiteren Analyse gesendet werden.
- Benutzerdefinierte Protokolle: Benutzerdefinierte Kommunikationsprotokolle können implementiert werden, um spezifische Datenformate zu verwenden.
9. Praxisbeispiele
Die Techniken, die in diesem Beispiel verwendet werden, finden sich in vielen praktischen Anwendungen wieder:
- Umweltüberwachung: Sensoren können verwendet werden, um Daten wie Temperatur, Feuchtigkeit und Lichtintensität zu erfassen und über die serielle Schnittstelle an einen Computer zu senden.
- Industrielle Automatisierung: Analoge Sensoren spielen eine wichtige Rolle in der industriellen Automatisierung, wo sie zur Überwachung und Steuerung von Prozessen verwendet werden.
- Interaktive Kunstprojekte: Künstler und Designer nutzen analoge Sensoren, um interaktive Installationen zu schaffen, die auf Umgebungsbedingungen reagieren. Zum Beispiel eine LED-Wand, die ihre Farbe der Raumtemperatur anpasst.
10. Fazit
Das „Arduino Analog Read Serial“-Projekt illustriert die grundlegenden Konzepte der analogen Signalerfassung und der seriellen Kommunikation und zeigt, wie analoge Eingaben von Sensoren verarbeitet und überwacht werden können. Es bietet eine hervorragende Grundlage für weiterführende Projekte und verdeutlicht, wie analoge Signale und serielle Kommunikation in der Welt der Mikrocontroller-Programmierung zusammenwirken. Dieses Projekt zeigt auch wieder wie vielseitig das Programmieren mit Arduino ist und wie diese Boards eingesetzt werden können.
Du willst dich noch tiefer in die Thematik dieses Projektes einlesen? Dann schau mal auf www.Arduino.cc.
https://smarthome-assistant.info/4-arduino-analog-read-serial/
Kommentare
Kommentar veröffentlichen