Anda di halaman 1dari 5

MIKROKONTROLLER 2

TUGAS 2 PEMBACAAN HALF –


QUADRATURE ROTARY ENCODER

Dosen Pengajar :

Gilang Al Azhar, M.Tr.T

Disusun Oleh :
Amrullah Salafi Setiono 2141170162
Kelas 2D – D4

PROGRAM STUDI D-IV TEKNIK ELEKTRONIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI MALANG
2023
A. Alat dan Bahan
1. PC / Laptop
2. Software Proteus 8
3. Software Arduino IDE

B. Hasil dan Pembahasan


Buat program untuk membaca half-quadrature dengan menampilkannya pada LCD I2C.

a. Script program

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

int count = 0;
byte nA, nB;

void INT_ISR()
{
nA = digitalRead(2);
nB = digitalRead(3);
countEncoder();
}

void countEncoder()
{
int total = 2*nA + 1*nB;
switch (total)
{
case 0b10: case 0b01: count++; break;
case 0b11: case 0b00: count--; break;
}
}

void setup() {
// put your setup code here, to run once:
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
attachInterrupt(0, INT_ISR, CHANGE);
lcd.begin();
lcd.clear();
}

void loop() {
// put your main code here, to run repeatedly:
lcd.setCursor(0,0);
lcd.print(count); lcd.print(" ");
}
b. Capture Proteus

c. Analisa
Setelah program dijalankan awal awal LCD akan menunjukkan angka 0, untuk
membaca perubahan pada half-quadrature arduino diprogram untuk menambahkan
nilai pada saat rotary encoder bernilai 1 0 dan 0 1, dan mengurangi nilai pada saat
rotary encoder bernilai 0 0 dan 1 1.

Pada percobaan diatas rotary encoder menggunakan logic state sebagai perumpamaan.
Untuk perputaran Clock Wise (CW), pada saat logic A bernilai 1, logic B bernilai 0,
dan pada saat logic A bernilai 0, logic B bernilai 1, dengan kedua kondisi tersebut nilai
yang tertampilkan pada LCD akan bertambah 1. Sedangkan untuk perputaran Counter
Clock Wise (CCW), pada saat logic A dan B bernilai sama sama 1, dan bernilai sama
sama 0, maka nilai yang tampil pada LCD akan berkurang 1.
Percobaan Rotary Encoder berputar secara Clock Wise (CW)

Percobaan Rotary Encoder berputar secara Counter Clock Wise (CCW)


d. Kesimpulan

Kesimpulan dari percobaan diatas adalah half quadratur merupakan enkoder inkremental
dengan output channel 2 fase yang biasanya banyak digunakan pada aplikasi otomasi dimana
mendeteksi arah suatu gerakan diperlukan. Pada percobaan diatas half quadratur digunakan
pada rotary encoder untuk menambahkan atau mengurangi bilangan dan menampilkannya
melalui LCD.

Anda mungkin juga menyukai