כיצד להשתמש במקודד הסיבוב KY-040 עם Arduino

How to Use the KY-040 Rotary Encoder with Arduino

מקודד הסיבוב KY-040 הוא מכשיר מכני המשמש למדידת מיקום או סיבוב זוויתי. הוא משמש בדרך כלל בבקרות נפח, ניווט בתפריט ומעקב אחר מיקום ברובוטיקה. מדריך זה ינחה אתכם באמצעות חיבור ושימוש במקודד הסיבוב KY-040 עם Arduino.


מה תצטרך

  1. מודול מקודד סיבוב של KY-040
  2. לוח ארדואינו (למשל, אונו, מגה, ננו)
  3. חוטי לחם וגשר
  4. מחשב עם Arduino IDE המותקן

שלב 1: הבנת המקודד הסיבוב של KY-040

מקודד KY-040 מורכב מחוגה סיבובית המייצרת קטניות בעת סיבוב. זה כולל גם כפתור לחיצה מובנה.

KY-040 PINOUT

פִּין פוּנקצִיָה
GND טָחוּן
+ ספק כוח (5V)
CLK אות דופק שעון
Dt אות דופק נתונים
SW לחיצה על אות לחצן

שלב 2: חיווט ה- KY-040 לארדואינו

כך תוכלו לחבר את ה- KY-040 ל- Arduino Uno:

KY-040 PIN סיכת ארדואינו
GND GND
+ 5V
CLK סיכה 2
Dt סיכה 3
SW סיכה 4

שלב 3: העלה את הקוד

קוד הדוגמה הבא קורא את לחיצה על כפתור הסיבוב של מקודד הסיבוב ומגלה:

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

שלב 4: בדוק את ההתקנה

  1. חבר את Arduino למחשב שלך באמצעות USB.
  2. פתח את ה- Arduino IDE ובחר את הנכון לוּחַ וכן נָמָל מתחת ל כְּלֵי עֲבוֹדָה תַפרִיט.
  3. העלה את הקוד על ידי לחיצה העלה.
  4. פתח את הצג הסדרתי (כְּלֵי עֲבוֹדָה > צג סידורי) וקבעו את שיעור הבוד 9600.
  5. סובב את המקודד ולחץ על הכפתור. שימו לב לדלפק ולחצן לחץ על הודעות בצג הסידורי.

יישומים של מקודד הסיבוב KY-040

  1. בקרת נפח או בהירות
  2. ניווט בתפריט
  3. מעקב אחר מיקום מנועי
  4. מערכות רובוטיקה ואוטומציה

פתרון בעיות

  • אין איתור סיבוב: בדוק את חיווט CLK ו- DT וודא שהסיכות תואמות את הקוד.
  • קריאות לא יציבות: הוסף עיכוב קטן של DebUnce כדי לייצב את אותות המקודד.
  • כפתור לא זוהה: ודא שסיכת SW מחוברת כראוי ושימושים INPUT_PULLUP מצב.

מַסְקָנָה

התממשק בהצלחה את מקודד הרוטרי KY-040 עם Arduino. מודול רב -תכליתי זה מאפשר לך להוסיף מעקב אחר סיבוב ופונקציונליות כפתור לפרויקטים שלך. התנסו בזה ביישומים שונים, כמו בניית בקרות בהתאמה אישית או ניווט בתפריטים במערכות שלכם!

השאירו תגובה

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.