KY-040-kiertokooderin käyttäminen Arduinon kanssa

How to Use the KY-040 Rotary Encoder with Arduino

KY-040-kiertokooderi on mekaaninen laite, jota käytetään kulman asennon tai pyörimisen mittaamiseen. Sitä käytetään yleisesti äänenvoimakkuuden säätimissä, valikkonavigointissa ja paikan seurannassa robotiikassa. Tämä opetusohjelma opastaa sinua kytkemällä ja käyttämällä KY-040-kiertokooderia Arduinon kanssa.


Mitä tarvitset

  1. KY-040 pyörivä kooderimoduuli
  2. Arduino Board (esim. UNO, Mega, Nano)
  3. Leipälevy- ja hyppyjohdot
  4. Tietokone, jossa Arduino IDE on asennettu

Vaihe 1: KY-040-kiertokooderin ymmärtäminen

KY-040-kooderi koostuu pyörivästä valitsimesta, joka tuottaa pulsseja pyöritettäessä. Se sisältää myös sisäänrakennetun painikkeen.

KY-040 Pinout

Nasta Funktio
Hölynpöly Pohja
+ Virtalähde (5 V)
Plk Kellopulssisignaali
DT Datapulssisignaali
Sw Paina nappisignaali

Vaihe 2: KY-040: n johdotus Arduinolle

Näin yhdistetään KY-040 Arduino UNO: lle:

KY-040-nasta Arduino -nasta
Hölynpöly Hölynpöly
+ 5V
Plk Nasta 2
DT Nasta 3
Sw Nasta 4

Vaihe 3: Lataa koodi

Seuraava esimerkki koodi lukee kiertokooderin kierto ja havaitsee painikkeen painikkeet:

#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
  }
}
Arduino

Vaihe 4: Testaa asennus

  1. Kytke Arduino tietokoneeseen USB: n kautta.
  2. Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
  3. Lataa koodi napsauttamalla Ladata.
  4. Avaa sarjamonitori (Työkalut > Sarjamonitori) ja aseta baud -arvo 9600.
  5. Kierrä kooderi ja paina painiketta. Tarkkaile laskuri ja painike Paina Sarjavalvonnan viestejä.

KY-040-kiertokooderin sovellukset

  1. Äänenvoimakkuuden tai kirkkauden hallinta
  2. Valikon navigointi
  3. Moottorin asennon seuranta
  4. Robotti- ja automaatiojärjestelmät

Vianetsintä

  • Ei kiertoilmaisua: Tarkista CLK- ja DT -johdotus ja varmista, että nastat vastaavat koodia.
  • Epävakaat lukemat: Lisää pieni poistoviive kooderisignaalien vakauttamiseksi.
  • Painiketta ei havaittu: Varmista, että SW -nasta on kytketty oikein ja käyttää INPUT_PULLUP tila.

Johtopäätös

Olet onnistuneesti liitetty KY-040-kiertokooderiin Arduinon kanssa. Tämän monipuolisen moduulin avulla voit lisätä kiertoseurannan ja painiketoiminnot projekteihisi. Kokeile sitä eri sovelluksissa, kuten räätälöityjen hallintalaitteiden rakentaminen tai valikoiden navigointi järjestelmissäsi!

2 minuutti lue

Jätä kommentti

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.