Analog Messen/Plotten mittels Arduino-IDE

Um analoge Spannungen in Schaltkreisen zu messen und/oder grafisch darzustellen, läßt sich auf einfache Weise die Arduino-IDE nutzen. Mittels eines Arduino-kompatiblen MicrocontrollerBoards (etwa mit einer der gängigen Arduino-Uno-Varianten) wird der serielle Monitor sowie der serielle Plotter der integrierten Entwicklungsumgebung verwendet, um einen oder mehr analoge Kanäle auszulesen und die entsprechenden Werte seriell auszugeben, ähnlich wie auf einem DigitalVoltmeter oder einem Oszilloskop. Im folgenden werden drei der analogen Kanäle genutzt, wobei der Code in C/C++ je nach Bedarf modifizierbar ist, um anliegende Spannungen in ihrem zeitlichen Verlauf zu messen und zu plotten. Die Baud-Rate der seriellen Übertragung ist niedrig gewählt, aber die Plot-Geschwindigkeit läßt sich innerhalb gewissen Grenzen anpassen, indem eventuell eine höhere Übertragungsrate bei höherfrequenten Signalen verwendet wird.

/*
 * Analog 3-Kanal Monitor/Plot (Peter Gold)
 *
 * Es werden die an den Analog-Pins A1, A2, A3 anliegenden
 * Spannungen fortlaufend eingelesen und auf dem seriellen Monitor
 * (Serial Monitor) numerisch ausgegeben oder mittels des
 * seriellen Plotters (Serial Plotter) grafisch dargestellt. Die
 * Baud-Rate für die serielle Kommunikation ist auf 9600 baud
 * (vor-)eingestellt. Wenn gewünscht, läßt sich eine andere Baud-
 * Rate festlegen.
 */

void setup()
{
  Serial.begin(9600);   // serielle Baud-Rate auf 9600 einstellen
}

void loop()
{
  // analoge Kanäle A1, A2, A3 einlesen und Werte konvertieren
  float v1 = analogRead(A1) * 5.0 / 1023.0;
  float v2 = analogRead(A2) * 5.0 / 1023.0;
  float v3 = analogRead(A3) * 5.0 / 1023.0;
  // serielle Ausgabe der in Volt konvertierten Spannungen
  Serial.print(v1);
  Serial.print("  ");
  Serial.print(v2);
  Serial.print("  ");
  Serial.println(v3);
}

Leave a comment