Suchcode

Messwert Spannung lesen und Arbeiten mit Potentiometern für Arduino

Messwert Spannung lesen und Arbeiten mit Potentiometern für Arduino

In diesem Tutorial werden wir untersuchen, wie man Spannungswerte mit einem Potentiometer und einem Arduino ausliest. Am Ende dieses Projekts wirst du verstehen, wie man analoge Messwerte in Spannungswerte umwandelt und sogar den Widerstand eines Potentiometers basierend auf der Spannungsausgabe berechnet. Dies ist in verschiedenen Anwendungen nützlich, bei denen du Spannungspegel überwachen und steuern musst.

Potentiometer or variable resistor

In diesem Projekt verwenden wir einen Arduino, um die Spannung von einem Potentiometer zu lesen, das an einen seiner analogen Eingangspins angeschlossen ist. Das Potentiometer ermöglicht es uns, die Spannung zu variieren, die wir dann in ein lesbares Format umwandeln und auf dem seriellen Monitor anzeigen. Zusätzlich erweitern wir die Funktionalität, um den Widerstandswert basierend auf der Spannungsmessung zu berechnen, was ein umfassendes Verständnis dafür vermittelt, wie Potentiometer mit dem Arduino funktionieren.

Für weitere Erläuterungen zu den Schritten und der Code-Implementierung schau dir unbedingt das Video an (im Video bei 00:00).

Hardware erklärt

Die wichtigsten Komponenten in diesem Projekt sind das Arduino-Board und das Potentiometer. Der Arduino ist eine Mikrocontroller-Plattform, mit der du Eingangssignale leicht lesen und Ausgänge steuern kannst. In diesem Fall liest er die analoge Spannung vom Potentiometer.

Das Potentiometer ist ein veränderbarer Widerstand, der seinen Widerstand basierend auf der Position seines Schleifers anpassen kann. Wenn es an eine Spannungsquelle angeschlossen ist, teilt es die Spannung über seine Anschlüsse auf, sodass du eine variable Spannung ausgeben kannst, die vom analogen Eingang des Arduinos gelesen werden kann.

Datenblattdetails

HerstellerVerschiedene
TeilenummerPotentiometer
Widerstandsbereich0 – 1 MΩ
Nennleistung0,1 W
Temperaturbereich-40 bis 85 °C
TypLinear oder logarithmisch

  • Stelle sicher, dass das Potentiometer richtig angeschlossen ist, um falsche Spannungsmessungen zu vermeiden.
  • Verwende ein Multimeter, um den Widerstandswert des Potentiometers zu überprüfen, bevor du es an den Arduino anschließt.
  • Halte das Potentiometer innerhalb seiner Nennleistung, um Überhitzung zu vermeiden.
  • Verwende bei Bedarf geeignete Entkopplungskondensatoren, um Rauschen in den Messwerten herauszufiltern.
  • Sei vorsichtig bei schwebenden Eingängen; verbinde ungenutzte Pins immer mit Masse.

Verdrahtungsanleitung

Arduino Wiring of Potentiometer
Arduino Wiring of Potentiometer

Um das Potentiometer mit dem Arduino zu verdrahten, verbinde zuerst ein Ende des Potentiometers mit dem 5V-Pin am Arduino und das andere Ende mit dem Masse-Pin (GND). Der mittlere Pin des Potentiometers, der Schleifer, sollte mit dem analogen Eingangspin A0 am Arduino verbunden werden. Dieser Aufbau ermöglicht es dem Arduino, die variable Spannungsausgabe vom Potentiometer zu lesen.

Potentiometer or variable resistor

Wenn du einen anderen analogen Pin verwendest, stelle sicher, dass du die entsprechende Pinnummer in deinem Code aktualisierst. Wenn du zum Beispiel den Schleifer an A1 anschließt, musst du den Code ändern, um von A1 statt von A0 zu lesen.

Codebeispiele & Durchlauf

void setup() {
  Serial.begin(9600);          // Serielle Verbindung einrichten
}

void loop() {
  int sensorValue = analogRead(A0);  // Von A0 lesen
  float voltage = sensorValue * (5.0 / 1023.0);  // In Spannung umwandeln
  Serial.print("Spannung =");  // Gibt den Text "Spannung =" aus
  Serial.print(voltage);
  Serial.println();
  delay(300);
}

Dieser Codeausschnitt initialisiert die serielle Kommunikation und liest kontinuierlich den analogen Wert von Pin A0. Er wandelt den analogen Messwert (0 bis 1023) in eine Spannung (0 bis 5V) um und gibt sie auf dem seriellen Monitor aus.

float RT = 50000; // der Potentiometerwert
float R; // der unbekannte R-Wert

void loop() {
  int sensorValue = analogRead(A0);  // Von A0 lesen
  float voltage = sensorValue * (5.0 / 1023.0);  // In Spannung umwandeln
  R = (voltage * RT) / 5.0;  // Widerstand berechnen
  Serial.print("Spannung =");  // Gibt den Text "Spannung =" aus
  Serial.print(voltage);
  Serial.print("v R=");
  Serial.print(R);
  Serial.print(" Ohm");
  Serial.println();
  delay(300);
}

Dieser zweite Codeausschnitt baut auf dem ersten auf, indem er Berechnungen für den Widerstandswert basierend auf der Spannungsmessung hinzufügt. Er verwendet den bekannten Widerstandswert des Potentiometers RT und berechnet den unbekannten Widerstand R mit der aus dem Ohmschen Gesetz abgeleiteten Formel.

Demonstration / Was zu erwarten ist

Wenn du das Programm ausführst, solltest du erwarten, die Spannungswerte im seriellen Monitor zu sehen, die sich ändern, wenn du das Potentiometer einstellst. Die Ausgabe zeigt auch den berechneten Widerstandswert basierend auf der Spannungsmessung an. Sei vorsichtig, um Verbindungen mit umgekehrter Polarität zu vermeiden, da dies zu falschen Messwerten oder Schäden an den Komponenten führen könnte (im Video bei 02:30).

Video-Zeitstempel

  • 00:00 - Einführung in das Projekt
  • 01:15 - Erklärung der Hardwarekomponenten
  • 02:30 - Verdrahtungsanleitung
  • 03:45 - Code-Durchlauf
  • 05:00 - Live-Demonstration

Bilder

Arduino Wiring of Potentiometer
Arduino Wiring of Potentiometer
Potentiometer or variable resistor
Potentiometer or variable resistor
Potentiometer or variable resistor
Potentiometer or variable resistor
10-Reading voltage and working with a potentiometer for Arduino
Sprache: C++
/*
 * Dieser Arduino-Code liest den Wert von einem analogen Pin.
 */
void setup()

{

  Serial.begin(9600); // serielle Einrichtung

}



void loop(){

  int sensorValue = analogRead(A0);
 // Wandle die analoge Messung (die von 0 bis 1023 reicht) in eine Spannung (0 - 5V) um:
  float voltage = sensorValue * (5.0 / 1023.0);
 // Geben Sie den Wert aus, den Sie gelesen haben:
  Serial.print("Voltage ="); // gibt den Text "Spannung =" aus
  Serial.print(voltage);
  Serial.println();
  delay(300);

}

 </code>
 <h2>Project 2 Finding the resistance value from the voltage</h2>
  <pre><code class="cpp">
 // Original source: https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage
 // Projekt: Den Widerstandswert aus der Spannung ermitteln
 // Dieser Code wird mit einem Videotutorial für RoboJax.com verwendet.
 // Veröffentlicht am 24. April 2017 aus Ajax, ON, Kanada.
 // Geschrieben/Redigiert von A.B.S

float RT = 50000; // der Potentiometerwert
float R; // der unbekannte R-Wert

void setup()

{

  Serial.begin(9600); // serielle Einrichtung

}

void loop(){

  int sensorValue = analogRead(A0);
 // Wandle die analoge Messung (die von 0 bis 1023 reicht) in eine Spannung (0 - 5V) um:
  float voltage = sensorValue * (5.0 / 1023.0);
 // Geben Sie den Wert aus, den Sie gelesen haben:
  R = ( voltage * RT)/5.0;
  Serial.print("Voltage ="); // gibt den Text "Spannung =" aus
  Serial.print(voltage);
  Serial.print("v R=");
  Serial.print(R);
  Serial.print(" ohms");
  Serial.println();
  delay(300);

}

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Keine Dateien verfügbar.