Disusun Oleh :
MUHAMMAD RAYHAN
1. Tujuan
1. Mahasiswa dapat mengetahui karakteristik kegunaan Modul Sensor KY 040 sebagai
pendeteksi nilai tegangan dan arus.
2. Mahasiswa dapat mengimplementasikan sensor menggunakan perangkat mikrokontroler
Arduino.
3. Mahasiswa dapat mengukur dan membandingkan hasil pembacaan sensor dengan alat
ukur multimeter.
2. Dasar Teori
2.1 Arduino Uno
Encoder adalah sebuah rangkaian yang dapat berfungsi mengkonversi suatu data
kedalam bentuk data baru. Encoder dibutuhkan untuk mengkonversi data dari suatu sistem
bilangan ke sistem bilangan lainnya. Prinsip kerja Encoder adalah mengkonversi
suatu data agar data tersebut dapat diterima oleh receiver dalam keadaan utuh. Dimana pada
bagian penerima terdapat decoder yang dapat mengambil data yang telah dikonversi oleh
Encoder.
Incremental encoder terdiri dari dua track atau single track dan dua sensor yang disebut
channel A dan B. Ketika poros berputar, pada contoh Gambar 2.6, deretan pulsa akan
muncul di masing-masing channel pada frekuensi yang proporsional dengan kecepatan
putar sedangkan hubungan fasa antara channel A dan B menghasilkan arah putaran,.
Dengan menghitung jumlah pulsa yang terjadi terhadap resolusi piringan maka putaran
dapat diukur. Untuk mengetahui arah putaran, dengan mengetahui channel mana yang
leading terhadap channel satunya dapat kita tentukan arah putaran yang terjadi karena
kedua channel tersebut akan selalu berbeda fasa seperempat putaran (quadrature signal).
Seringkali terdapat output channel ketiga, disebut INDEX, yang menghasilkan satu pulsa
per putaran berguna untuk menghitung jumlah putaran yang terjadi.
Gambar 2.6 Susunan Incremental Rotary Encoder
Sensor rotary encoder merupakan suatu komponen transuder elektromekanik yang
dimanfaatkan untuk mengukur perpindahan (rotasi) pada motor. Komponen ini dapat
dimanfaatkan untuk mengukur kecepatan. Rotary encoder berbentuk suatu piringan, piringan
ini memiliki beberapa bagian yang transparan dan beberapa bagian tidak tembus cahaya
yang berjajar disepanjang tepi piringan untuk dapat dimanafaatkan dalam mengukur
kecepatan.
2.4 Resistor
Resistor merupakan salah satu komponen yang paling sering ditemukan dalam Rangkaian
Elektronika. Hampir setiap peralatan Elektronika menggunakannya. Pada dasarnya Resistor
adalah komponen Elektronika Pasif yang memiliki nilai resistansi atau hambatan tertentu
yang berfungsi untuk membatasi dan mengatur arus listrik dalam suatu rangkaian
Elektronika. Resistor atau dalam bahasa Indonesia sering disebut dengan Hambatan atau
Tahanan dan biasanya disingkat dengan Huruf “R”. Satuan Hambatan atau Resistansi
Resistor adalah OHM (Ω). Sebutan “OHM” ini diambil dari nama penemunya yaitu Georg
Simon Ohm yang juga merupakan seorang Fisikawan Jerman.
4. Pelaksanaan Percobaan
4.1 Gambar Rangkaian
Gambar 4.1 Rangkaian Percobaan Gambar 4.2 Rangkaian Percobaan Sensor KY 040
Sensor KY 040 dengan Servo
Tabel 5.1 Hasil Percobaan Sensor KY 040 Tabel 5.2 Hasil Percobaan Sensor KY 040
Sudut Genap Positif Sudut Genap Negatif
Sudut (°) Clock (V) Clock (w) Sudut (°) Clock (V) Clock (w)
0 4,97 1 0 4,95 1
10 4,95 1 -10 4,96 1
20 4,97 1 -20 4,90 1
30 4,94 1 -30 4,89 1
40 4,97 1 -40 4,94 1
50 4,97 1 -50 4,94 1
60 4,97 1 -60 4,93 1
70 4,98 1 -70 4,95 1
80 4,99 1 -80 4,95 1
90 4,97 1 -90 4,94 1
Tabel 5.3 Hasil Percobaan Sensor KY 040 Tabel 5.4 Hasil Percobaan Sensor KY 040
Sudut Ganjil Positif Sudut Ganjil Negatif
Sudut (°) Clock (V) Clock (w) Sudut (°) Clock (V) Clock (w)
1 0,00 0 -1 0,00 0
11 0,01 0 -11 0,00 0
21 0,01 0 -21 0,00 0
31 0,02 0 -31 0,01 0
41 0,01 0 -41 0,01 0
51 0,01 0 -51 0,01 0
61 0,00 0 -61 0,01 0
71 0,02 0 -71 0,01 0
81 0,01 0 -81 0,01 0
91 0,00 0 -91 0,01 0
5.1.2 Percobaan Sensor KY 040 dengan Servo
100
80
60
40
20
0
1 2 3 4 5 6 7 8 9 10 11 12 13
Data
Gambar 5.1 Grafik Perbandingan Tegangan Sensor dan Terukur Tanpa Beban
5.3 Percobaan
5.3.1 Percobaan Sensor KY 040
Gambar 5.2 Percobaan Genap Gambar 5.3 Percobaan Genap Gambar 5.4 Percobaan Ganjil
Positif negatif Positif
kmtech.id. (2021, 8 Oktober). Mengenal Perangkat Lunak Arduino IDE. Diakses pada 18
September 2022, dari https://www.kmtech.id/post/mengenal-perangkat-lunak-arduino-ide
aldyrazor.com. (2020, 1 April). Kabel Jumper Arduino : Pengertian, Fungsi, Jenis, dan
Harga. Diakses pada 18 September 2022, dari https://www.aldyrazor.com/2020/04/kabel-
jumper-arduino.html
Percobaan 12 Modul Sensor KY 040 Laboratorium Sensor dan Transduser II. (2022).
Semarang, Indonesia: Politeknik Negeri Semarang.
Lampiran
1. Program Sensor KY 040
1 #include<LiquidCrystal_I2C.h> // Libarary LiquidCrystal_12C
2
3 LiquidCrystal_I2C lcd(0x27,16,2);
4
5 int CLK = A0; // Pin 9 to clk on encoder
6 int DT = A1; // Pin 8 to DT on encoder
7 int RedLed = 4; // You do not need to use the leds.
8 int GreenLed = 5;
9 int RotPosition = 0;
10 int rotation;
11 int value;
12 boolean LeftRight;
13
14 void setup() {
15 lcd.init();
16 lcd.backlight();
17 lcd.setCursor(0,0);
18 lcd.print("BISMILAH");
19 delay(1000);
20 lcd.clear();
21 Serial.begin (9600);
22 pinMode (CLK, INPUT);
23 pinMode (DT, INPUT);
24 pinMode (RedLed, OUTPUT);
25 pinMode (GreenLed, OUTPUT);
26 rotation = digitalRead(CLK);
27 }
28
29 void loop() {
30 value = digitalRead(CLK);
31 if (value != rotation) { // we use the DT pin to find out which way we
turning.
32 if (digitalRead(DT) != value) { // Clockwise
33 RotPosition ++;
34 LeftRight = true;
35 } else { //Counterclockwise
36 LeftRight = false;
37 RotPosition--;
38 }
39 if (LeftRight) { // turning right will turn on red led.
40 Serial.println ("clockwise");
41 digitalWrite (RedLed, HIGH);
42 digitalWrite (GreenLed, LOW);
43 } else { // turning left will turn on green led.
44 Serial.println("counterclockwise");
45 digitalWrite (RedLed, LOW);
46 digitalWrite (GreenLed, HIGH);
47 }
48 Serial.print("Encoder RotPosition: ");
49 Serial.println(RotPosition); // this will print in the serial monitor.
50 lcd.setCursor(0,0);
51 lcd.print("Posisi: ");
52 lcd.print(RotPosition);
53 lcd.print(" Degree ");
54 float sensorValue = analogRead(CLK); // pin analog input A0 sebagai
sensorValue
55 float voltage = sensorValue* (5.0/1023); // pembacaan analog input * (5/1023)
56 Serial.print("Voltage : "); // mengirim karakter "Voltage :" ke serial monitor
57 Serial.print(voltage); // mengirim karakter nilai variabel voltage ke serial
monitor
58 Serial.println(""); // mengirim karakter " " ke serial monitor
59
60 }
61 rotation = value;
62 }
63