KY-040-rotationskodaren är en mekanisk anordning som används för att mäta vinkelläge eller rotation. Det används vanligtvis i volymkontroller, menynavigering och positionsspårning i robotik. Denna handledning kommer att vägleda dig genom att ansluta och använda KY-040 Rotary Encoder med Arduino.
Vad du behöver
- KY-040 Rotary Encoder Module
- Arduino Board (t.ex. Uno, Mega, Nano)
- Breadboard och jumpertrådar
- En dator med Arduino Ide installerad
Steg 1: Förstå KY-040 Rotary Encoder
KY-040-kodaren består av en roterande urtavla som genererar pulser när de roteras. Den innehåller också en inbyggd tryckknapp.
KY-040 PINOUT
Stift | Fungera |
---|---|
Gard | Jord |
+ | Strömförsörjning (5V) |
Klk | Klockpulssignal |
Dt | Datasignal |
Sw | Tryckknappsignal |
Steg 2: Kopplar KY-040 till Arduino
Så här ansluter du KY-040 till en Arduino Uno:
KY-040-stift | Arduinosnål |
---|---|
Gard | Gard |
+ | 5V |
Klk | Stift 2 |
Dt | Stift 3 |
Sw | Stift 4 |
Steg 3: Ladda upp koden
Följande exempelkod läser rotationskodarens rotations- och upptäckt -knapptryckningar:
#define CLK 2 // Clock pin
#define DT 3 // Data pin
#define SW 4 // Switch pin
int counter = 0; // Counter to track rotation
int currentStateCLK;
int lastStateCLK;
void setup() {
pinMode(CLK, INPUT);
pinMode(DT, INPUT);
pinMode(SW, INPUT_PULLUP); // Internal pull-up for the button
Serial.begin(9600);
// Read the initial state of the CLK pin
lastStateCLK = digitalRead(CLK);
Serial.println("KY-040 Rotary Encoder Test");
}
void loop() {
// Read the current state of the CLK pin
currentStateCLK = digitalRead(CLK);
// If the state has changed, the encoder has rotated
if (currentStateCLK != lastStateCLK) {
// Check the DT pin to determine the rotation direction
if (digitalRead(DT) != currentStateCLK) {
counter++;
} else {
counter--;
}
Serial.print("Counter: ");
Serial.println(counter);
}
// Save the last state of CLK
lastStateCLK = currentStateCLK;
// Check if the button is pressed
if (digitalRead(SW) == LOW) {
Serial.println("Button pressed!");
delay(200); // Debounce delay
}
}
Steg 4: Testa installationen
- Anslut Arduino till din dator via USB.
- Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
- Ladda upp koden genom att klicka Ladda upp.
- Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till
9600
. - Vrid kodaren och tryck på knappen. Observera räknaren och knapptrycksmeddelandena i seriell monitor.
Applikationer av KY-040 Rotary Encoder
- Volym eller ljusstyrka kontroll
- Menynavigering
- Spårning av motorisk position
- Robotik- och automatiseringssystem
Felsökning
- Ingen rotationsdetektering: Kontrollera CLK- och DT -ledningarna och se till att stiften matchar koden.
- Instabila avläsningar: Lägg till en liten förseningen för debous för att stabilisera kodarsignalerna.
-
Knappen inte upptäckt: Verifiera att SW -stiftet är korrekt anslutet och använder
INPUT_PULLUP
läge.
Slutsats
Du har framgångsrikt blandat KY-040 Rotary Encoder med Arduino. Denna mångsidiga modul gör det möjligt för dig att lägga till rotationsspårning och knappfunktionalitet till dina projekt. Experimentera med det i olika applikationer, som att bygga anpassade kontroller eller navigera i menyer i dina system!