Potentiometer vs. Drehgeber und wie man sie mit Arduino verwendet

Blog

HeimHeim / Blog / Potentiometer vs. Drehgeber und wie man sie mit Arduino verwendet

Jun 24, 2023

Potentiometer vs. Drehgeber und wie man sie mit Arduino verwendet

Potentiometer und Drehgeber sehen auf den ersten Blick fast identisch aus, funktionieren aber auf unterschiedliche Weise. Entdecken Sie, wie Sie beides mit einem Arduino verwenden können. Zu den elektronischen Benutzersteuerungskomponenten gehört der Drehregler

Potentiometer und Drehgeber sehen auf den ersten Blick fast identisch aus, funktionieren aber auf unterschiedliche Weise. Entdecken Sie, wie Sie beides mit einem Arduino verwenden können.

Unter den elektronischen Bedienelementen gehören Drehknöpfe zu den am besten zu bedienenden Komponenten. Sie können Touchscreens und andere Eingabegeräte ergänzen und gut mit Tasten und Schaltern zusammenarbeiten. Aber wie können Sie Ihren eigenen DIY-Arduino-Projekten einen Knopf hinzufügen?

Sie haben im Wesentlichen zwei Möglichkeiten: ein Potentiometer oder einen Drehgeber. Diese Komponenten mögen ähnlich aussehen, aber die Methoden zu ihrer Verwendung mit einem Gerät wie einem Arduino-Mikrocontroller-Board sind sehr unterschiedlich. Mal sehen, wie sie im Vergleich zueinander abschneiden.

Die meisten Potentiometer und Drehgeber, die Heimwerkern begegnen, haben einen ähnlichen Formfaktor. Sie haben eine quaderförmige oder zylindrische Basis mit daran befestigten Verbindungsbeinen und einen runden Schaft, der sich drehen lässt und Aussparungen für den Sitz einer Kappe aufweist.

Manche Potentiometer sehen anders aus, zum Beispiel solche, die die Form langer Schieber haben, wie man sie auf Musikmischpulten findet. Wenn es um Drehgeber geht, sehen sie auf den ersten Blick jedoch fast identisch mit Drehgebern aus, sodass man meinen könnte, dass sie gleich sind.

Ein Potentiometer ist im Wesentlichen ein variabler Widerstand. Wenn die Welle gedreht wird, ändert sich der Widerstand im Potentiometer, sodass der Benutzer die Eigenschaften eines Schaltkreises ändern kann, ohne ihn neu aufbauen zu müssen. Potentiometer können sowohl analog als auch digital sein, digitale Potentiometer ahmen jedoch analoge Potentiometer nach und sind dadurch sehr ähnlich zu bedienen.

Potentiometer haben immer einen definierten Anfangs- und Endpunkt, an dem sich die Welle nicht mehr drehen lässt. Manche Potentiometer fühlen sich beim Drehen holprig an, viele sind aber auch leichtgängig, wie man sie bei alten Stereoanlagen findet.

Obwohl Potentiometer analog sind, funktionieren sie gut mit Mikrocontrollern. Sie können ein Potentiometer ganz einfach mit einem Raspberry Pi Pico oder Arduino einrichten.

Drehgeber ermitteln die Position ihrer Welle mithilfe eines Sensors, um dem Gerät, an das sie angeschlossen sind, ein analoges oder digitales Signal zu liefern. Dadurch wird dem Gerät mitgeteilt, in welcher Position sich der Encoder befindet. Neben der rotierenden Welle verfügen Drehgeber in der Regel auch über einen eingebauten Knopf, der durch Herunterdrücken der Welle betätigt wird.

Im Gegensatz zu Potentiometern können sich Drehgeber ohne Unterbrechung drehen und verfügen fast immer über fühlbare Markierungen für jede Position der Welle. Viele moderne Autos verwenden Drehgeber zur Steuerung ihrer Unterhaltungssysteme.

Dank ihres einfachen Designs ist die Verwendung eines Potentiometers mit einem Arduino einfach. Ihr Potentiometer verfügt über drei Anschlüsse: Masse, Ausgang und Vref. Die Erdungs- und Vref-Pins werden mit den GND- bzw. 5V-Anschlüssen Ihres Arduino verbunden, während der Ausgangspin des Potentiometers mit einem der analogen Eingänge Ihres Boards verbunden wird.

Ihr Arduino-Potentiometer-Code beginnt mit den Grundlagenaufstellen()UndSchleife() Vorlage, die Sie sehen, wenn Sie eine neue Datei in der Arduino IDE erstellen. Fügen Sie zunächst a hinzuconst intVariable am Anfang des Codes, um die analoge Pin-Verbindung des Potis zu registrieren – in diesem Fall A0.

Im Anschluss daran wurde dieaufstellen() Die Funktion ist einfach: Sie müssen lediglich den Pin Ihres Potentiometers als Eingang deklarieren. Sie können auch eine serielle Verbindung herstellen, wenn Sie Daten zur Diagnose an Ihren PC senden möchten.

Als nächstes ist es an der Zeit, das einzurichtenSchleife() Funktion. Beginnen Sie mit der Erstellung einesintVariable mit deranalogRead() Funktion zum Speichern der Position Ihres Potentiometers. Anschließend können Sie die verwendenKarte() Funktion, um die Größe des Werts zu reduzieren, mit dem Sie es zu tun haben – in diesem Beispiel, um den PWM-Spezifikationen zu entsprechen, beispielsweise um die Helligkeit einer LED zu steuern. Fügen Sie eine kurze Verzögerung hinzu, um die Stabilität zu gewährleisten.

Nachdem Sie nun die Position Ihres Potentiometers kennen, können Sie es mit anderen Teilen des Codes verwenden. Zum Beispiel einWennDie Anweisung würde gut funktionieren, um Code auszulösen, wenn sich das Potentiometer in einer bestimmten Position befindet.

Drehgeber erfordern einen komplizierteren Code als Potentiometer, sind aber dennoch recht einfach zu bedienen. Ihr Drehgeber verfügt über fünf Pins: Masse, VCC, einen Tastenpin (SW), Ausgang A (CLK) und Ausgang B (DT). Die Masse- und VCC-Pins werden mit den Masse- bzw. 5-V-Anschlüssen Ihres Arduino verbunden, während die SW-, CLK- und BT-Pins mit einzelnen digitalen Anschlüssen des Arduino verbunden werden.

Um die Arbeit mit unserem Code zu vereinfachen und zu vereinfachen, verwenden wir die von MPrograms auf GitHub erstellte SimpleRotary Arduino-Bibliothek. Stellen Sie sicher, dass Sie diese Bibliothek installiert haben, bevor Sie mit der Arbeit an Ihrem Code beginnen.

Ähnlich wie bei Ihrem Potentiometer-Code können Sie Ihr Drehgeber-Skript mit dem Basis-Arduino startenaufstellen()UndSchleife() Funktionsvorlage. Beginnen Sie mit der Deklaration der SimpleRotary-Bibliothek und der Zuweisung Ihrer Encoder-Pins in dieser Reihenfolge. CLK, DT und SW.

Sie müssen Ihrem Konto nichts hinzufügenaufstellen()Funktion, es sei denn, Sie möchten den seriellen Monitor zur Diagnose Ihres Drehgebers verwenden.

DerSchleife() Funktion ist eine andere Geschichte. Die Bestimmung der Drehung der Encoderwelle beginnt mit arotation.rotate()Funktionsaufruf, der einem zugewiesen istint Variable. Wenn das Ergebnis 1 ist, dreht sich der Encoder im Uhrzeigersinn. Wenn das Ergebnis 2 ist, dreht sich der Encoder gegen den Uhrzeigersinn. Das Ergebnis ist immer 0, wenn sich der Encoder seit der letzten Überprüfung nicht gedreht hat.

Sie können verwendenWennAnweisungen, um abhängig von der Drehrichtung des Encoders anderen Code auszulösen.

Sie müssen außerdem Code für die Schaltfläche Ihres Encoders hinzufügenSchleife() Funktion. Dieser Vorgang ist sehr ähnlich, außer dass Sie das verwendenrotation.push()Funktion, stattrotation.rotate().

Dieses Skript ist recht einfach und Sie können viel tun, um es zu Ihrem eigenen zu machen. Es lohnt sich, einen Blick in die SimpleRotary-Projektdokumentation zu werfen, um sicherzustellen, dass Sie alle wichtigen Funktionen nutzen. Nach der Zusammenstellung sollte Ihr Encoder-Code so aussehen.

Wie Sie sehen, funktionieren Drehgeber und Potentiometer ganz unterschiedlich. Beide Komponenten bieten Ihnen neue Möglichkeiten zur Steuerung Ihrer Elektronikprojekte, aber welche sollten Sie wählen?

Potentiometer sind erschwinglich und einfach zu bedienen, ermöglichen jedoch nur einen begrenzten Eingabebereich. Dadurch eignen sie sich hervorragend, wenn Sie die Helligkeit einer LED steuern oder die Leistung bestimmter Komponenten erhöhen oder verringern und ähnliche Aufgaben erledigen möchten.

Drehgeber bieten wesentlich mehr Spielraum als Potentiometer. Durch den Einbau eines Druckknopfes eignen sie sich hervorragend für Menüsteuerungssysteme, wie sie in vielen modernen Autos zu finden sind. Diese Art von Komponenten erfreut sich im Bereich des mechanischen Tastaturbaus großer Beliebtheit. Sie können sogar ein kleines Makropad mit integriertem Encoder bauen.

Mit all diesen Informationen sollten Sie bereit sein, mit einem Elektronikprojekt mit einem Potentiometer oder Drehgeber zu beginnen. Mit diesen Komponenten haben Sie viel Kontrolle über die von Ihnen erstellten Schaltkreise. Sie müssen jedoch sicherstellen, dass Sie die richtige Option für Ihr Projekt auswählen.

Samuel ist ein in Großbritannien ansässiger Technologieautor mit einer Leidenschaft für alles, was mit Heimwerken zu tun hat. Samuel hat Unternehmen in den Bereichen Webentwicklung und 3D-Druck gegründet und war viele Jahre lang als Autor tätig. Er bietet einen einzigartigen Einblick in die Welt der Technologie. Er konzentriert sich hauptsächlich auf DIY-Tech-Projekte und liebt nichts mehr, als lustige und aufregende Ideen zu teilen, die Sie zu Hause ausprobieren können. Außerhalb der Arbeit findet man Samuel meist beim Radfahren, beim Spielen von PC-Videospielen oder bei dem verzweifelten Versuch, mit seiner Haustierkrabbe zu kommunizieren.

aufstellen()Schleife()const intaufstellen()Schleife()intanalogRead()Karte()Wennaufstellen()Schleife()aufstellen()Schleife()rotation.rotate()intWennSchleife()rotation.push()rotation.rotate()