Daftar Isi:
- Langkah 1: Aliran Pulsa Rotary Encoder
- Langkah 2: Pinout dari Rotary Encoder
- Langkah 3: Skema
- Langkah 4: Kode
- Langkah 5: Penjelasan
- Langkah 6: Keluaran
Video: Tutorial Rotary Encoder Dengan Arduino: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
Rotary encoder adalah komponen elektronik yang mampu memonitor pergerakan dan posisi saat berputar. Rotary encoder memanfaatkan sensor optik yang dapat menghasilkan pulsa ketika rotary encoder berputar. Penerapan rotary encoder biasanya sebagai monitor gerak mekanik atau robotik juga dapat digunakan untuk pemilihan menu pada tampilan. Rotary encoder memiliki dua output sehingga dapat membedakan putaran negatif (CW) dan positif (CCW) dan juga memiliki satu tombol.
Langkah 1: Aliran Pulsa Rotary Encoder
Aliran pulsa yang dihasilkan oleh rotary encoder berikut seperti gambar di atas.
Langkah 2: Pinout dari Rotary Encoder
Penjelasan:
- GND GND
- + +5V
- Tombol SW dari rotary encoder saat ditekan
- Data DT
- Data CLK 2
Salah satu pin DT atau CLK harus terhubung ke kaki interupsi Arduino Uno, atau kedua DT dan CLK terhubung ke pin interupsi.
Langkah 3: Skema
- GND GND Arduino Uno
- + +5V Arduino Uno
- SW PIN 4 Arduino Uno
- DT PIN 3 Arduino Uno
- CLK PIN2 Arduino Uno
Langkah 4: Kode
Pada tutorial berikut yang akan digunakan sebagai interupsi adalah PIN 2 Arduino Uno, sedangkan PIN 3 hanya digunakan sebagai input biasa.
#define encoder0PinA 2#define encoder0PinB 3 #define 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.print(btn); Serial.print(""); Serial.print(valRotary); if(valRotary>lastValRotary) { Serial.print("CW"); } jika(valRotary {
Serial.print("CCW");
} lastValRotary = valRotary; Serial.println(" "); penundaan (250); } void doEncoder() { if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB)) { encoder0Pos++; } else { encoder0Pos--; } valRotary = encoder0Pos/2.5; }
Pada baris 10 sketsa di atas digunakan untuk mengaktifkan interupsi pin 2 Arduino Uno. Pada fungsi "doEncoder" dihitung dari rotary encoder. Jika nilai DT dan CLK (pin interupsi Arduino Uno) sama, maka variabel encoder0Pos akan bertambah/ditambah, selain kondisi tersebut variabel encoder0Pos akan dikurangi.
Langkah 5: Penjelasan
Nilai ValRotary adalah nilai jumlah langkah yang telah dijalankan. Nilai ValRotary diperoleh dari nilai pembacaan rotary sensor encoder dibagi 2,5. Nilai 2,5 diperoleh dari pengujian, karena satu langkah dari rotary encoder dapat melebihi 1, jadi bagilah dengan 2,5 untuk nilainya sesuai dengan langkah dan juga penambahan penundaan baca.
Sedangkan pada line 19 – 25 merupakan program untuk menentukan apakah rotary encoder CW atau CCW. Penjelasan baris 19 - 25 adalah ketika pembacaan rotary encoder saat ini lebih besar dari data putaran sebelumnya maka dinyatakan sebagai CW. Sedangkan jika pembacaan saat ini lebih kecil dari pembacaan sebelumnya maka dinyatakan sebagai CCW.
Langkah 6: Keluaran
1 = nilai tombol start putaran saat belum ditekan
Direkomendasikan:
Timer Dengan Arduino dan Rotary Encoder: 5 Langkah
Timer With Arduino dan Rotary Encoder: Timer adalah alat yang sering digunakan baik dalam kegiatan industri maupun rumah tangga.Perakitan ini murah dan mudah dibuat.Juga sangat serbaguna, dapat memuat program yang dipilih sesuai kebutuhan. Ada beberapa program yang saya buat, untuk Arduino
Power Timer Dengan Arduino dan Rotary Encoder: 7 Langkah (dengan Gambar)
Power Timer Dengan Arduino dan Rotary Encoder: Power Timer ini didasarkan pada timer yang disajikan di: https://www.instructables.com/id/Timer-With-Arduin…Modul catu daya dan SSR (solid state relay ) terpasang padanya. Beban daya hingga 1KW dapat dioperasikan dan dengan sedikit perubahan l
Rotary Encoder: Cara Kerja dan Cara Menggunakan Dengan Arduino: 7 Langkah
Rotary Encoder: Cara Kerja dan Cara Menggunakan Dengan Arduino: Anda dapat membaca ini dan tutorial menakjubkan lainnya di situs web resmi ElectroPeakOverviewDalam tutorial ini, Anda akan mengetahui cara menggunakan rotary encoder. Pertama, Anda akan melihat beberapa informasi tentang encoder rotasi, dan kemudian Anda akan belajar bagaimana
Tutorial Kit Rotary Encoder: 5 Langkah
Tutorial Kit Rotary Encoder: Deskripsi: Kit rotary encoder ini dapat digunakan untuk mendeteksi posisi dan kecepatan motor. Ini adalah kit yang sangat sederhana yang terdiri dari sensor sinar optik (saklar opto, fototransistor) dan sepotong cakram berlubang. Itu dapat dihubungkan ke mikrokontroler apa pun
Menu Arduino pada Nokia 5110 Lcd Menggunakan Rotary Encoder: 6 Langkah (dengan Gambar)
Menu Arduino pada Nokia 5110 Lcd Menggunakan Rotary Encoder: Dear friends selamat datang di tutorial lainnya! Dalam video ini kita akan belajar bagaimana membuat menu kita sendiri untuk layar LCD Nokia 5110 yang populer, untuk membuat proyek kita lebih ramah pengguna dan lebih mumpuni. Mari kita mulai! Ini adalah proyek