Oleh :
ADITYA AINUL HAQIQI PRIHATMOJO 1731110089
FEDO GASKO MERDIANTA 1731110117
LAPORAN AKHIR
Diajukan Sebagai Syarat Memperoleh
Ijazah Ahli Madya Program Diploma III Teknik Elektronika
Jurusan Teknik Elektro Politeknik Negeri Malang
Disusun Oleh :
i
ii
ABSTRAK
Aditya Ainul Haqiqi P. dan Fedo Gasko Merdianta, 2020. Perancangan dan
Pembuatan Modul Trainer Mikrokontroler dengan Aplikasi Timer/Counter.
Laporan Akhir Program Studi Teknik Elektronika, Jurusan Teknik Elektro, Politeknik
Negeri Malang 2020.
Pembimbing :
Drs. Agus Pracoyo, MT. dan Hariyadi Singgih, ST., MT.
Pemahaman sistem mikrokontroler sangat penting bagi mahasiswa untuk
mendalami mata kuliah elektronika digital. Pendalaman ini tidak hanya bersifat
teoritis namun juga menyangkut pemahaman yang berkaitan dengan aplikasi
perangkat keras. Pada pembelajaran mata kuliah mikrokontroler sangat diperlukan
modul praktikum real guna menunjang pembelajaran mata kuliah mikrokontroler.
Tugas akhir ini akan membahas tentang perencanaan dan pembuatan modul
praktikum mikrokontroler untuk laboratorium elektronika Politeknik Negeri Malang.
Pada pembahasan ini akan dijelaskan mengenai Timer/Counter.
Timer/Counter adalah suatu komponen yang tertanam didalam mikrokontroler yang
digunakan sebagai pewaktu. Prinsip kerja modul ini memanfaatkan beberapa modul
dengan menggunakannya bersamaan modul mikrokontroler AVR ATMega. Dalam
penggunaan modul mikrokontoler AVR ATMega dapat digunakan dengan beberapa
modul,dengan cara menghubungkan ke port-port, vcc, ground, dan lainnya. Dalam
Interupsi Eksternal pada pengujian ini menggunakan modul PUSH BUTTON, LED,
LDR, SEVEN SEGMENT, dan ROTARY ENCODER. Dengan menggunakan kabel
jumper sebagai penghubung antara modul AVR ATMega dengan modul lainnya.
iii
ABSTRACT
Aditya Ainul Haqiqi P. dan Fedo Gasko Merdianta, 2020. Design and
Manufacture of Microcontroller Trainer Modules with Timer/Counter
Applications. Final Report of Electronic Engineering Study Program, Department of
Electrical Engineering, Malang State Polytechnic 2020.
Supervisor :
Drs. Agus Pracoyo, MT. dan Hariyadi Singgih, ST., MT.
iv
KATA PENGANTAR
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa, yang telah
melimpahkan Rahmat serta hidayah-Nya, memberikan Petunjuka dan Kesehatan
sehingga penulis dapat menyelesaikan laporan akhir yang berjudul
“PERANCANGAN DAN PEMBUATAN MODUL TRAINER
MIKROKONTROLER DENGAN APLIKASI TIMER/COUNTER. Laporan
Akhir ini disusun untuk memenuhi syarat menyelsaikan pendidikan Diploma III
Program Studi Teknik Elektronika, Jurusan Teknik Elektro, Politeknik Negeri
Malang.
Pada kesempatan ini dengan segala kerendahan hati penulis mengucapkan
terima kasih kepada pihak-pihak yang telah membantu dan membimbing dalam
penyusunan Laporan Akhir, yaitu kepada :
1. Kedua orang tua yang telah memberikan do‟a restu dan saudara-saudaraku
yang telah banyak memberikan do‟a dan dukungan.
2. Bapak Drs. Awan Setiawan, M., MT., MM. selaku Dikrektur Politeknik
Negeri Malang.
3. Bapak Mochammad Junus ST., MT. selaku KaJur Teknik Elektro.
4. Bapak. Herwandi ST., MT. selaku Ketua Program Studi Teknik Elektronika.
5. Bapak Drs. Agus Pracoyo, MT. selaku Pembimbing I.
6. Bapak Hariyadi Singgih, ST., MT. selaku pembimbing II.
7. Seluruh Dosen dan Staff Politeknik Negeri Malang dan Khususnya Dosen dan
Staff di Program Studi Teknik Elektronika.
8. Teman-teman sesama mahasiswa dan semua pihak yang telah membantu.
v
Penulis menyadari masih banyak kekurangan dalam pembuatan Laporan
Akhir ini. Oleh karena itu penulis mengharapkan saran dan kritikan yang bersifat
membangun dan semoga Laopran Akhir ini dapat bermanfaat.
Penulis
vi
PERNYATAAN KEASLIAN LAPORAN
Penulis
vii
DAFTAR ISI
ix
3.6 Perancangan PCB ......................................................................................... 39
3.7 Perancangan Software .................................................................................. 42
PENGUJIAN DAN ANALISA ................................................................................. 46
4.1. Pengujian LDR ............................................................................................. 46
4.1.1. Tujuan Pengujian .................................................................................. 46
4.1.2. Peralatan yang digunakan ..................................................................... 46
4.1.3. Proses Pengujian ................................................................................... 46
4.1.4. Hasil Pengujian ..................................................................................... 47
4.2. Pengujian Push Button ................................................................................. 52
4.2.1 Tujuan Pengujian ........................................................................................ 52
4.2.2 Peralatan yang digunakan ........................................................................... 52
4.2.3 Proses Pengujian ......................................................................................... 52
4.2.4 Hasil Pengujian ........................................................................................... 53
4.3. Pengujian 7 Segment..................................................................................... 54
4.3.1 Tujuan Pengujian .................................................................................. 54
4.3.2 Peralatan yang digunakan ..................................................................... 55
4.3.3 Proses Pengujian ................................................................................... 55
4.3.4 Hasil pengujian...................................................................................... 56
4.4. Pengujian LED ............................................................................................. 58
4.4.1 Tujuan Pengujian .................................................................................. 58
4.4.2 Peralatan yang digunakan ..................................................................... 58
4.4.3 Proses Pengujian ................................................................................... 58
4.4.4 Hasil Pengujian ..................................................................................... 59
4.5 Pengujian Modul LCD .................................................................................. 60
4.5.1 Tujuan Pengujian .................................................................................. 60
4.5.2 Peralatan yang Digunakan..................................................................... 60
4.5.3 Proses Pengujian ................................................................................... 60
4.5.4 Hasil Pengujian ..................................................................................... 62
x
4.5.5 Analisa................................................................................................... 62
4.6 Pengujian Aplikasi........................................................................................ 62
4.6.1 Pengujian LDR sebagai Counter ............................................................... 62
4.6.2 Pengujian Phase Correct PWM................................................................ 69
4.6.3 Pengujian Fast Mode PWM ........................................................................ 74
4.6.4 Pengujian CTC Mode PWM ...................................................................... 79
4.6.5 Pengujian PWM dikontrol Rotary Encoder ................................................ 83
BAB V....................................................................................................................... 107
PENUTUP ................................................................................................................ 107
5.1 Kesimpulan ...................................................................................................... 107
5.2 Saran ................................................................................................................ 108
DAFTAR PUSTAKA .............................................................................................. 108
DAFTAR GAMBAR
xi
Gambar 2.1 Mikrokontroler ATMEGA 8535 AVR ..................................................... 6
Gambar 2.2 Arsitektur ATMEGA 8535....................................................................... 6
Gambar 2.3 Konfigurasi Pin ATMEGA 8535/ATMEGA 16/ATMEGA32 .............. 10
Gambar 2.4 PWM ...................................................................................................... 12
Gambar 2.5 PWM Mode Phase Correct ..................................................................... 13
Gambar 2.6 Mode Phase Correct OCR Update ......................................................... 13
Gambar 2.7 PWM Mode Fast .................................................................................... 14
Gambar 2.8 Mode Fast OCR Update ......................................................................... 14
Gambar 2.9 PWM Mode CTC ................................................................................... 15
Gambar 2.10 Mode CTC OCR Update ...................................................................... 16
Gambar 2.11 Seven Segment ..................................................................................... 16
Gambar 2.12 Push Button .......................................................................................... 18
Gambar 2.13 LDR ...................................................................................................... 19
Gambar 2.14 Konfigurasi LED .................................................................................. 20
Gambar 2.15 Potensiometer Putar.............................................................................. 21
Gambar 2.16 Macam – Macam Potensiometer .......................................................... 22
Gambar 2.17 Prinsip kerja motor DC ........................................................................ 23
Gambar 2.18 Motor DC ............................................................................................. 24
Gambar 2.19 Rotary Encoder..................................................................................... 25
Gambar 3.1 Diagram Blok Timer/Counter ................................................................ 26
Gambar 3.2 Perancangan Mekanik Tampak Atas ...................................................... 31
Gambar 3.3 Perancangan Alat Tampak Samping ...................................................... 31
Gambar 3.4 Perancangan Alat Tampak Keseluruhan ................................................ 32
Gambar 3.5 Rangkaian ATMega AVR 40 Pin........................................................... 33
Gambar 3.6 Rangkaian Modul LED .......................................................................... 35
Gambar 3.7 Rangkaian 7 Segment Scanning ............................................................. 36
Gambar 3.8 Rangkaian LCD ...................................................................................... 40
Gambar 3.9 Rangkaian Motor DC ............................................................................. 41
xii
Gambar 3.10 Rangkaian Modul LDR ........................................................................ 42
Gambar 3.11 Loyout ATMega 40 Pin........................................................................ 43
Gambar 3.12 Loyout ATMega 28 Pin........................................................................ 44
Gambar 3.13 Loyout Modul Sensor Analog .............................................................. 44
Gambar 3.14 Loyout Push Button dan LED pada Modul GPIO ............................... 45
Gambar 3.15 Loyout 7 Segment Scanning ................................................................ 45
Gambar 3.16 Loyout LCD ......................................................................................... 46
Gambar 3.17 Loyout Motor DC ................................................................................. 46
Gambar 3.18 Flowchart Perancangan Software ......................................................... 48
Gambar 4.1 Rangkaian Elektrik LDR ...................................................................... 50
Gambar 4.2 Pengujian LDR dengan Cahaya Terang ................................................ 51
Gambar 4.3 Pengujian LDR dengan Cahaya ditutup ............................................... 51
Gambar 4.4 Pengujian hambatan pada LDR dengan Cahaya .................................. 52
Gambar 4.5 Pengujian hambatan pada LDR dengan Cahaya ditutup ....................... 52
Gambar 4.6 Rangkaian Elektrik Push Button .......................................................... 54
Gambar 4.7 Rangkaian Elektrik 7 Segment ............................................................... 58
Gambar 4.8 Pengujian 7 Segment 8. 8. 8. 8 .............................................................. 61
Gambar 4.9 Rangkaian Elektrik LED ...................................................................... 62
Gambar 4.10 Pengujian LED .................................................................................... 64
Gambar 4.11 Rangkaian Pengujian Modul LCD ...................................................... 65
Gambar 4.12 Hasil Pengujian Modul LCD ............................................................... 67
Gambar 4.13 Rangkaian Elektrik LDR .................................................................... 69
Gambar 4.14 Kondisi awal pengujian LDR sebagai Counter ................................... 75
Gambar 4.15 Kondisi setelah dicounter dengan LDR .............................................. 75
Gambar 4.16 Rangkaian Elektrik Phase Correct PWM ............................................ 77
Gambar 4.17 Pengujian Phase Correct PWM .......................................................... 81
Gambar 4.18 Pengujian Phase Correct PWM Min OCR0 ........................................ 81
xiii
Gambar 4.19 Pengujian Phase Correct PWM Maks OCR0 ..................................... 82
Gambar 4.20 Rangkaian Elektrik Fast Mode PWM ................................................. 83
Gambar 4.21 Pengujian Fast Mode PWM ................................................................ 87
xiv
DAFTAR TABEL
xv
BAB I
PENDAHULUAN
1
mikrokontroler di laboratorium masih sangat terbatas. Oleh karena itu, dalam
Laporan Akhir ini (LA) akan dirancang sebuah modul trainer untuk praktikum
mikrokontroler dan implementasinya dengan judul “Perancangan dan Pembuatan
Modul Trainer Mikrokontroler dengan Aplikasi Timer/Counter.”
Perancangan dan pembuatan modul trainer mikrokontroler dengan apliksi
Timer/Counter ini sebagai bahan dalam pembelajaran mahasiswa khususnya dalam
mata kuliah mikrokontroler. Timer/Counter 0 dirasa sangat penting untuk proses
belajar mahasiswa karena didalam pembahasan Timer/Counter 0 terdapat sebuah
fungsi pembangkit siklus waktu, fungsi counter, fungsi pembangkit pulsa atau PWM.
Perancangan dan realisasi modul trainer mikrokontroler ini berbasis
ATMEGA AVR sesuai dengan pembelajaran yang dilakukan mahasiswa. Pada
dasarnya perancangan modul mikrokontroler ini diharapkan dapat meningkatkan
kualitas pembelajaran praktikum mikrokontroler.
1.2 Tujuan
1. Merancang dan merealisasikan Modul Trainer Mikrokontroler untuk
praktikum mikrokontroler.
2. Memahami cara kerja Modul Trainer Mikrokontroler untuk praktikum
mikrokontroler.
3. Mampu menimplementasikan Modul Trainer Mikrokontroler dengan
Aplikasi Timer/Counter.
1.6 Luaran LA
3
1. Modul Trainer Mikrokontroler dengan Aplikasi Timer/Counter.
2. Jobsheet Modul Trainer Mikrokontroler.
4
BAB II
TINJAUAN PUSTAKA
5
push button terdiri dari saklar tekan start, stop reset dan saklar tekan untuk
emergency.
Push button memiliki kontak NC (normally close) dan NO (normally open).
Prinsip kerja Push Button adalah apabila dalam keadaan normal tidak ditekan maka
kontak tidak berubah, apabila ditekan maka kontak NC akan berfungsi sebagai stop
(memberhentikan) dan kontak NO akan berfungsi sebagai start (menjalankan)
biasanya digunakan pada sistem pengontrolan motor – motor induksi untuk
menjalankan mematikan motor pada industri – industri.
Gambar 2. 3 LDR
7
(Reduced Instruction Set Computer), sedangkan seri MCS51 berteknologi CICS
(Complex Instruction Set Computer). Secara umum, AVR dapat dikelompokkan
mnjadi 4 kelas, yaitu keluarga AT Tiny, keluarga AT90Sxx, keluarga ATMEGA, dan
AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memory,
peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka
bisa dikatakan hampir sama. Untuk mengfungsikan sebuah pin sebagai input atau
output dengan memperhatikan aturan sebagai berikut :
8
Gambar 2. 4 Mikrokontroler ATMEGA 16 AVR
9
Gambar 2. 5 Arsitektur ATMEGA 16
Sumber : ATMEL, datasheet ATMega, 2006, 3
11
5. Unit Interupsi internal dan eksternal.
6. ADC internal dengan fidelitas 10 bit 8 channel.
7. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16
MHz.
8. Port USART untuk komunikasi serial.
Secara umum konfigurasi dan fungsi pin ATMEGA 16 dapat dijelaskan sebagai
berikut :
1. VCC Input sumber tegangan (+)
12
2. GND Ground (-)
3. Port A (PA7 … PA0) berfungsi sebagai input analog dari ADC (Analog to Digital
Converter). Port ini juga berfungsi sebagai port I/O dua arah, jika ADC tidak
digunakan.
4. Port B (PB7 … PB0) berfungsi sebagai port I/O dua arah. Port PB5, PB6 dan PB7
juga berfungsi sebagai MOSI, MISO dan SCK yang dipergunakan pada proses
downloading.
5. Port C (PC7 … PC0) berfungsi sebagai port I/O dua arah.
6. Port D (PD7 … PD0) berfungsi sebagai port I/O dua arah. Port PD0 dan PD1 juga
berfungsi sebagai RXD dan TXD, yang dipergunakan untuk komunikasi serial.
7. RESET Input reset.
8. XTAL1 Input ke amplifier inverting osilator dan input ke sirkuit clock internal.
9. XTAL2 Output dari amplifier inverting osilator.
10. AVCC Input tegangan untuk Port A dan ADC.
11. AREF Tegangan referensi untuk ADC.
2.7 Timer/Counter
Timer/Counter adalah suatu komponen yang tertanam didalam mikrokontroler
yang digunakan sebagai pewaktu. Fasilitas dari Timer/Counter adalah pengguna
mikrokontroler dapat menentukan kapan suatu perintah dijalankan. Timer/Counter
dapat digunakan sebagai oscilator, PWM, ADC, dan lain-lain. Timer bekerja dengan
memberikan prescaling (pembagi frekuensi) pada clock mikrokontroller atau clock
eksternal yang bertujuan untuk mendapatkan frekuensi yang diinginkan.
Register yang digunakan untuk operasi Timer/Counter pada AVR adalah
TCNT, TCCR, TIMSK, TIFR, dan OCR. TCNT adalah register pencacah dari 0
hingga nilai maksimum yang dapat ditentukan, TCCR berfungsi untuk pengaturan
mode operasi timer/counter, TIMSK berfungsi untuk mengaktifkan dan
13
menonaktifkan fungsi interrupt, TIFR berfungsi untuk mengetahui (penanda) adanya
interupsi akibat operasi timer/counter, dan register OCR untuk menyimpan nilai
pembanding dengan nilai pada register TCNT.
Clock untuk timer berasal dari clock yang dipakai oleh sistem (internal). Jika
kita menggunakan kristal, clock untuk timer bersumber dari kristal. Timer biasanya
digunakan untuk pewaktuan. Clock untuk counter berasal dari pin Tn (T0, T1).
Digunakan untuk mencacah event dari luar (mencacah pulsa dsb).
Gambar 2. 7 PWM
Sumber : Pracoyo. Timer/Counter as PWM. 2018, 3
2.8.1 Mode Phase Correct PWM
Dalam ATmega 16 dapat dihasilkan PWM mode phase correct dimana
nilai register counter TCNTx yang mencacah naik dan turun secara terus menerus
akan selalu dibandingkan dengan register OCRx. Hasil perbandingan register
14
TCNTx dan OCRx digunakan untuk membangkitkan sinyal PWM yang
dikeluarkan melalui sebuah pin Ocx seperti gambar 2.8 dan 2.9.
…………………………..(2.0)
Gambar 2. 9 Mode Phase Correct OCR Update
Sumber : Pracoyo. Timer/Counter as PWM. 2018, 6
15
Gambar 2. 10 PWM Mode Fast
Sumber : Pracoyo. Timer/Counter as PWM. 2018, 7
……………………(2.1)
……………………………(2.2)
17
Gambar 2. 13 Mode CTC OCR Update
Sumber : Pracoyo. Timer/Counter as PWM. 2018, 8
18
2. Common Katoda
Common Katoda merupakan pin yang terhubung dengan semua kaki
katoda LED dalam seven segmen dengan common katodak akan aktif
apabila diberi logika tinggi (1) atau disebut aktif high. Kaki anoda dengan
label a sampai h sebagai pin aktifasi yang menentukan nyala LED.
2.11 LED
Light Emitting Diode atau sering disingkat dengan LED adalah komponen
elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan
tegangan maju. LED merupakan keluarga dioda yang terbuat dari bahan
semikonduktor. Warna-warna cahaya yang dipancarkan oleh LED tergantung pada
jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan
sinar inframerah yang tidak tampak oleh mata.
LED merupakan keluarga dari dioda yang terbuat dari semikonduktor. Cara
kerjanya pun hampir sama dengan dioda yang memiliki dua kutub yaitu kutub Positif
(P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri
tegangan maju (bias forward) dari anoda menuju ke katoda. Berikut adalah
konfigurasi LED gambar 2.15.
19
Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah
energi listrik menjadi energi kinetik atau gerakan (motion). Motor DC ini juga dapat
disebut sebagai Motor Arus Searah. Seperti namanya, DC Motor memiliki dua
terminal dan memerlukan tegangan arus searah atau DC (Direct Current) untuk dapat
menggerakannya. Motor Listrik DC ini biasanya digunakan pada perangkat-perangkat
Elektronik dan listrik yang menggunakan sumber listrik DC seperti Vibrator Ponsel,
Kipas DC dan Bor Listrik DC.
20
Gambar 2. 16 Motor DC
Sumber : Yuski, 2007, 99
21
BAB III
PERENCANAAN DAN PEMBUATAN ALAT
POWER
LCD 2 x 16
Mikrokontroler
ROTARY
ENCODER ATMega 7 SEGMENT
SCANNING
PUSH
KECEPATAN
BUTTON
MOTOR DC
3.1.1 Input
Untuk input alat ini pada aplikasi Timer/Counter berupa Push Button dan
Rotary Encoder untuk Mengontrol PWM, dan LDR untuk Memicu
perhitungan Counter.
26
3.1.2 Proses
Menggunakan mikrokontroler AVR ATMega16 untuk melakukan
pembacaan input, mengubah data sensor menjadi prescaler untuk
timer/counter dan PWM, hingga menjadi output sesuai yang diinginkan.
3.1.3 Output
Data yang telah diinputkan oleh user dan telah diproses oleh
mikrokontroler AVR (ATMega) memiliki output berupa LED Sebagai
indikator proses dan hasil dari keadaan input yang telah diproses oleh
mikrokontroler pada pengujian aplikasi, 7-Segment Sebagai penampil angka
(7 Segment yang dipakai sebanyak 4 buah dengan metode Latching dan
Switcing) pada pengujian modul 7 Segment. 7 Segment menyala berdasarkan
nilai digital pada PIN yang diberikan pada program, LCD untuk Menampilan
arah putaran rotary encoder, Motor DC Sebagai Output Hasil dari PWM.
29
Gambar 3. 2 Perancangan Mekanik Tampak Atas
31
Maka dapat ditentukan bahwa nilai R9 yang digunakan pada rangkaian
seperti Gambar 3.7 sebesar 300Ω.
32
Maka dapat ditentukan bahwa nilai dari R11 pada basis transistor sebesar
2k2Ω
33
Gambar 3. 6 Rangkaian ATMega AVR 40 Pin
34
LED yang digunakan dalam modul ini berjumlah 8 buah yang
bertegangan 3,0 volt dengan batas arus maksimum 10mA-20mA (data
diambil dari Datasheet), tetapi digunakan 10mA dalam perhitungan. Agar
LED dapat menyala maka logika LED harus aktif High atau berlogika 1.
Resistor dipasang guna sebagai pembatas arus (pengaman) LED. Pemilihan
nilai resistor dipertimbangkan dengan perhitungan sebagai berikut :
R = (Vs – VLED) / I LED
= (5 volt – 3 volt) / 0.01 ampere
= 200 ohm
Dari hasil perhitungan dapat diketahui muatan minimal resistor yang
dapat dipakai yaitu 200 Ohm, maka dilakukan pendekatan nilai hambatan
sehingga resistor yang digunakan yaitu 220 ohm.
35
7-segment. Saat cahaya mendekati LDR resistansi dari LDR akan menurun. Dan
sebaliknya saat sumber cahaya menjauhi LDR nilai resistansi LDR akan
menurun. Tegangan yang masuk akan masuk pada mikrokontroller untuk
memproses sesuai perintah yang akan diperintahkan. Output dari modul ini
adalah 7-segment yang berupa angka akan muncul saat LDR digelap terangkan.
Modul ini menggunakan Transistor 2N222 karena 7 segment yang digunakan
pada ini merupakan Common Anoda. Sehingga Common membutuhkan (+)Vcc.
arus yang ada pada 7 Segment sebesar 10mA tiap digitnya (maksimal 80mA).
Karena modul ini menggunakan 4 digit 7 segment maka dibutuhkan transistor
yang cocok dengan arus input Segment. 2N222 memiliki arus maksimum
sebesar 800mA yang sesuai dengan modul ini.
Dari hasil perhitungan didapat nilai resistor sebesar 875 , Sehingga dibutuhkan
resistor pada basis transistor 2N222 dengan pendekatan resistor sebesar 1KΩ.
36
Gambar 3. 8 Rangkaian 7 Segment Scanning
37
8 D1
9 D2
10 D3
11 D4
12 D5
13 D6
14 D7
15 Vcc
16 Ground
38
Pada motor DC ini bekerja mulai dari tegangan 1.5V hingga tegangan 9.0V
(data diambil dari datasheet), sedangkan arusnya bekerja mulai dari 0.0026A.
39
Gambar 3. 11 Loyout Modul Sensor Analog
40
Gambar 3. 11 Loyout ATMega 40 Pin
41
Gambar 3. 13 Loyout LCD
Mulai
43
Input : Push button 1,
Push button 2 & Rotary
encoder
T
Push button 1 Push button 2
ditekan / Rotary ditekan / Rotary
encoder diputar encoder diputar
kekanan T kekiri
Y Y
Selesai
44
Input : LDR
Mikrokontroler membaca
data high/low dari LDR
Output : 7 segment
menampilkan angka 0000
Mikrokontroler membaca
data high dari LDR
Selesai
45
BAB IV
PENGUJIAN DAN ANALISA
Pada bab ini akan dijelaskan pembahasan mengenai laporan akhir ini.
Pengujian laporan akhir ini meliputi simulasi aplikasi keseluruhan yaitu melakukan
simulasi mengenai simulasi kinerja aplikasi, ini dilakukan untuk melihat apakah
aplikasi sudah bekerja dengan baik dan sudah sesuai dengan yang diharapkan,
beberapa pengujian meliputi:
1. Pengujian Modul LDR
2. Pengujian Modul Push Button
3. Pengujian Modul 7 Segment
4. Pengujian Modul LED
5. Pengujian Aplikasi
a. Pengujian LDR sebagai Counter
b. Pengujian Phase Correct PWM
c. Pengujian Fast Mode PWM
d. Pengujian Mode CTC (Pembangkit Gelombang Kotak)
e. Pengujian Rotary Encoder Mengatur PWM
47
Gambar 4. 2 Pengujian LDR dengan Cahaya Terang
48
Gambar 4. 4 Pengujian hambatan pada LDR dengan Cahaya
49
Tabel 4. 1 Resistansi pada LDR
Resistansi LDR (Ohm)
Terang 0.16
Gelap 4K63
Tabel 4. 2 Tegangan pada LDR
50
| |
| |
Maka error yang dihasilkan dari pengujian dan perhitungan pada modul
LDR saat gelap ini sebesar 27%
| |
| |
Maka error yang dihasilkan dari pengujian dan perhitungan pada modul
LDR mendapat cahaya ini sebesar 12%
51
4.2. Pengujian Push Button
4.2.1 Tujuan Pengujian
Mengetahui apakah Push Button pada modul bekerja dengan baik
52
#include <mega16.h>
void main(void)
{ PORTA=0xff;
DDRA=0x00;
PORTB=0x00;
DDRB=0xff;
while(1)
{
if (PINA.0==0) {PORTB.0=1;}
else if (PINA.1==0) {PORTB.1=1;}
else if (PINA.2==0) {PORTB.2=1;}
else if (PINA.3==0) {PORTB.3=1;}
else {PORTB=0x00;}}
}
53
2. Push button 2
ditekan, LED 2
hidup
3. Push button 3
ditekan, LED 3
hidup
4. Push button 4
ditekan, LED 4
hidup
54
4.3.2 Peralatan yang digunakan
1. Modul Mikrokontroler AVR ATMEGA 8535/32/16
2. Laptop/PC
3. Software Pengujian (Code Vision, ProgISP)
4. Modul 7 Segment Scanning
55
3. Buatlah program pengujian Modul 7 Segment
#include <mega16.h>
#include <delay.h>
void main(void)
{DDRA=0xff;
PORTA=0x00;
DDRB=0x0f;
PORTB=0x0f;
while(1)
{
PORTA=0x00;
delay_ms(1000);
PORTB=0x0f;
delay_ms(1000);
}
}
56
Hasil pengujian gambar 4.7 menunjukkan bahwa modul 7 segment dalam
kondisi baik, hal ini terbukti dengan tampilnya angka 8. 8. 8. 8. pada display 7
segment tersebut. Angka 8. 8. 8. 8. Menunjukkan bahwa semua segment pada setiap
digit 7 segment dalam kondisi yang sangat baik.
57
4.4. Pengujian LED
4.4.1 Tujuan Pengujian
Mengetahui apakah modul LED bekerja dengan baik
59
Gambar 4. 10 Pengujian LED
4.5 Pengujian Modul LCD
4.5.1 Tujuan Pengujian
1. Mengetahui apakah Modul LCD berfungsi dengan baik.
60
4. Download program pengujian dari laptop ke Modul ATMEGA
menggunakan USB Downloader
#include <mega16.h>
#include <alcd.h>
#include <delay.h>
void main(void)
{
DDRB=0xff;
PORTB=0x00;
lcd_init(16);
while (1)
{
lcd_gotoxy(0,0);
lcd_putsf("TIMER COUNTER");
lcd_gotoxy(0,1);
lcd_putsf("ADITYA & FEDO");
}
}
61
4.5.4 Hasil Pengujian
4.5.5 Analisa
LCD dapat menampilkan tulisan yang telah di programkan. Hal
ini menunjukkan bahwa LCD 16x2 dapat bekerja dengan baik.
Berdasarkan datasheet, tegangan yang dibutuhkan berkisar antara 4.5V-
5.5V. Pada pengukuran Modul LCD ini tegangan yang dibutuhkan
adalah 4.36V.
62
a. Tujuan Pengujian
Mengetahui apakah modul LDR sebagai counter berjalan dengan baik
b. Peralatan yang digunakan
1. Modul Mikrokontroler AVR ATMEGA 8535/32/16
2. Laptop/PC
3. Software Pengujian (Code Vision, ProgISP)
4. Modul Sensor Analog
5. Modul 7 Segment Scanning
c. Proses Pengujian
1. Mempersiapkan alat dan bahan
2. Hubungkan port pin 0 – 7 dan S1 – S4 modul 7 segment pada port A0 –
A7 dan port D0 – D3 mikrokontroler. Hubungkan port out modul LDR
pada Port B3 mikrokontroler. Sambungkan port VCC dan GND kedua
modul pada suber tegangan +5 Volt dan Ground seperti gambar 4.10.
63
Gambar 4. 13 Rangkaian Elektrik LDR
3. Buatlah program pengujian Modul LDR
64
#include<mega16.h>
#include<delay.h>
int data, data2;
char ribuan, ratusan, puluhan,
satuan, ubah;
void ambil_data_counter()
{
if(TCNT0>255)
{
TCNT0=0;
}}
void tampilan()
{
PORTD=0x08; //0b00001000
PORTA=satuan;
delay_ms(7);
PORTD=0x04;
PORTA=puluhan;
delay_ms(7);
PORTD=0x02;
PORTA=ratusan;
delay_ms(7);
PORTA=ribuan;
delay_ms(7);
}
void ubah_7_segment()
{
if(ubah==0)
{ ubah=0xc0; }
if(ubah==1)
{ ubah=0xf9; }
if(ubah==2)
{ ubah=0xa4; }
if(ubah==3)
{ ubah=0xb0; }
if(ubah==4)
{ ubah=0x99; }
if(ubah==5)
{ ubah=0x92; }
if(ubah==6)
{ ubah=0x82; } 65
if(ubah==7)
{ ubah=0x82; }
if(ubah==7)
{ ubah=0xf8; }
if(ubah==8)
{ ubah=0x80; }
if(ubah==9)
{ ubah=0x90; }
}
void nilai_tiap_digit()
{
data=TCNT0;
data2=data;
satuan=data2%10;
ubah=satuan;
ubah_7_segment();
satuan=ubah;
data2=data2/10;
puluhan=data2%10;
ubah=puluhan;
ubah_7_segment();
ubah=ratusan;
ubah_7_segment();
ratusan=ubah;
data2=data2/10;
ribuan=data2%10;
ubah=ribuan;
ubah_7_segment();
ribuan=ubah;
}
void main(void)
DDRB=0x00;
PORTB=0x00;
TCCR0=0x07;
TCNT0=0;
66
{
PORTA=0x00;
DDRA=0xff;
PORTD=0x00;
DDRD=0x0f;
while(1)
{
ambil_data_counter();
tampilan();
nilai_tiap_digit();
}
}
d. Hasil Pengujian
Counter akan mulai menghitung naik ketika pin clock eksternal (pin
T0) pada port B0 menglami transisi naik seperti gambar 4.14. Setiap terjadi
pergantian atau transisi dari LOW kemudian HIGH pada port B0 maka
counter menghitung 1 dan seterusnya. Dalam pengujian ini counter hanya
dapat menghitung dari 0 hingga 255. Batas perhitungan 255 ini diakibatkan
oleh pemilihan timer/counter yang digunakan.
Karena dalam pengujian yang digunakan yaitu timer/counter 0 maka
counter hanya dapat menghitung hingga 255 saja. Apabila LDR kondisi awal
menangkap cahaya yang terang kemudian LDR ditutup dari cahaya maka
akan di tampilkan di 7 segment dan akan melakukan perhitungan naik seperti
gambar 4.14 dibawah ini. Transisi yang digunakan pada pengujian pada
pengujian kali ini adalah transisi naik.
67
Gambar 4. 14 Kondisi awal pengujian LDR sebagai Counter
c. Proses Pengujian
1. Mempersiapkan alat dan bahan
2. Hubungkan Port B3 mikrokontroler dengan port pin header 1 LED.
Hubungkan port D0 dan D1 masing – masing pada pin 0 dan pin 1 Push
Button. Sambungkan port VCC dan GND modul GPIO dengan sumber
tegangan +5 Volt dan Ground.
69
Gambar 4. 16 Rangkaian Elektrik Phase Correct PWM
3. Buatlah program pengujian Phase Correct PWM
70
#include<mega16.h>
#include<delay.h>
int i;
void main(void)
{
TCCR0=0b01100001;
DDRB=0x08;
DDRD=0x04;
PORTD=0x03;
PORTB=0x00;
TCNT0=0;
OCR0=0;
while(1)
{
PORTD=0x03;
if(PIND.0==0)
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(PIND.1==0)
{
i=i-1;
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(i<=0)
{
i=i+1;
OCR0=i;
}
if(i>=255)
71
{
i=i-1;
OCR0=i;
}
}
}
{
i=i+1;
OCR0=i;
delay_ms(10);
i=OCR0; }
if(PIND.1==0)
{
i=i-1;
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(i<=0)
{
i=i+1;
OCR0=i;
}
if(i>=255)
{
i=i-1;
OCR0=i;
}
}
}
{
i=i-1;
OCR0=i; }
}
}
d. Hasil Pengujian
72
Hasil pengujian pada gambar 4.10 menunjukkan nyala LED pada
modul LED menyala dengan cahaya LED yang dapat berubah dari redup
button pada pin D1 untuk meredupkan nyala LED dan sebaliknya dengan
menekan push button pada pin D0 maka LED akan semakin terang.
dapat dilihat pada gambar 4.17 dan 4.18. hasilnya terlihat bahwa duty cycle
akan berubah – ubah semakin lebar dan semakin kecil dengan frekuensi tetap.
.
Gambar 4. 17 Pengujian Phase Correct PWM
73
Gambar 4. 18 Pengujian Phase Correct PWM Min OCR0 dengan Osiloskop
c. Proses Pengujian
1. Mempersiapkan alat dan bahan
2. Hubungkan Port B3 mikrokontroler dengan port pin header 1 LED.
Hubungkan port D0 dan D1 masing – masing pada pin 0 dan pin 1 Push
Button. Sambungkan port VCC dan GND modul LED dengan sumber
tegangan +5 Volt dan Ground.
75
#include<mega16.h>
#include<delay.h>
int i;
void main(void)
{
TCCR0=0b01101001;
DDRB=0x08;
DDRD=0x04;
PORTD=0x03;
PORTB=0x00;
TCNT0=0;
OCR0=0;
while(1)
{
PORTD=0x03;
if(PIND.0==0)
{ i=i+1;
OCR0=i;
delay_ms(10);
i=OCR0; }
if(PIND.1==0)
{
76
{
i=i-1;
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(i<=0)
{
i=i+1;
OCR0=i;
}
if(i>=255)
{
i=i-1;
OCR0=i;
}
}
d. Hasil Pengujian
Hasil pengujian pada gambar 4.13 menunjukkan nyala LED pada
modul LED menyala dengan cahaya LED yang dapat berubah dari redup
button pada pin D1 untuk meredupkan nyala LED dan sebaliknya dengan
menekan push button pada pin D0 maka LED akan semakin terang.
dapat dilihat pada gambar 4. dan 4.15. hasilnya terlihat bahwa duty cycle akan
berubah – ubah semakin lebar dan semakin kecil dengan frekuensi tetap.
77
Gambar 4. 21 Pengujian Fast Mode PWM
78
Gambar 4. 23 Pengujian Fast Mode PWM Min OCR0 dengan Osiloskop
#include<mega16.h>
#include<delay.h>
int i;
void main(void)
{
TCCR0=0b00011001;
DDRB=0x08;
DDRD=0x04;
PORTD=0x03;
PORTB=0x00;
TCNT0=0;
OCR0=0;
i=OCR0;
while(1)
{
PORTD=0x03;
if(PIND.0==0)
{
80
i=i+1;
OCR0=i;
delay_ms(10);
}
if(PIND.1==0)
{
i=i-1;
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(i<=0)
{
i=i+1;
OCR0=i;
if(i>=255)
{
i=i-1;
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(i<=0)
{
i=i+1;
OCR0=i;
if(i>=255)
{
i=i-1;
OCR0=i;}
}
}
}
d. Hasil Pengujian
Hasil pengujian gambar 4.22 dan 4.23 menunjukkan gelombang pulsa
pada osiloskop memiliki duty cycle sebesar 50% dan periode atau frekuensi
yang dihasilkan dapat berubah – ubah. Oleh karena itu lebar pulsa yang
81
ditampilkan pada osiloskop berubah dari lebar menjadi kecil maupun
sebaliknya dari kecil menjadi lebar.
Perubahan lebar pulsa yang dihasilkan dapat diatur dengan menekan
Push Button 1 untuk merubah lebar pulsa dari kecil menjadi lebar. Sebaliknya
dengan menekan Push Button 2 maka lebar pulsa akan berubah dari kecil
menjadi lebar seperti gambar.
82
4.6.5 Pengujian PWM dikontrol Rotary Encoder
Pengujian Mikrokontroler AVR ATMEGA 8535/32/16 yang dibahas meliputi
Input, Output dan Program dari Aplikasi.
a. Tujuan Pengujian
Mengetahui apakah program aplikasi PWM dikontrol rotary encoder
berjalan dengan baik.
c. Proses Pengujian
1. Mempersiapkan alat dan bahan
2. Hubungkan Port B3 mikrokontroler dengan VCC motor DC, lalu GND motor
DC ke Ground mikrokontroler. Kemudian Hubungkan pin LCD ke port B
mikrokontroler, pasang power pada modul LCD. Hubungkan CLK rotary
encoder ke port A0 mikrokontroler dan DT rotary encoder ke port A1
mikrokontroler, pasang power dari mikrokontroler ke modul sensor jarak.
3. Buatlah program pengujian Fast Mode PWM
83
#include <mega16.h>
#include <alcd.h>
#include <delay.h>
#include <stdio.h>
void digreadB()
{
if(PINA.1==0){
B=0;}
else{
B=1;}
}
void main(void)
{
TCCR0=0b01101001;
DDRA=0x00; //input rotary
PORTA=0x00;
DDRB=0x08; //D4 is OC0 for pwm
lcd_init(16);
else{
lcd_clear();
lcd_gotoxy(0,0); 85
lcd_putsf("===Putar
Kiri===");
lcd_gotoxy(0,1);
lcd_putsf("=SpeedBerkurang=");
PORTC.1=1;
i=i-5;
d. Hasil Pengujian
Hasil pengujian pada gambar 4.27 bahwa rotary disini berfungsi sebagai
86
rotary encoder diputar kanan, motor DC akan berputar semakin cepat, saat
87
Gambar 4. 28 Pengujian Rotary Encoder mengatur PWM maks OCR0 dengan
Osiloskop
88
BAB V
PENUTUP
5.1 Kesimpulan
1. Dalam merancang dan membuat modul ajar praktikum Timer/Counter 0
mikrokontroler dapat dikatakan lebih praktis dan mudah digunakan, tidak
perlu lagi merangkai atau membuat ulang rangkaian setiap kali akan
melakukan praktikum. Ini disebabkan rangkaian sudah dalam bentuk modul –
modul yang siap digunakan kapan saja.
2. Aplikasi timer/counter 0 sebagai timer maupun counter berjalan dengan
sangat baik sesuai dengan apa yang telah diharapkan. Mode timer yang dibuat
yaitu sebagai interrupt yang dapat ditampilkan pada display 7 segment. Mode
counter yang dibuat yaitu counter up atau menghitung naik dari 0 hingga 255
dan juga ditampilkan pada display 7 segment
3. Aplikasi timer/counter sebagai pembangkit pulsa atau PWM berjalan sesuai
dengan yang digharapkan. Aplikasi ini menggunakan mode Phase Correct
PWM, mode Fast PWM, dan Mode CTC. Mode Phase Correct dan Fast
PWM dapat mengendalikan nyala sebuah modul LED yang dapat menyala
dari redup hingga terang maupun sebaliknya. Mode CTC dapat
membangkitkan gelombang sinyal pulsa dengan merubah periode pulsa
tersebut mulai dari periode yang sangat singkat hingga periode yang lebih
lama maupun sebaliknya.
107
5.2 Saran
1. Pada Mikrokontroler AVR ATMEGA aplikasi Timer/Counter 0 cobalah
menggunkan input dan output modul lain agar lebih memahami mengenai
timer/counter 0 dan dapat mencakup pembahasan yang lebih luas
2. Dalam pengaplikasian modul ini cobalah menggunakan software yang berbeda
misalnya Atmel Studio atau software lain yang dapat digunakan bersamaan
dengan modul mikrokontroler AVR keluarga ATMega agar proses belajar yang
lebih bervariasi dan menambah pengetahuan serta pengalaman belajar yang baru.
3. Untuk pemilihan dan penggunaan software sangat disarankan menggunakan versi
software yang terbaru agar hasil yang didapat lebih maksimal dan juga
mengurangi Bug, cacat, ataupun kerusakan pada program yang hendak atau
sudah dibuat.
DAFTAR PUSTAKA
108
Hansontec, Datasheet Rotary Encoder, online, www.alldatasheet.com
Anonim, 2000, Datasheet Push Button, online, www.alldatasheet.com
Anonim, 2010, Datasheet LDR, online, www.alldatasheet.com
Atmel, Datasheet ATMega, online, www.alldatasheet.com
Pracoyo, Agus. Timer/Counter-0 as PWM. Politeknik Negeri Malang. Malang.
Anonim, 2010, Datasheet LCD 16x2, online, www.alldatasheet.com
Anonim, 2013, Datasheet 7segment, online, www.alldatasheet.com
Anonim, 2013, Datasheet LED, online, www.alldatasheet.com
Yuski et al., 20014, Rancang Bangun Jangkar Motor DC. Politeknik Negeri
Sriwijaya. Palembang
109
LAMPIRAN
110
111
112
113
114
115
116
117
118
119
120
#include <mega16.h>
void main(void)
{ PORTA=0xff;
DDRA=0x00;
PORTB=0x00;
DDRB=0xff;
while(1)
{
if (PINA.0==0) {PORTB.0=1;}
else if (PINA.1==0) {PORTB.1=1;}
else if (PINA.2==0) {PORTB.2=1;}
else if (PINA.3==0) {PORTB.3=1;}
else {PORTB=0x00;}}
}
121
#include <mega16.h>
#include <delay.h>
void main(void)
{DDRA=0xff;
PORTA=0x00;
DDRB=0x0f;
PORTB=0x0f;
while(1)
{
PORTA=0x00;
delay_ms(1000);
PORTB=0x0f;
delay_ms(1000);
}
}
#include <mega16.h>
#include <alcd.h>
#include <delay.h>
void main(void)
{
DDRB=0xff;
PORTB=0x00;
lcd_init(16);
while (1)
{
lcd_gotoxy(0,0);
lcd_putsf("TIMER COUNTER");
lcd_gotoxy(0,1);
lcd_putsf("ADITYA & FEDO");
}
}
122
#include<mega16.h>
#include<delay.h>
int data, data2;
char ribuan, ratusan, puluhan,
satuan, ubah;
void ambil_data_counter()
{
if(TCNT0>255)
{
TCNT0=0;
}}
void tampilan()
{
PORTD=0x08; //0b00001000
PORTA=satuan;
delay_ms(7);
PORTD=0x04;
PORTA=puluhan;
delay_ms(7);
PORTD=0x02;
PORTA=ratusan;
delay_ms(7);
PORTA=ribuan;
delay_ms(7);
}
void ubah_7_segment()
{
if(ubah==0)
{ ubah=0xc0; }
if(ubah==1)
{ ubah=0xf9; }
if(ubah==2)
{ ubah=0xa4; }
if(ubah==3)
{ ubah=0xb0; }
if(ubah==4)
{ ubah=0x99; }
if(ubah==5)
{ ubah=0x92; }
if(ubah==6)
{ ubah=0x82; }
if(ubah==7) 123
{ ubah=0x82; }
if(ubah==7)
{ ubah=0xf8; }
if(ubah==8)
{ ubah=0x80; }
if(ubah==9)
{ ubah=0x90; }
}
void nilai_tiap_digit()
{
data=TCNT0;
data2=data;
satuan=data2%10;
ubah=satuan;
ubah_7_segment();
satuan=ubah;
data2=data2/10;
puluhan=data2%10;
ubah=puluhan;
ubah_7_segment();
ubah=ratusan;
ubah_7_segment();
ratusan=ubah;
data2=data2/10;
ribuan=data2%10;
ubah=ribuan;
ubah_7_segment();
ribuan=ubah;
}
void main(void)
DDRB=0x00;
PORTB=0x00;
TCCR0=0x07;
{PORTA=0x00;
TCNT0=0;
DDRA=0xff;
PORTD=0x00;
DDRD=0x0f;
while(1)
{ambil_data_counter();
tampilan();
nilai_tiap_digit();}} 124
#include<mega16.h>
#include<delay.h>
int i;
void main(void)
{
TCCR0=0b01100001;
DDRB=0x08;
DDRD=0x04;
PORTD=0x03;
PORTB=0x00;
TCNT0=0;
OCR0=0;
while(1)
{
PORTD=0x03;
if(PIND.0==0)
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(PIND.1==0)
{
i=i-1;
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(i<=0)
{
i=i+1;
OCR0=i;
{
}
i=i-1;
if(i>=255)
OCR0=i;
}
}
}
{ 125
i=i+1;
OCR0=i;
delay_ms(10);
i=OCR0; }
if(PIND.1==0)
{
{
i=i-1;
OCR0=i;
}
}
}
{ 126
i=i+1;
OCR0=i;
delay_ms(10);
i=OCR0; }
if(PIND.1==0)
{
{
i=i-1;
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(i<=0)
{
i=i+1;
OCR0=i;
} 127
if(i>=255)
{
i=i-1;
OCR0=i;
}
}
i=i+1;
OCR0=i;
delay_ms(10);
}
if(PIND.1==0)
{
i=i-1;
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(i<=0) 128
{
i=i+1;
OCR0=i;
if(i>=255)
{
i=i-1;
#include <mega16.h>
#include <alcd.h>
#include <delay.h>
#include <stdio.h>
lcd_init(16);
//digreadA();
awalA=0;
while(1)
{
digreadAA();
if(nilaiA != awalA){
digreadB();
if(B != nilaiA){ 130
//c=c+1;
arah=1;}
else{
//c=c-1;
arah=0;}
else{
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("===Putar
Kiri===");
lcd_gotoxy(0,1);
lcd_putsf("=SpeedBerkurang=");
PORTC.1=1;
i=i-5;
OCR0=i;
delay_ms(10);
i=OCR0;
}
if(i<=0)
{
i=0;
i=i+1; 131
OCR0=i;
}
if(i>=255)
{
i=255;