En rotkodare är en sensor som omvandlar rotationsrörelse till digitala signaler, vilket möjliggör exakt kontroll över position, hastighet och riktning. Det används vanligtvis i Volymkontroller, robotik, CNC -maskiner och menynavigering. Den här guiden visar hur du ställer in och använder en roterande kodare med en Raspberry Pi med Python.
Vad du behöver
- Hallon (Varje modell med GPIO -stöd, t.ex. PI 3, PI 4)
- Rotary Encoder (t.ex. KY-040)
- Breadboard och jumpertrådar
- Python installerad på Raspberry Pi
Steg 1: Förstå hur en roterande kodare fungerar
En rotkodare har två huvudutgångar:
- Clk (a) - Klockpulssignal
- Dt (b) - riktningssignal
- Sw (frivillig) - Tryckknapp (används för att välja alternativ)
När det roteras, CLK- och DT -stift genererar pulser. Ordningen på dessa pulser bestämmer rotationsriktning.
Steg 2: Kopplar rotationskodaren till Raspberry Pi
Rotationsnål | Hallon pi | Fungera |
---|---|---|
Vcc | 3.3V (stift 1) | Strömförsörjning |
Gard | Mark (stift 6) | Jord |
Clk (a) | GPIO17 (stift 11) | Klockpuls |
Dt (b) | GPIO27 (stift 13) | Riktningssignal |
SW (knapp) | GPIO22 (stift 15) | Knapptryckning |
Steg 3: Installera obligatoriska bibliotek
Uppdatera din Raspberry Pi och installera Rpi.gpio Bibliotek för hantering av GPIO -avbrott.
Steg 4: Python -kod för att läsa Rotary Encoder Input
Grundläggande pythonkod för att läsa rotation
Lägga till knapptryckningsdetektering
Steg 5: Tillämpningar av en roterande kodare med Raspberry Pi
- Menynavigering - Bläddra genom LCD- eller OLED -menyer.
- Volymkontroll - Justera volymen i medieapplikationer.
- CNC -maskiner - Exakt rörelsekontroll i stegmotoriska applikationer.
- Robotik - Upptäck hjulrotation för hastighet och positionsspårning.
- Smart Home Automation - Använd som en väljare för olika hemfunktioner.
Felsökning
-
Rotary Encoder svarar inte
- Kontrollera Kabeldragning och GPIO -stiftuppdrag.
- Säkerställa Pull-up-motstånd är aktiverade (
PUD_UP
).
-
Hoppa över steg eller ojämn rörelse
- Tillägga avskaffa försening (
time.sleep(0.01)
). - Använda GPIO avbryter istället för omröstning (
GPIO.add_event_detect
).
- Tillägga avskaffa försening (
-
Knapptryckning inte upptäckt
- Säkerställa Knappstift är korrekt ansluten till GND.
- Lägg till en Avbruten tid på 300 ms i
GPIO.add_event_detect
.
Slutsats
En rotkodare är en mångsidig inmatningsenhet för Menynavigering, motorstyrning och positionsspårning. Genom att följa den här guiden kan du enkelt integrera en roterande kodare med din Hallon för interaktiva projekt. 🚀