Arduino in Kombination mit einem Drehschalter - MOD-16-Encoder

Das Beispiel demonstriert die grundlegende Funktionsweise eines Encoder-Moduls mit einem Arduino-Mikrocontroller.

Das Beispiel verwendet die folgenden Elemente:

Verbindung

Das Modul wird direkt vom Arduino mit Strom versorgt, sodass wir keine externe Stromquelle benötigen. Die Stifte werden gemäß der folgenden Tabelle angebracht:

Modulstift Arduino-Stift
+ v 5 V
Masse Masse
S1A 5 V
S1B 10
S2 7
S3 6

Zusätzlich enthält die Platine LED-Dioden, die durch 220-Ω-Widerstände zwischen den Pins 11 und 12 und Masse verbunden sind. Das gesamte Layout ist im Diagramm unten dargestellt.

Anschlussplan des Moduls und Arduino Uno.

Service

Die S1A- und S1B-Ausgänge sind Anschlüsse für die im Knopf befindliche Taste. Nach dem Drücken werden sie kurzgeschlossen. Die Ausgänge S2 und S3 hingegen erfassen die Richtung der Handradbewegung nach rechts bzw. nach links. Wenn am Ausgang eines gegebenen Pins eine Bewegung erkannt wird, erscheint ein High-Zustand.

Im Beispiel wurde folgender Programmcode verwendet:

 int led1 = 11; // Diode an Pin 11 angeschlossen
int led2 = 12; // Diode an Pin 12 angeschlossen
int Helligkeit = 0; // Helligkeit von led1
int FadeAmount = 5; // Ändern Sie die Helligkeit, wenn Sie den Knopf für led1 drehen

void setup () {
  PinMode (6, EINGANG); // Pins 6, 7 und 10 als Eingang setzen
  PinMode (7, EINGANG);
  PinMode (10, EINGANG);
  PinMode (LED1, AUSGANG); // Pins mit LEDs als Ausgänge
  PinMode (LED1, AUSGANG);
  
}

Leere Schleife () {
 
  analogWrite (led1, Helligkeit); // LED1 Helligkeitswert zuweisen
  
  wenn (Helligkeit = 255)
    Helligkeit = 255;
  if (digitalRead (6) == 1) // Wenn die Drehung des Knopfes nach rechts oder links erkannt wird, beginnt LED1, seine Helligkeit zu erhöhen oder zu verringern
    {Helligkeit = Helligkeit + FadeAmount;}
  if (digitalRead (7) == 1)
    {Helligkeit = Helligkeit - FadeAmount;}
  
  if (digitalRead (10) == 1 && digitalRead (led2, HIGH)) // Wenn die Taste im Knopf gedrückt wird, ändert LED2 ihren Zustand (wenn sie eingeschaltet ist, erlischt sie, wenn sie ausgeschaltet ist - it wird leuchten)
    {digitalWrite (LED2, NIEDRIG)}
  if (digitalRead (10) == 1 && digitalRead (led2, LOW))
    {digitalWrite (led2, HIGH)}
}

Durch Drücken der Taste im Knopf ändert sich die gelbe LED (sie wird abwechselnd ein- und ausgeschaltet). Durch Drehen des Knopfes können wir jedoch die Helligkeit der roten Diode ändern (aufhellen und dimmen).

Wir freuen uns auf die Zusammenarbeit mit Ihnen!