Konvertieren von Analog in Digital (Analog Read Serial) - Arduino-Grundlagen

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





In diesen Arduino-Grundlagen versuchen wir, die Code-Implementierungsprozedur zu verstehen, bei der ein externes analoges Signal dem Arduino-Analogeingang zugeführt und in eine entsprechend proportionale digitale Anzeige übersetzt oder umgewandelt wird. Hier verwenden wir einen variablen Widerstand in Form eines Topfes als analoge Signalquelle.

Analog Read Serial

In diesem Beispiel lernen wir die Methode zum Lesen eines Analogeingangs von einem externen Gerät wie einem Potentiometer, einem n-elektromechanischen Gerät, das zum Implementieren eines variierenden Widerstands in einer Schaltung durch manuellen Betrieb ausgelegt ist.



Ein Arduino kann zum Messen der Größe der von einem Potentiometer ausgehenden Spannung verwendet werden, um seinen entsprechend variierenden Widerstand abzulesen und zu identifizieren. Dies kann durch Einspeisen der Spannung in den Arduino-Analogeingangsport als Analogwert erfolgen.

Hier sehen wir, wie das oben Gesagte durchgesetzt wird, nachdem die serielle Kommunikation zwischen dem Arduino und dem verbundenen Computer hergestellt wurde.



Hardware erforderlich

Arduino Board

10-Kilohm-Potentiometer

Schaltungsbetrieb

Schließen Sie, wie in der obigen Abbildung dargestellt, die drei aus dem Topf kommenden Drähte an Ihre Arduino-Ports an.

Der Draht von einer der äußeren Leitungen des Topfes ist der Masse oder der negativen Leitung der Platine zugeordnet.

Das andere freie Kabel am äußersten äußeren Ende wird mit den + 5 V der Platine verbunden.

Was bleibt, ist die mittlere Leitung des Topfes, die an den Analogeingang der Arduino-Platine angeschlossen wird.

Wenn die Topfwelle gedreht wird, verschieben sich der Widerstand über die mittlere Leitung und den äußeren Anschluss von höher nach niedriger und umgekehrt, je nachdem, auf welcher Seite sich der Schieberarm nähert.

Wenn beispielsweise der Schieberarm in Richtung der + 5-V-Leitung gedreht wird, nähert sich die mittlere Leitung 5 V an und erfasst tendenziell den gesamten Wert, wenn sie die zugewiesene 5-V-Leitung berührt. In ähnlicher Weise neigt die mittlere Leitung dazu, ein Nullpotential zu erreichen, wenn die Gleitwelle in Richtung der gemahlenen Topfleitung bewegt wird.

Die obige linear variierende Versorgungsspannung über der Mittelleitung des Topfes wird vom Arduino-Analogeingang gelesen, um sie in einen entsprechend variierenden Widerstand des Topfes zu interpretieren.

Der Arduino enthält eine interne Analog-Digital-Wandlerschaltung, die die obige Topfbewegung effektiv interpretiert und in Zahlen zwischen 0 und 1023 umwandelt.

Eine bestimmte Position über der Topfwelle führt dazu, dass eine proportionale Zahl zwischen 0 und 1023 vom Arduino übersetzt wird, und für die Endwerte von 5 V und Null Volt sind die Interpretationen offensichtlich 0 und 1023.

In dem genannten Programm muss die Setup-Funktion nur zum Initiieren der seriellen Kommunikation ausgelöst werden. Die Rate beträgt 9600 Bit Daten pro Sekunde über Ihr Arduino-Board und den Computer.

Der erwartete Befehl hat folgende Form:

Serial.begin (9600)

Anschließend erzwingen wir in der Hauptschleife Ihres Codes eine Variable, um den Widerstandswert (der wie zwischen 0 und 1023 beschrieben ist und nur für einen int-Datentyp geeignet ist) festzulegen, der von den Poti-Leads empfangen wird:

int sensorValue = analogRead (A0)

Drucken Sie diese Informationen abschließend als Dezimalwert (DEC) in Ihr serielles Fenster. Sie können den Befehl Serial.println () verwenden, um dies in der letzten Codezeile zu implementieren:

Serial.println (sensorValue, DEC)

Danach, wenn Serial Monitor in der Arduino-Entwicklungsdomäne gestartet wird (dies erfolgt durch Klicken auf die Schaltfläche, die sich unmittelbar rechts neben der Schaltfläche 'Hochladen' in der Kopfzeile des Programms befindet).

Wir würden eine konsistente Ziffernkette von 0 bis 1023 sehen, die der variierenden Drehposition der Topfwelle entspricht.

Wenn wir die Drehung des Topfschafts zu einem bestimmten Zeitpunkt stoppen, wird die entsprechende Momentanzahl auf dem Bildschirm des Arduino angezeigt. Dies würde sich wieder proportional ändern, wenn wir die Position des Topfschafts ändern.

Der Code

/ *
AnalogReadSerial
Liest einen Analogeingang an Pin 0 und druckt das Ergebnis auf den seriellen Monitor.
Befestigen Sie den mittleren Stift eines Potentiometers an Stift A0 und die äußeren Stifte an +5 V und Masse.

Dieser Beispielcode ist gemeinfrei.
* /

// Die Setup-Routine wird einmal ausgeführt, wenn Sie auf Zurücksetzen klicken:
void setup () {
// Serielle Kommunikation mit 9600 Bit pro Sekunde initialisieren:
Serial.begin (9600)
}}

// Die Schleifenroutine läuft immer und immer wieder:
void loop () {
// Lesen Sie den Eingang an Analog-Pin 0:
int sensorValue = analogRead (A0)
// drucke den gelesenen Wert aus:
Serial.println (sensorValue)
Verzögerung (1) // Verzögerung zwischen den Lesevorgängen für Stabilität
}}




Zurück: Überwachen des Status eines Switches (Digital Read Serial) - Arduino-Grundlagen Weiter: 1,25 V bis 120 V Netzregulierbare Spannungsreglerschaltung