pemrograman rotary encoder menggunakan CV AVR

Rotary encoder atau shaft encoder merupakan devices elektro-mekanik yang digunakan untuk mengkonversi posisi anguler (sudut) dari shaft (lubang) atau roda ke kode digital. Rotary encoder terdiri dari 2 tipe yaitu tipe absolut dan tipe relatif. Tipe absolut akan menghasilkan kode digital yang unik untuk masing-masing beda sudut poros, dan rotaty encoder relatif digunakan jika metode pengkodean absolut tidak dapat digunakan.
Untuk pemrograman rotary encoder dengan code vision adalah dengan memanfaatkan interupt dan timer pada codewizardAVR.
Pilih File New dan pilih Project, kemudian pilih yes saja saat muncul konfirmasi.
Atur chip menggunakan ATMega8535 dan Clocknya 4MHz
Pilih tab Port, dan seting PortB.0 dan PortD.2 sebagai input dengan internal Pull-up seperti pada gambar berikut.


Atur Eksternal Interupt 0 dengan mode Rising Edge dan untuk counter pulsa rotary encoder gunakan Timer 1 dengan memilih clock sourcenya adalah T1 Pin Rising Edge yang berarti menghitung dari 0 sampai nilainya sama dengan nilai pada register OCR1A dan interupt-nya diaktifkan pada saat Compare A Match,  seperti pada gambar berikut

Langkah selanjutnya atur konfigurasi untuk LCD untuk menampilkan hasil pemrogramannya. Misalnya di sini kita memilih PortA untuk LCD.Perhatikan gambar berikut ini

Setelah itu pilih File  Generate, Save and Exit dan simpan dengan nama yang sama misalnya encoder.
Setelah itu tambahkan source code pada program anda, hingga sesuai dengan source code di sini.
Pilih Project  Configure dan pada tab After Make atau After Build beri tanda centang pada Program the Chip dan klik OK.
Selanjutnya pilih Project  Build atau Make  program anda, jika tidak ada kesalahan pilih Program the chip.

4 komentar:

Muhammad Aldrin mengatakan...

Makasih artikelnya

Riva mengatakan...

mas mau tanya itu rotarynya tipe incremental kah?
trus kalo ada output rotary a.b.z maksudnya apa ya?thanks

Unknown mengatakan...

Terimakasih utk pencerahannya......

Unknown mengatakan...

rotar mempunyai i tiga output .. apa itu semua wajib dipakai?
kalau gunakan salah satu bisa gak?

mohon pencerahannya... saya masih awam disisni...
komentar dari teman2 sangat membantu saya..
terimakasih


Posting Komentar