Spisu treści:
- Krok 1: Przepływ impulsowy enkodera obrotowego
- Krok 2: Pinout enkodera obrotowego
- Krok 3: Schemat
- Krok 4: Kod
- Krok 5: Wyjaśnienie
- Krok 6: Wyjście
Wideo: Samouczek dotyczący enkodera obrotowego z Arduino: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Enkoder obrotowy to element elektroniczny, który może monitorować ruch i pozycję podczas obracania. Enkoder obrotowy wykorzystuje czujniki optyczne, które mogą generować impulsy, gdy enkoder obrotowy się obraca. Zastosowanie enkodera obrotowego, zwykle jako mechanicznego lub zrobotyzowanego monitora ruchu, może być również wykorzystane do wyboru menu na wyświetlaczu. Enkoder obrotowy ma dwa wyjścia, dzięki czemu może rozróżniać obrót ujemny (CW) i dodatni (CCW), a także ma jeden przycisk.
Krok 1: Przepływ impulsowy enkodera obrotowego
Przepływ impulsów generowany przez następujący enkoder obrotowy jest taki jak na powyższym obrazku.
Krok 2: Pinout enkodera obrotowego
Wyjaśnienie:
- GND GND
- + +5V
- Przycisk SW enkodera obrotowego po naciśnięciu
- Dane DT
- Dane CLK 2
Jeden z pinów DT lub CLK musi być podłączony do stopki przerwania Arduino Uno lub oba piny DT i CLK są podłączone do pinu przerwania.
Krok 3: Schemat
- GND do GND Arduino Uno
- + do +5V Arduino Uno
- SW na PIN 4 Arduino Uno
- DT na PIN 3 Arduino Uno
- CLK na PIN2 Arduino Uno
Krok 4: Kod
W poniższym samouczku, który będzie używany jako przerwanie, jest PIN 2 Arduino Uno, podczas gdy PIN 3 jest używany tylko jako zwykłe wejście.
#zdefiniuj koder0PinA 2#zdefiniuj koder0PinB 3 #zdefiniuj koder0Btn 4 int koder0Pos = 0; void setup() { Serial.begin(9600); pinMode(enkoder0PinA, INPUT_PULLUP); pinMode(enkoder0PinB, INPUT_PULLUP); pinMode(encoder0Btn, INPUT_PULLUP); attachInterrupt(0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop() { int btn = digitalRead(encoder0Btn); Serial.print(btn); Serial.print(" "); Serial.print(valRotary); if(valRotary>ostatniValRotary) { Serial.print("CW"); } if(valRotary {
Serial.print(" CCW");
} lastValRotary = valRotary; Serial.println(" "); opóźnienie(250); } void doEncoder() { if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB)) { koder0Pos++; } else { koder0Pos--; } valRotary = encoder0Pos/2,5; }
W linii 10 powyższego szkicu służy do włączenia przerwania pinu 2 Arduino Uno. W funkcji „doEncoder” obliczana jest z enkodera obrotowego. Jeżeli wartość DT i CLK (przerwanie pinów Arduino Uno) jest taka sama, to zmienna „encoder0Pos” będzie inkrementowana/dodana, dodatkowo do tego warunku zostanie zmniejszona zmienna „encoder0Pos”.
Krok 5: Wyjaśnienie
Wartość ValRotary to wartość liczby wykonanych kroków. Wartość ValRotary jest uzyskiwana z wartości odczytu enkodera czujnika obrotowego podzielonej przez 2,5. Z testu uzyskuje się wartość 2,5, ponieważ jeden krok enkodera obrotowego może przekroczyć 1, więc należy podzielić przez 2,5 dla jego wartości zgodnie z krokiem, a także dodać opóźnienie odczytu.
Podczas gdy w linii 19 - 25 jest program do określenia, czy obrotowy enkoder obrotowy CW czy CCW. Wyjaśnienie wierszy 19 - 25 ma miejsce, gdy bieżący odczyt enkodera obrotowego jest większy niż poprzednie dane obrotowe, a następnie wyrażone jako CW. Natomiast jeśli bieżący odczyt jest mniejszy niż poprzedni, to jest to określane jako CCW.
Krok 6: Wyjście
1 = wartość przycisku start pokrętła, gdy nie został wciśnięty
Zalecana:
Wymiana enkodera obrotowego ISDT Q6: 4 kroki
Wymiana enkodera obrotowego ISDT Q6: Ten samouczek ma pomóc ludziom, których enkodery Q6 z czasem zepsuły się, są teraz bezużyteczne. Mój zaczął przewijać się w przypadkowych, nieregularnych kierunkach i nawet po przetopieniu lutów i oczyszczeniu enkodera alkoholem nadal było nieprzyjemnie
Użyj silnika krokowego jako enkodera obrotowego: 9 kroków (ze zdjęciami)
Użyj silnika krokowego jako enkodera obrotowego: Enkodery obrotowe doskonale nadają się do stosowania w projektach mikrokontrolerów jako urządzenie wejściowe, ale ich wydajność nie jest zbyt płynna i zadowalająca. Poza tym, mając dużo zapasowych silników krokowych, postanowiłem nadać im cel. Więc jeśli masz trochę steppera
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: 6 kroków
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: W tym samouczku dowiemy się, jak śledzić kroki silnika krokowego na wyświetlaczu OLED. Obejrzyj film demonstracyjny.Kredyt samouczka oryginalnego trafia do użytkownika YouTube „sky4fly”
Samouczek dotyczący zestawu enkodera obrotowego: 5 kroków
Samouczek dotyczący zestawu enkodera obrotowego: Opis: Ten zestaw enkodera obrotowego może być używany do wykrywania położenia i prędkości silnika. Jest to bardzo prosty zestaw składający się z czujnika wiązki optycznej (przełącznika optycznego, fototranzystora) oraz kawałka krążka szczelinowego. Można go podłączyć do dowolnego mikrokontrolera
Menu Arduino w telefonie Nokia 5110 Lcd za pomocą enkodera obrotowego: 6 kroków (ze zdjęciami)
Menu Arduino w telefonie Nokia 5110 Lcd Korzystanie z enkodera obrotowego: Drodzy przyjaciele, zapraszamy do kolejnego samouczka! W tym filmie dowiemy się, jak zbudować własne menu dla popularnego wyświetlacza LCD Nokia 5110, aby nasze projekty były bardziej przyjazne dla użytkownika i bardziej funkcjonalne. Zaczynajmy! To jest projekt