Mündəricat:
- Addım 1: Rotary Encoderin Pulse Flow
- Addım 2: Rotary Encoder -in tapılması
- Addım 3: Şematik
- Addım 4: Kod
- Addım 5: İzahat
- Addım 6: Çıxış
Video: Arduino ilə Rotary Encoder Təlimatı: 6 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
Rotary encoder, fırlanarkən hərəkəti və mövqeyi izləyə bilən elektron komponentdir. Rotary encoder, fırlanan enkoder fırlandıqda impuls yarada bilən optik sensorlar istifadə edir. Döner kodlayıcıdan ümumiyyətlə mexaniki və ya robotlu bir hərəkət monitoru olaraq istifadə etmək də ekranda menyu seçimi üçün istifadə edilə bilər. Dönər kodlayıcının mənfi (CW) və müsbət (CCW) fırlanmasını ayırd edə bilməsi üçün iki çıxışı var və eyni zamanda bir düyməyə malikdir.
Addım 1: Rotary Encoderin Pulse Flow
Aşağıdakı fırlanan kodlayıcı tərəfindən yaranan nəbz axını yuxarıdakı şəklə bənzəyir.
Addım 2: Rotary Encoder -in tapılması
İzahat:
- GND GND
- + 5V
- Basıldıqda fırlanan kodlayıcının SW düyməsi
- DT Məlumatları
- CLK Məlumatı 2
DT və ya CLK pinlərindən biri Arduino Uno -nun kəsmə ayağına, ya da DT və CLK -nin hər ikisi də kəsmə pininə bağlanmalıdır.
Addım 3: Şematik
- GND və GND Arduino Uno
- + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK və PIN2 Arduino Uno
Addım 4: Kod
Növbəti dərsdə, Arduino Uno -nun PİN 2 -si, PİN 3 yalnız adi giriş kimi istifadə olunur.
#decine encoder0PinA 2 #encoder0PinB müəyyən #3 encoder0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (encoder0PinA, INPUT_PULLUP); pinMode (encoder0PinB, INPUT_PULLUP); pinMode (encoder0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {int btn = digitalRead (encoder0Btn); Serial. çap (btn); Serial.print (""); Serial. çap (valRotary); if (valRotary> lastValRotary) {Serial.print ("CW"); } əgər (valRotary {
Serial.print ("CCW");
} lastValRotary = valRotary; Serial.println (""); gecikmə (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } başqa {encoder0Pos--; } valRotary = encoder0Pos/2.5; }
Yuxarıdakı eskizin 10 -cu sətrində, pin 2 Arduino Uno -nun kəsilməsini təmin etmək üçün istifadə olunur. "DoEncoder" funksiyasında fırlanan kodlayıcıdan hesablanır. DT və CLK (Arduino Uno pin kəsmə) dəyəri eynidırsa, "encoder0Pos" dəyişəni artırılacaq / əlavə olunacaq, bu şərtə əlavə olaraq "encoder0Pos" dəyişəninin azalması baş verir.
Addım 5: İzahat
ValRotary dəyəri, işləyən addımların sayının dəyəridir. ValRotary dəyəri, 2.5 -ə bölünən fırlanan sensor kodlayıcı oxu dəyərindən əldə edilir. Testdən 2.5 dəyəri alınır, çünki fırlanan kodlayıcının bir addımı 1 -dən çox ola bilər, buna görə də dəyərə görə 2,5 -ə bölün və oxunan gecikmənin əlavə olunmasına görə.
19 - 25 -ci sətirdə, fırlanan dönər kodlayıcı CW və ya CCW olub olmadığını müəyyən etmək üçün bir proqramdır. 19 - 25 -ci sətirlərin izahı, indiki dönər kodlayıcının oxunuşunun CW olaraq ifadə olunan əvvəlki fırlanan məlumatlardan daha böyük olmasıdır. Halbuki, indiki oxunuş əvvəlki oxunuşdan kiçikdirsə, CCW olaraq göstərilir.
Addım 6: Çıxış
1 = dönmənin basılmadığı zaman başlanğıc düyməsinin dəyəri
Tövsiyə:
Arduino və Rotary Encoder ilə Taymer: 5 addım
Arduino və Rotary Encoder ilə Timer: Zamanlayıcı həm sənaye, həm də məişət fəaliyyətlərində tez -tez istifadə olunan bir vasitədir.Bu montaj ucuz və asan hazırlanır. Ehtiyaclara uyğun olaraq seçilmiş proqramı yükləyə bilmək də çox yönlüdür. Ardui üçün yazdığım bir neçə proqram var
Arduino və Rotary Encoder ilə Güc Taymeri: 7 Addım (Şəkillərlə)
Arduino və Rotary Encoder ilə Güc Zamanlayıcısı: Bu Güc Taymeri, https://www.instructables.com/id/Timer-With-Arduin..A-da təqdim olunan taymerə əsaslanır. ) 1KW -a qədər güc yükləri işlədilə bilər və minimal dəyişikliklərlə l
Arduino Dizaynı ilə Warzone Tower Müdafiə Təlimatı: 5 addım
Arduino Dizaynı ilə Warzone Tower Müdafiə Təlimatı: Giriş Biz YOJIO qrupuyuq (Siz yalnız bir dəfə JI-də oxuyursunuz, buna görə xəzinə edin.) UM-SJTU Birgə İnstitutu Şanxay Jiao Tong Universitetinin, Minhang, Şanxay şəhərciyində yerləşir. VG100 birinci kurs tələbələri üçün əsas mühəndislik kursudur
Rotary Encoder: necə işləyir və Arduino ilə necə istifadə olunur: 7 addım
Rotary Encoder: Arduino ilə necə işləyir və necə istifadə olunur: Bu və digər möhtəşəm dərsləri ElectroPeak -in rəsmi saytında oxuya bilərsinizBaxış Bu dərsdə, fırlanan kodlayıcıdan necə istifadə edəcəyinizi öyrənəcəksiniz. Əvvəlcə fırlanma kodlayıcısı haqqında bəzi məlumatlar görəcəksiniz və sonra necə edəcəyinizi öyrənəcəksiniz
STM32 Nucleo Board ilə Rotary Encoder: 12 addım
STM32 Nucleo Board ilə Rotary Encoder: Bu artımlı bir kodlayıcı növü olan Rotary Encoderin mövqeyini əldə etmək üçün bir təlimatdır. Encoders ümumiyyətlə iki növdür:- artımlı digər mütləqdir. Bu kod STM32L476 və STM32L0 mikrokontrolörləri üçün istifadə edilə bilər. .Amma əgər