Rotary encoder yang akan kami bahas adalah salah satu jenis optical encoder dengan spesifikasi di bawah ini ya

Spesifikasi
1. Tegangan Input : 5-24 Vdc
2. Shaft/Poros : dia. 6mm panjang 13mm
3. Dimensi body : 38 mm x 35.5 mm
4. Output : AB 2 phase (npn)
5. Kec. Maksimum : 5000rpm
6. Frekuensi respon : 0 – 20KHz
7. Panjang Kabel : +- 1.5 m
Wiring
1. Hijau : Phase A
2. Putih / Kuning: Phase B
3. Merah : VCC (+)
4. Hitam : GND
5. Silver : 0V/GND
Kali ini yang akan kami bahas yaitu cara memprogram menggunakan arduino, untuk PLC akan kami bahas di artikel berikutnya
Peralatan yang dibutuhkan
1. Arduino Nano
2. LCD
3. Jumper
4. BreadBoard
5. Power Supply
Wiring
Sambungkan encoder, arduinio, dan lcd seperti gambar di bawah ini

Program

Penjelasan Program
- Untuk encoder tipe optical seperti yang kami gunakan dalam artikel ini menggunakan pin interupt pada arduino nano (pin 2 dan 3). Jika menggunakan pin lain maka pulse tidak akan terbaca, hal ini tentu berbeda dengan penggunaan encoder tipe ky040.
- Untuk menghindari nilai random yang biasa muncul saat penggunaan pin interupt, pada program di atas kami menambahkan program safety pada program loopnya, yaitu:
- noInterrupts();
- updateval = val;
- Interrupts();
- Pulse encoder disimpan pada variable val. Nilai dari val ini dapat diadjust sesuai dengan tipe encoder yang digunakan misal bila menggunakan encoder tipe 1200pulse berarti nilai val dikali dengan 2.