Isi kandungan:
- Langkah 1: Aliran Nadi Rotary Encoder
- Langkah 2: Pinout Rotary Encoder
- Langkah 3: Skematik
- Langkah 4: Kod
- Langkah 5: Penjelasan
- Langkah 6: Keluaran
Video: Tutorial Rotary Encoder With Arduino: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Rotary encoder adalah komponen elektronik yang mampu memantau pergerakan dan kedudukan semasa berpusing. Pengekod putar menggunakan sensor optik yang dapat menghasilkan denyutan ketika pengekod putar berputar. Aplikasi pengekod putar biasanya sebagai monitor gerakan mekanikal atau robotik juga dapat digunakan untuk pemilihan menu pada paparan. Pengekod putar mempunyai dua output sehingga dapat membezakan antara putaran negatif (CW) dan positif (CCW) dan juga mempunyai satu butang.
Langkah 1: Aliran Nadi Rotary Encoder
Aliran nadi yang dihasilkan oleh pengekod putar berikut adalah seperti gambar di atas.
Langkah 2: Pinout Rotary Encoder
Penjelasan:
- GND GND
- + + 5V
- Butang SW pengekod putar semasa ditekan
- Data DT
- Data CLK 2
Salah satu pin DT atau CLK mesti disambungkan ke kaki gangguan Arduino Uno, atau kedua-dua DT dan CLK disambungkan ke pin interrupt.
Langkah 3: Skematik
- GND à GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
Langkah 4: Kod
Dalam tutorial berikut, yang akan digunakan sebagai gangguan adalah PIN 2 dari Arduino Uno, sedangkan PIN 3 hanya digunakan sebagai input biasa.
#define encoder0PinA 2 # define encoder0PinB 3 #define encoder0Btn 4 int encoder0Pos = 0; batal persediaan () {Serial.begin (9600); pinMode (encoder0PinA, INPUT_PULLUP); pinMode (encoder0PinB, INPUT_PULLUP); pinMode (encoder0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, TUKAR); } int valRotary, lastValRotary; gelung void () {int btn = digitalRead (encoder0Btn); Serial.print (btn); Cetakan bersiri (""); Serial.print (valRotary); if (valRotary> lastValRotary) {Serial.print ("CW"); } jika (valRotary {
Serial.print ("CCW");
} lastValRotary = valRotary; Serial.println (""); kelewatan (250); } batal doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } lain {encoder0Pos--; } valRotary = encoder0Pos / 2.5; }
Pada baris 10 lakaran di atas digunakan untuk membolehkan gangguan pin 2 Arduino Uno. Dalam fungsi "doEncoder" dikira dari rotary encoder. Sekiranya nilai DT dan CLK (pin interrupt Arduino Uno) adalah sama, maka pemboleh ubah "encoder0Pos" akan ditambah / ditambahkan, selain syarat itu, pemboleh ubah "encoder0Pos" dikurangkan.
Langkah 5: Penjelasan
Nilai ValRotary adalah nilai bilangan langkah yang telah dijalankan. Nilai ValRotary diperoleh daripada nilai bacaan encoder sensor putar dibahagi dengan 2.5. Nilai 2.5 diperoleh dari ujian, kerana satu langkah pengekod putar mungkin melebihi 1, jadi bahagi dengan 2.5 untuk nilainya mengikut perstep dan juga penambahan kelewatan baca.
Semasa di talian 19 - 25 adalah program untuk menentukan sama ada pengekod putar berputar CW atau CCW. Penjelasan garis 19 - 25 adalah apabila bacaan rotary encoder semasa lebih besar daripada data putaran sebelumnya yang kemudian dinyatakan sebagai CW. Manakala jika bacaan semasa lebih kecil daripada bacaan sebelumnya maka dinyatakan sebagai CCW.
Langkah 6: Keluaran
1 = nilai butang mula putar apabila belum ditekan
Disyorkan:
Pemasa Dengan Arduino dan Rotary Encoder: 5 Langkah
Pemasa Dengan Arduino dan Rotary Encoder: Pemasa adalah alat yang sering digunakan dalam aktiviti industri dan isi rumah. Perhimpunan ini murah dan mudah dibuat. Ia juga sangat serba boleh, dapat memuatkan program yang dipilih mengikut keperluan. Terdapat beberapa program yang ditulis oleh saya, untuk Ardui
Pemasa Kuasa Dengan Arduino dan Rotary Encoder: 7 Langkah (dengan Gambar)
Power Timer With Arduino dan Rotary Encoder: Power Timer ini berdasarkan pemasa yang ditunjukkan di: https: //www.instructables.com/id/Timer-With-Arduin… Modul bekalan kuasa dan SSR (relay keadaan pepejal) ) dilampirkan padanya. Beban kuasa sehingga 1KW dapat dikendalikan dan dengan sedikit perubahan
Cara Menggunakan Stepper Motor Sebagai Rotary Encoder dan OLED Display untuk Langkah: 6 Langkah
Cara Menggunakan Motor Stepper Sebagai Rotary Encoder dan OLED Display untuk Langkah: Dalam tutorial ini kita akan belajar bagaimana untuk melacak langkah motor stepper pada Paparan OLED. Tonton video demonstrasi. Kredit untuk tutorial Asal diberikan kepada pengguna youtube " sky4fly "
Rotary Encoder - Memahami dan Menggunakannya (Arduino / MController lain): 3 Langkah
Rotary Encoder - Memahami dan Menggunakannya (Arduino / MController lain): Pengekod putar adalah alat elektro-mekanikal yang mengubah gerakan putaran menjadi maklumat digital atau analog. Ia boleh berpusing mengikut arah jam atau lawan arah jam. Terdapat dua jenis pengekod putar: Pengekod mutlak dan relatif (tambahan)
Rotary Encoder: Bagaimana Ia Berfungsi dan Cara Menggunakan Dengan Arduino: 7 Langkah
Rotary Encoder: Bagaimana Ia Berfungsi dan Cara Menggunakan Dengan Arduino: Anda boleh membaca ini dan tutorial luar biasa lain di laman web rasmi ElectroPeakTinjauan Umum Dalam tutorial ini, anda akan mengetahui cara menggunakan encoder putar. Pertama, anda akan melihat beberapa maklumat mengenai pengekod putaran, dan kemudian anda akan belajar bagaimana