71
BAB III PERANCANGAN
3.1 Perancangan Hardware Perancangan bel cerdas cermat ini menggunakan 3 komponen utama yaitu tombol sebagai input, kemudian mikrokontroler ATmega8 sebagai pengolah data yang masuk dan output pada tampilan menggunakan Visual C#. Untuk mempermudah kita dalam memahami cara kerja rangkaian dari sistem aplikasi Bel Cerdas Cermat dengan memanfaatkan swith, relay dan mikrokontroler ATMEGA 8 sebagai pengontrol memori programnya yang kemudian akan diout-putkan pada tampilan di komputer dengan Program visual C#. Semua sistem tersebut diatas dapat kita ubah atau setting sesuai dengan kebutuhan pengguna output apa yang akan ditampilkan.
72
Gambar 3.1 Perancangan Hardwere 3.1.1
Lay Out
Lay out Cerdas cermat adalah sebagai berikut:
Gambar 3.2 Posisi dan Letak Lay Out Dalam gambar di atas terlihat bahwa peserta berada di pusat perhatian dan MC atau pembawa acara berada disampingnya menghadap penonton dan mempunyai tugas memimpin jalannya acara. Output dari Alat bell akan menuju ke PC yang mana akan ditampilkan ke projector. Dari projector inilah semua peserta juga penonton dapat mengetahui dan melihat secara langsung siapa saja yang
73
memencet tombol juga yang tidak memencet. Penonton dapat dengan mudah mengikuti jalannya acara dengan alat ini. Di sini dapat terlihat fungsi utama mengapa alat ini dibuat, dengan riuhnya suara penonton juga banyaknya peserta maka dapat dipastikan akan terjadi perselisihan antar penonton karena saling mengclaim kelompoknya atau group yang didukung adalah yang pertama menekan tombol. Dan sudah bisa dipastikan akan terjadi perselisihan antar penonton bahkan anggota cerdas cermat itu sendiri. Untuk itu perlu juga disimpan log siapa saja yang menekan bel. Untuk itu dibuat sebuah alat yang bisa memenuhi masalah tersebut yang terkoneksi dengan PC dan dapat menampilkan nama peserta dilayar proyektor dan menjadikan acara menarik serta berjalan lancar sebagai mana sebuah kuis yang disajikan secara teratur.
3.1.2
Spesifikasi Benda Kerja
Spesifikasi alat dari Tugas Akhir ini adalah sebagai berikut : 1.
Nama alat
: Bell Cerdas Cermat Elektronik Mengunakan Atmega’8 Dan Visual C#
2.
Mikrokontroler
: ATMEGA 8
3.
Kristal osilator
: 4000 MHz
4.
Konektor serial
: USB Interface K-125i
5.
Bahasa pemrograman
:C
6.
Program bantu
: Codevition dan Eagle
7.
Catu daya AC
: 220 Volt AC
8.
Catu daya rangkaian
: +12 Volt DC, +5 Volt DC
74
9.
Rangkaian Input
: Swith
10.
Rangkaian Output
: RELAY
3.2 Pembuatan Benda Kerja Proses pembuatan benda kerja pada Tugas Akhir ini memerlukan alat serta bahanbahan tertentu disamping juga dibagi beberapa bagian antara lain: •
Alat dan bahan yang dibutuhkan
•
Pembuatan bagian elektronik
•
Pembuatan bagian mekanik
•
Pembuatan program atau perangkat lunak
3.2.1 Alat dan Bahan yang Dugunakan Alat dan bahan yang digunakan dalam keseluruhan pembuatan benda kerja dalam Tugas Akhir ini meliputi:
3.2.1.1 Daftar Alat Peralatan yang digunakan dalam pembuatan benda kerja dapat dilihat pada tabel 3.1 sebagai berikut: Tabel 3.1 Daftar Alat Pembuatan Benda Kerja Nama Alat Pensil mekanik Penggaris Penitik Penggores pinset Solder Mesin bor
Warna / Ukuran / Tipe
Jumlah
Hitam 50 cm 5 cm 100 ons kecil 30 watt Bor pcb
1 buah 1 buah 1 buah 1 buah 1 buah 1 buah 1 buah
75
Mata bor Cutter Kikir instrumen Obeng ( + / - ) Tang potong Tenol Penyedot timah (Atraktor) Tang
0,8 mm, 1 mm Kenko A-300 100 ons 0,5 cm 500 ons kecil Rayden Gs 300
2 buah 1 buah 1 buah 1 buah 1 buah 1 gulung 1 buah 1 buah
3.2.1.2 Daftar Bahan Bahan yang dipakai dalam pembuatan benda kerja dapat dilihat pada tabel 3.2 sebagai berikut: Tabel 3.2 Daftar Bahan Pembuatan Benda Kerja Nama Bahan akrilik Rugos elektroset Spidol permanen Copperclad (PCB) Larutan Feri Klorida (FeCl 3 ) Tinner Ampelas Timah solder Cat (semprot dan minyak) engsel Balok Besi Mur dan baut Lacher 2000 (10”) relay kipas DC
3.2.2
Jumlah 60cm x 60 cm 3 buah 1 buah 30 cm x 30 cm 1 ons 1 kaleng 1 buah 1 roll 1 kaleng 2 buah 4 cm x 2 cm x 200 cm 20 buah 14 buah 3 buah 1 buah
Percobaan Di Laboratorium
Percobaan di laboratorium dilakukan sebelum rangkaian dirakit. Rangkaian yang akan dibuat direncanakan terlebih dahulu komponen-komponen dan jalurnya pada protoboard, ini dimaksudkan untuk memudahkan pengaturan jalur
76
komponen sebelum dibuat pada papan rangkaian tercetak. Setelah rangkaian pada protoboard dapat bekerja, maka jalur-jalur rangkaian dapat digambar.
3.2.2.1 Pembuatan Papan Rangkaian Tercetak (PRT) Pembuatan Papan Rangkaian Tercetak (PRT) dapat dilakukan secara manual ataupun melalui program komputer. Untuk program komputer terlebih dahulu merancang jalur-jalur komponennya dengan menggunakan program PCB Designer. Kemudian dibuatlah jalur-jalur tersebut dalam papan tembaga. Cara pembuatan PRT melalui proses sebagai berikut: a. Proses Pembuatan Jalur PRT •
Merencanakan dan membuat jalur PRT dengan program PCB Designer seperti terlihat pada gambar 3.3.
PCB Untuk Rangkaian Keseluruhan Alat
Gambar 3.3. Tampilan program PCB Designer
77
PCB Untuk Rangkaian USB
Gambar 3.4. Tampilan Usb PCB Designer •
Mencetak hasil pembuatan jalur PCB pada transparansi untuk cetakan sablon.
•
Memotong copperclad (PCB) sesuai dengan ukuran yang dibutuhkan.
•
Membersihkan permukaan copperclad dengan jalan mengampelas dan mencucinya dengan sabun kemudian dikeringkan.
•
Membuat jalur PRT dengan menyablon jalur yang telah dibuat dengan cetakan transparansi sebagai acuan.
78
3.3
Blok Diagram
Blok diagram bel cerdas atau garis besar rangkaian rangkaian ditunjukkan pada gambar 3.5 berikut ini:
Gambar 3.5 Blok diagram sistem mikrokontroler Atmega’8 Sistem ini terdiri dari perangkat keras dan perangkat lunak, dimana perangkat lunak mengontrol semua kerja perangkat keras. ♦
Tombol Berfungsi untuk memberikan sinyal input berupa swith.
♦
Mikrokontroler ATMEGA 8 Berfungsi sebagai pengatur keseluruhan proses yang dikerjakan oleh sistem setelah mendapatkan input dari perangkat lain.
♦
Relay Berfungsi untuk output untuk mengaktifkan buzzer dan lampu.
79
♦
Interface Usb K-125i Berfungsi untuk menampilkan data hasil outputan Tx Rx dari ATMEGA 8 ke Komputer untuk menampikan angka dan nama kelompok.
3.4 Cara Kerja Tiap Blok Dalam mempelajari cara kerja modul mikrokontroler pada aplikasi bel cerdas cermat ini, maka dipandang perlu untuk mengetahui terlebih dahulu cara kerja dari tiap blok rangkaian yang ada.
3.4.1 Catu Daya Rangkaian catu daya digunakan untuk mencatu seluruh rangkaian yang memerlukan. Catu daya yang digunakan adalah +5V, -5V, +12V dan -12V. Transformator dalam rangkaian catu daya ini digunakan untuk menurunkan tegangan AC 220V menjadi tegangan AC yang lebih rendah. Dari transformator tegangan masuk dioda untuk disearahkan menjadi tegangan DC. Karena tegangan DC yang dihasilkan pada dioda terdapat ripple, perlu difilter terlebih dahulu dengan kapasitor agar tegangan DC yang dihasilkan lebih baik. Setelah itu itu tegangan masuk ke regulator dan menjadikan tegangan stabil sesuai dengan tegangan yang diinginkan. Karena arus yang dihasilkan lemah maka ditambah suatu penguat arus dengan menggunakan transistor dan digunakan dioda untuk meningkatkan tegangan ground, agar tegangan keluaran menjadi tetap stabil.
80
3.4.2 Swith Sebagai In-put Pada aplikasi bel cerdas cermat ini menggunakan 8 swith inputan yang dapat di tekan oleh 8 peserta cerdas cermat.
Gambar 3.6 Konfigurasi letak swith Agar swith tersebut dapat memberikan input pada mikrokontroler, maka terlebih dahulu swith ini harus disusun dalam sebuah rangkaian dimana terdapat perbedaan kondisi pada pin-pinnya antara kondisi tidak ada penekanan tombol, penekanan tombol 1, 2, 3 dan seterusnya. Pada saat tidak ada penekanan tombol kondisi dari tiap pin berlogika 1, sedangkan saat terjadi penekanan tombol antara baris dan kolom akan berubah menjadi logika 0. Untuk mengirimkan sinyal data menuju mikrokontroler ATMEGA 8.
3.4.3 Atmega 8 Rangkaian mikrokontroler ATmega 8 merupakan rangkaian yang bekerja jika pada memori flashnya diberi program aplikasi sesuai ketentuan yang ada, atau
81
juga dapat dihubungkan langsung ke personal komputer dengan sistem ISP yang dimiliki
oleh
mikrokontroler
ATmega
8.
Sistem
minimum
rangkaian
mikrokontroler ATmega 8 dapat dilihat pada gambar 3.3 berikut :
Gambar 3.7 Rangkaian Sistem Minimum Atmega’8
Pada gambar rangkaian di atas terdapat dua kapasitor yang terhubung paralel yang memiliki nilai 22 pF dan sebuah kristal 4 MHz. rangkaian ini berfungsi sebagai pembangkit osilator untuk mikrokontroler ATmega 8535. Reset terdapat pada pin 9 yang berfungsi untuk memberikan kondisi mikrokontroler menjadi kondisi awal secara manual jika tombol reset ditekan. Tegangan yang digunakan pada mikrokontroler ATmega 8 adalah sebesar 5 volt, yang dimasukan ke penyemat 10 sebagai penyemat Vcc. LED berfungsi sebagai lampu indikator yang dihubungkan ke penyemat Vcc.
82
Pemberian program pada mikrokontroler ATmega 8 dapat dilakukan dengan mode paralel maupun serial. Pada aplikasi ini menggunakan mode serial yaitu pemberian program melalui ISP yang kemudian masuk pada penyemat MOSI, MISO dan SCK sebagai masukan ke flash memory. Port C memiliki fungsi ganda yaitu selain sebagai inputan atau outputan untuk aplikasi, juga berfungsi sebagai ADC yaitu untuk merubah sinyal analog menjadi sinyal digital. Penyemat 30 merupakan penyemat yang digunakan untuk tegangan yang mensupplay ADC dan penyamat 32 merupakan penyemat yang digunakan sebagai tegangan referensi pada ADC. Pada aplikasi ini menggunakan internal ADC dan tidak menggunakan ADC dari luar sistem mikrokontroler ATmega 8 yang nantinya akan dijadikan masukan digital pada port D. Adapun pembagian port pada aplikasi modul mikrokontroler AT mega 8535 sebagai pengendali suhu bagian actuator (keluaran) adalah sebagai berikut: 1. Port D2 , D3 , D4 ,D5 , D6 , D7 , B0 , B1 sebagai input berupa swith. 2. Port C3, C2 , C1 , C0, B4, B5, B2, B3 sebagai outputan untuk mengaktifkan relay. Input / Output Pada Pin Atmega’8 yang digunakan dalam alai ini adalah sebagai berikut : Tabel 3.3 Daftar Input Output Pin Atmega’8
INPUT
OUTPUT
Port D2 Port D3 Port D4
Port C3 Port C2 Port C1
83
Port D5 Port D6 Port D7 Port B0 Port B1
Port C0 Port B4 Port B5 Port B2 Port B3
3.5 Pembuatan Program Mikrokontroler Untuk pembuatan program ini dilakukan dengan menggunakan komputer dengan bantuan perangkat lunak codevition. Langkah yang harus dilakukan dalam proses pemograman adalah sebagai berikut : •
Menentukan algoritma proses dari benda kerja dalam pengoperasiannya.
•
Membuat diagram alir dari program yang akan dibuat dengan mengacu pada proses kerja alat yang diinginkan.
•
Mengubah diagram alir tersebut ke dalam bahasa pemrogaman C.
•
Pemrograman dilakukan bertahap dengan cara membuat bagian terkecil yang telah benar kemudian digabung menjadi bagian yang utuh.
•
Menyimpan program yang telah dibuat tersebut ke dalam disket/hardisk.
•
Menjalankan program tersebut dan melihat hasilnya sampai didapatkan hasil yang benar-benar tepat dengan sistem evaluasi ATMEGA .
•
Menyambungkan output port mosi, miso, sck, reset, ground dan 5v ke dalam mikrokontroller dengan downloder ke
komputer untuk memasukkan
program ke serpih mikrokontroller dengan bantuan perangkat lunak Codevition.
84
•
Menjalankan rangkaian aplikasi untuk melihat proses yang sesungguhnya disamping juga untuk memeriksa perangkat keras dari rangkaian aplikasi sudah benar atau ada kesalahan.
3.6 Pembuatan Downloader AVR USB Mempesiapkan segala hal terkait kelengkapan seperti komputer, rangkaian yang telah dirangkai, juga software yang akan di install. Langkah-langkah membuat downloader usb adalah sebagai berikut : Secara garis besar adalah sebagai adalah: 1. Mengunduh paket file yang sudah tersedia pada menu 2. Membuat rangkaian USB downloader nya yang akan di jadikan transfer data 3. Mengisi Atmega8 dengan file HEX (program) yang disediakan untuk kemudian proses runningnya 4. Memasang Atmega8 di PCB USB Isp nya 5. Memasang USB Isp di Personal Computer 6. Melakukan Proses Penginstallan driver 7. Menjalankan proses atau siap dijalankan.
3.6.1
Proses Pembuatan Dan Penginstallan
-
Membuat rangkaian tersebut ke PCB
-
Periksa jalur-jalur dengan baik dan benar
-
Mempersiapkan kabel USB ,jangan sampai tertukar antara Vcc dan Gnd
-
Memasukkan Kabul USB pada port USB dan port rangkaian
85
-
Dalam melakukan pemasangan ,Mikro ATmega’8 jangan dimasukkan terlebih dahulu ke soket, sebelum muncul perintah selanjutnya
-
Jika benar, maka akan muncul seperti ini:
-
Jika sudah muncul seperti itu, berarti rangkaian sudah bener, dan LED power harus nyala
-
Sesudah itu lepas kembali kabel USB nya
-
Sekarang download mikro master ATMEGA 8 memakai computer yang ada parallel portnya dengan memakai program
-
Download file USB.HEX
-
Sebelumnya kita setting dulu fuse bitnya, karena kita memakai kristal eksternal 12 MHz
-
Setingan fuse bit nya seperti dibawah ini:
86
-
Jika men-downloadnya sudah, pasangkan ATMEGA 8 ke soket, kemudian masukan kembali kabel usb. Jika benar akan muncul tampilan seperti ini.
-
Kemudian akan minta driver seperti di bawah ini:
87
-
Jika sudah finish, lepas kembali kabel usbnya
-
Sesudah itu , masukkan kembali kabel Usb
-
Periksa pada device manager pada PC apakah sudah muncul Com tersebut
-
Mencoba menjalankan program yang sudah ada
-
Lihat LED power , led standby atau suspend menyala,ada satu yang mati, ini disebut led (busy), jika sedang berpikir led ini akan nyala
88
-
Sekarang melakukan pengeklik-an Execute
-
Jika tidak ada mikro yang akan diprogram,akan muncul tampilan seperti ini:
Jika tampilan seperti ini error, mikro rusak atau rangkaian salah. Jika tampilan seperti ini error, mikro rusak atau rangkaian salah.
-
Jika sudah benar, masukan target file yang akan didownload.
-
Melihat TAB Files apakah sudah sesuai ataukah belum
-
Di sana ada lokasi file yang akan ditulis atau dibaca keflash atau eeprom data
-
Jika sudah ditentukan file yang akan di program ke mikrokontroller
89
-
Kemudian Tinggal klik sesuai dengan keterangan gambar di atas
-
Hati-hati type format file harus cocok, atau di autodetect saja
-
Jika sukses akan muncul tampilan seperti ini:
-
Jika mau nulis ke data eeprom caranya seperti ini:
-
Jika sukses akan muncul tampilan seperti ini:
90
-
Hasil bacaan disimpan di bacaflash.hex
-
Sekarang mencoba membaca dari EEPROM, hasilnya ke baca di eeprom.bin
91
-
Hati-hati, kalau ada pesen error seperti ini:
-
Melakukan pengecekan pada jumper di pin PORT C2, untuk mikro yang ada kristalnya dan kurang cepat, jadi lebih baik kalau pin ini di Ground kan.
Dari flash
Dari eeprom
92
3.6.2
Spesifikasi Kabel Downloader Spek-spek atau yang digunakan adalah Komponen berikut:
o DB25 Male(laki)+Socket o Kabel jaringan (1 Meter) o Socket Female 5 pin o R 100 ohm ¼ Watt 2 buah Rancangan kabel downloader Avr kompatibel ATmega 8535,ATMega 8,atmega 16,32,attiny2312,at90s2313
Gambar 3.8 Konfigurasi Port Kabel Downloader
93
3.7 Program Microcontroler ATmega’8 Program ini berfungsi untuk menginisialisasi hardware dan sebagai control untuk menggerakkan output. Microcontroler ini adalah low power mikrokontroler 8 bit dengan arsitektur RISC. Mikrokontroler ini dapat mengeksekusi perintah dalam satu periode clock untuk setiap instruksi. 3.7.1
Flow Chart Program
STRAT
IN 1 AKTIF ?
ya
tidak
IN 2 AKTIF ?
ya
tidak
IN 3 AKTIF ?
ya
tidak
IN 4 AKTIF ?
ya
tidak
IN 5 AKTIF ?
tidak
ya
OUT 1 AKTIF
OUT 2 AKTIF
OUT 3 AKTIF
OUT 4 AKTIF
OUT 5 AKTIF
KIRIM SERIAL ‘1’
KIRIM SERIAL ‘2’
KIRIM SERIAL ‘3’
KIRIM SERIAL ‘4’
KIRIM SERIAL ‘5’
TUNDA 400ms
TUNDA 400ms
TUNDA 400ms
TUNDA 400ms
TUNDA 400ms
OUT 1 MATI
OUT 2 MATI
OUT 3 MATI
OUT 4 MATI
OUT 5 MATI
SELESAI
A
94
IN 6 AKTIF ?
A
tidak
ya
IN 7 AKTIF ?
tidak
IN 8 AKTIF ?
tidak
ya
ya
OUT 6 AKTIF
OUT 7 AKTIF
OUT 8 AKTIF
KIRIM SERIAL ‘6’
KIRIM SERIAL ‘7’
KIRIM SERIAL ‘8’
TUNDA 400ms
TUNDA 400ms
TUNDA 400ms
OUT 6 MATI
OUT 7 MATI
OUT 8 MATI
SELESAI
Gambar 3.9 Flow Chart Program 3.7.2
List Program
Berikut ini adalah program nya: #include <mega8.h> #include <stdio.h> #include <delay.h> {AWAL,SATU,DUA,TIGA,EMPAT,LIMA,ENAM,TUJU,DELAPAN,SEMBILAN,SEPULUH, SEBELAS}; unsigned char STATE; bit bit0,bit1,bit2,bit3,bit4,bit5,bit6,bit7; // USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) { char data; data=UDR; if (data=='c') { bit0=0; bit1=0; bit2=0; bit3=0;
95
bit4=0; bit5=0; bit6=0; bit7=0; } } switch (STATE) { case AWAL: delay_ms(1000); STATE=SATU; break; case if(PIND.2==0&&bit0==0){PORTC.3=1;STATE=EMPAT;putchar(1); bit0=1;} else if(PIND.3==0&&bit1==0){PORTC.2=1;STATE=LIMA;putchar(2);bit1=1; } else if(PIND.4==0&&bit2==0){PORTC.1=1;STATE=ENAM;putchar(3);bit2=1; } else if(PIND.5==0&&bit3==0){PORTC.0=1;STATE=TUJU;putchar(4);bit3=1;} else if(PIND.6==0&&bit4==0){PORTB.5=1;STATE=SEMBILAN;putchar(5);bit4=1; } else if(PIND.7==0&&bit5==0){PORTB.4=1;STATE=DELAPAN;putchar(6);bit5=1;} else if(PINB.0==0&&bit6==0){PORTB.3=1;STATE=SEBELAS;putchar(7);bit6=1;} else if(PINB.1==0&&bit7==0){PORTB.2=1;STATE=SEPULUH;putchar(8);bit7=1;} break; case DUA: delay_ms(400); PORTC.5=0 ;STATE=SATU; break; case TIGA: delay_ms(400); PORTC.4=0 ;STATE=SATU; break; case EMPAT: delay_ms(400); PORTC.3=0 ;STATE=SATU; break; case LIMA:
96
delay_ms(400); PORTC.2=0 ;STATE=SATU; break; case ENAM: delay_ms(400); PORTC.1=0 ;STATE=SATU; break; case TUJU: delay_ms(400); PORTC.0=0 ;STATE=SATU; break; case DELAPAN: delay_ms(400); PORTB.4=0 ;STATE=SATU; break; case SEMBILAN: delay_ms(400); PORTB.5=0 ;STATE=SATU; break; break; case SEPULUH: delay_ms(400); PORTB.2=0 ;STATE=SATU; break;
97
3.3 Program Tampilan Pada PC 3.8.1
Program Keterangan ‘connect’
3.8.2
Proram Keterangan ‘Connect pada COM’
98
3.8.3
Program Keterangan ‘Reset’
3.8.4
Proram Keterangan ‘Timer’
99
3.8.5
Proram Keterangan ‘Kolom Nama Kelompok’’