analogReadResolution()

Beschreibung

analogReadResolution() ist eine Erweiterung der Analog-API für die Arduino Due-, Zero- und MKR-Familie.

Legt die Größe (in Bits) des von analogRead() zurückgegebenen Werts fest. Der Standardwert ist 10 Bit (gibt Werte zwischen 0-1023 zurück), um die Abwärtskompatibilität mit AVR-basierten Boards zu gewährleisten.

Die Boards Due, Zero und MKR verfügen über 12-Bit-ADC-Funktionen, auf die durch Ändern der Auflösung auf 12 zugegriffen werden kann. Dadurch werden Werte von analogRead() zwischen 0 und 4095 zurückgegeben.

Syntax

analogReadResolution(bits)

Parameter

  • bits: bestimmt die Auflösung (in Bits) des von der Funktion analogRead() zurückgegebenen Wert. Man kann dies zwischen 1 und 32 einstellen. Man kann auch Auflösungen höher als 12 einstellen, aber Werte, die von analogRead() zurückgegeben werden, unterliegen einer Annäherung. Weitere Informationen finden sich im Hinweis unten.

Rückgabewert

Nichts.

Beispielcode

Der Code zeigt, wie ADC mit unterschiedlichen Auflösungen verwendet wird.

void setup() { // Öffne serielle Kommunikation Serial.begin(9600); } void loop() { // Lesen des Eingangspins auf A0 mit der Standardauflösung (10 Bit) // und senden auf die serielle Schnittstelle analogReadResolution(10); Serial.print("ADC 10-bit (default) : "); Serial.print(analogRead(A0)); // Ändern der Auflösung auf 12 Bit und lesen von A0 analogReadResolution(12); Serial.print(", 12-bit : "); Serial.print(analogRead(A0)); // Ändern der Auflösung auf 16 Bit und lesen von A0 analogReadResolution(16); Serial.print(", 16-bit : "); Serial.print(analogRead(A0)); // Ändern der Auflösung auf 8 Bit und lesen von A0 analogReadResolution(8); Serial.print(", 8-bit : "); Serial.println(analogRead(A0)); // Eine kleine Verzögerung, um den seriellen Monitor nicht zu beeinträchtigen delay(100); }

※ Anmerkungen und Warnungen:

  • Wenn du den Wert von analogReadResolution() auf einen höheren Wert als die Fähigkeiten Ihres Boards setzt, meldet der Arduino nur seine höchste Auflösung und füllt die zusätzlichen Bits mit Nullen auf. Zum Beispiel: Wenn der Due mit analogReadResolution(16) verwendet wird, erhält man eine angenäherte 16-Bit-Zahl. Die ersten 12 Bits enthalten den echten ADC-Wert und die letzten 4 Bits sind mit Nullen gefüllt.
  • Wenn du den Wert von analogReadResolution() auf einen Wert setzt, der unter den Fähigkeiten Ihres Boards liegt, werden die aus dem ADC gelesenen least significant bits verworfen.
  • Durch die Verwendung einer 16-Bit-Auflösung (oder einer anderen höheren als den tatsächlichen Hardwarefunktionen) kann man Sketches schreiben, die automatisch mit einem ADC mit höherer Auflösung umgehen, wenn diese auf zukünftigen Boards verfügbar sind, ohne dass eine Codezeile geändert werden muss.

ARDUINO KAUFEMPFEHLUNG

Arduino UNO R3
Arduino Starter Kit
Bitte Beachten: Dies sind Partnerschaftslinks. Wenn Sie die Komponenten über diese Links Kaufen, können wir eine Provision erhalten, ohne weitere Kosten für Sie. Wir Schätzen es.

※ OUR MESSAGES