Daftar Isi:
Video: Rotary Encoder - Memahami dan Menggunakannya (Arduino/Pengendali lainnya): 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Rotary encoder adalah perangkat elektro-mekanis yang mengubah gerakan rotasi menjadi informasi digital atau analog. Itu bisa berputar searah jarum jam atau berlawanan arah jarum jam. Ada dua jenis enkoder putar: enkoder absolut dan relatif (incremental).
Sementara encoder absolut menghasilkan nilai yang sebanding dengan sudut poros saat ini, encoder tambahan mengeluarkan langkah poros dan arahnya. (Dalam hal ini kami memiliki encoder tambahan)
Rotary encoder menjadi lebih populer karena Anda dapat menggunakan dua fungsi dalam satu modul listrik: Sakelar sederhana untuk mengonfirmasi operasi dan rotary encoder untuk bernavigasi, mis. melalui sebuah menu.
Rotary encoder inkremental menghasilkan dua sinyal output saat porosnya berputar. Tergantung pada arahnya, salah satu sinyal memimpin yang lain. (Lihat di bawah)
Langkah 1: Memahami Data Output
Seperti yang Anda lihat ketika poros encoder mulai berputar searah jarum jam, Output A jatuh ke LOW terlebih dahulu dan Output B mengikutinya. Dalam arah berlawanan arah jarum jam operasi berubah berlawanan.
Sekarang kita hanya perlu mengimplementasikan ini pada Controller kita (saya menggunakan Arduino Nano).
Langkah 2: Bangun Sirkuit
Seperti yang saya jelaskan sebelumnya, output membuat sisi TINGGI dan RENDAH. Untuk mendapatkan TINGGI yang bersih pada pin data A dan B dari Controller kita harus menambahkan resistor Pull-Up. Pin C umum langsung ke ground untuk sayap RENDAH.
Untuk mendapatkan informasi tentang saklar internal (push-button) kita akan menggunakan dua pin lainnya. Salah satunya pergi ke VCC dan yang lainnya ke Pin data dari Controller. Kami juga harus menambahkan Resistor Pull-Down ke pin data untuk mendapatkan RENDAH yang bersih.
Anda juga dapat menggunakan resistor Pull-Up dan Pull-Down internal dari Controller Anda!
Dalam kasus saya pinout terlihat seperti:
- +3, 3V => +3, 3V (Arduino)(juga +5V mungkin)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Pin
11
- C => GND
-
SW =>
Pin
12
Langkah 3: Menulis Kode
int pinA = 10; //saklar internal A int pinB = 11; //saklar internal B int pinSW = 12; //switch (Encoder ditekan) int encoderPosCount = 0; // mulai dari nol, ubah jika kamu mau
int posisival;
pergantian bo; int mrotateTerakhir; int mrotate;
batalkan pengaturan() {
int mrotateLast = digitalRead(pinA); Serial.begin (9600); penundaan(50); }
void loop() { readencoder(); if(readswitch() == 1){ Serial.println("Switch = 1"); } }
int pembaca kode (){
mrotate = digitalRead(pinA); if (mrotate != mrotateLast){ //knob berputar if (digitalRead(pinB) != mrotate) { //switch A diubah terlebih dahulu -> berputar searah jarum jam encoderPosCount ++; Serial.println("diputar searah jarum jam"); } else {// sakelar B diubah terlebih dahulu -> berputar berlawanan arah jarum jam encoderPosCount--; Serial.println("diputar berlawanan arah jarum jam"); }
Serial.print("Posisi Encoder: "); Serial.println(encoderPosCount); Serial.println(""); } mrotateLast = mrotate; kembali encoderPosCount; } sakelar baca bool(){
if(digitalRead(pinSW)!=0){ // sakelar ditekan
while(digitalRead(pinSW)!=0){} //switch saat ini ditekan switchval = 1; } else{switchval = 0;} //switch tidak ditekan return switchval; }
Sekarang Anda dapat memutar encoder dan variabel encoderPosCount akan menghitung jika Anda memutar searah jarum jam dan menghitung mundur jika Anda memutar berlawanan arah jarum jam.
Itu dia! Sederhana dan bermanfaat.
Jangan ragu untuk mengubah dan menjalankan kodenya. Anda dapat menerapkannya dalam proyek Anda.
Saya juga akan mengunggah proyek LED di mana saya menggunakan encoder untuk mengatur kecerahan LED saya.
Direkomendasikan:
Cara Mengatur Raspberry Pi dan Mulai Menggunakannya: 4 Langkah
Cara Setup Raspberry Pi dan Mulai Menggunakannya: Bagi pembaca masa depan, kita berada di tahun 2020. Tahun di mana, jika Anda beruntung dalam keadaan sehat dan tidak terinfeksi Covid-19, Anda tiba-tiba , dapatkan lebih banyak waktu luang daripada yang pernah Anda bayangkan. Jadi bagaimana saya bisa menyibukkan diri dengan cara yang tidak terlalu bodoh? Oh ya
Apa yang Ada Di Dalam Servo dan Cara Menggunakannya Dengan Tutorial Lengkap Arduino: 6 Langkah
Apa Di Dalam Servo dan Cara Menggunakannya Dengan Tutorial Lengkap Arduino: dalam tutorial ini, mari kita jelajahi apa itu servo, tonton tutorial video ini
Cara Membuat Boot Drive Linux (dan Cara Menggunakannya): 10 Langkah
Cara Membuat Boot Drive Linux (dan Cara Menggunakannya): Ini adalah pengantar sederhana tentang cara memulai Linux, khususnya Ubuntu
Papan Pengendali Jarak Jauh Lainnya: 7 Langkah
Namun Papan Pengendali Jarak Jauh Lain: بسم الله الرحمن الرحيم Papan dapat digunakan untuk mengendalikan robot sebagai contoh. Papan dapat ditenagai oleh 2 baterai Lipo 7.4 V. Papan ini mencakup fitur-fitur berikut: ATMega328Pb Pengontrol (ekosistem Arduino) MPU6050 a 3- sumbu giroskop
Cara Menggunakan Motor Stepper Sebagai Rotary Encoder dan Tampilan OLED untuk Langkah: 6 Langkah
Cara Menggunakan Motor Stepper Sebagai Rotary Encoder dan Tampilan OLED untuk Langkah-Langkahnya: Dalam tutorial ini kita akan mempelajari cara melacak langkah motor stepper pada Tampilan OLED. Tonton video demonstrasi. Kredit untuk tutorial Asli diberikan kepada pengguna youtube "sky4fly"