BA
12
KKTC2113
PRAKTIKUM APLIKASI MIKROKONTROLER
Buku Petunjuk/Pedoman Kerja ini merupakan bagian dari Buku Bahan Ajar Dalam Kurikulum Berbasis Kompetensi (Kurikulum 2012) yang dibiayai dari DIPA Politeknik Negeri Bandung Departemen Pendidikan Nasional Tahun Anggaran 2012
Disusun Oleh: ERIL MOZEF NIP: 196504042000031001
PROGRAM STUDI TELEKOMUNIKASI JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI BANDUNG 2012
12
N
HALAMAN PENGESAHAN
1.
Identitas Bahan Ajar
a. Judul Bahan Ajar b. Mata Kuliah / Semester c. SKS (T-P) /Jam (T-P) d. Jurusan e. Program Studi e. Nomor Kode Mata Kuliah 2.
: : : : : :
Praktikum Aplikasi Mikrokontroler Aplikasi Mikrokontroler (2-2) / (3-3) Teknik Elektro Teknik Telekomunikasi KKTC2113
: : : : : :
DR. Eril Mozef, MS, DEA 196504042000031001 196504042000031001 IV/A Lektor Kepala Teknik Telekomunikasi Teknik Elektro
Penulis
a. Nama b. NIP c. Pangkat / Golongan Golongan d. Jabatan Fungsional e. Program Studi f. Jurusan
Bandung, 18 Desember 2012 Mengetahui, Ketua KBK/Reviewer
Penulis,
Ferry Satria,BSEE., MT. NIP. 19580916 1984 1984 03 1001
DR. Eril Mozef, MS, DEA NIP. 196504042000031001 196504042000031001
Menyetujui, Ketua Jurusan / Program Studi
Hari Purnama, Ir., M.Eng. NIP. 19580601 1993 03 1001
N
HALAMAN PENGESAHAN
1.
Identitas Bahan Ajar
a. Judul Bahan Ajar b. Mata Kuliah / Semester c. SKS (T-P) /Jam (T-P) d. Jurusan e. Program Studi e. Nomor Kode Mata Kuliah 2.
: : : : : :
Praktikum Aplikasi Mikrokontroler Aplikasi Mikrokontroler (2-2) / (3-3) Teknik Elektro Teknik Telekomunikasi KKTC2113
: : : : : :
DR. Eril Mozef, MS, DEA 196504042000031001 196504042000031001 IV/A Lektor Kepala Teknik Telekomunikasi Teknik Elektro
Penulis
a. Nama b. NIP c. Pangkat / Golongan Golongan d. Jabatan Fungsional e. Program Studi f. Jurusan
Bandung, 18 Desember 2012 Mengetahui, Ketua KBK/Reviewer
Penulis,
Ferry Satria,BSEE., MT. NIP. 19580916 1984 1984 03 1001
DR. Eril Mozef, MS, DEA NIP. 196504042000031001 196504042000031001
Menyetujui, Ketua Jurusan / Program Studi
Hari Purnama, Ir., M.Eng. NIP. 19580601 1993 03 1001
Daftar Isi
Daftar Daftar Isi .......................................................... ............................................................................................ .................................................................... ........................................ ......i Daftar Daftar Gambar Gambar ........................................................ .......................................................................................... ................................................................. ...............................iii Daftar Daftar Tabel.................................................................................... ....................................................................................................................... .......................................... ....... v Petunjuk Petunjuk Penggunaan Penggunaan MODUL MODUL ....................................................... ......................................................................................... .......................................... ........ vi Modul Modul 1 .......................................................... ............................................................................................. ..................................................................... ....................................... .....1 Pengenalan Bascom, Atmega8535 dan Downloader .................................................................. 1 Modul Modul 2 .......................................................... ............................................................................................. ..................................................................... ..................................... ... 11 Aktivasi LED Tanpa Tombol Dan Dengan Tombol ..................................................................... 11 Modul Modul 3 .......................................................... ............................................................................................. ..................................................................... ..................................... ... 18 Buzzer, Buzzer, Speaker Speaker dan Piezoelect Piezoelectric ric ........................................................ .......................................................................................... .................................... 18 Modul Modul 4 .......................................................... ............................................................................................. ..................................................................... ..................................... ... 26 LCD ....................................................... ......................................................................................... ..................................................................... ................................................ ............. 26 Modul Modul 5 .......................................................... ............................................................................................. ..................................................................... ..................................... ... 35 Keypad Keypad........................................................ .......................................................................................... .................................................................... .......................................... ........ 35 Modul Modul 6 .......................................................... ............................................................................................. ..................................................................... ..................................... ... 43 ADC .......................................................... ............................................................................................. ..................................................................... ........................................... ......... 43 Modul Modul 7 .......................................................... ............................................................................................. ..................................................................... ..................................... ... 49 EEPROM EEPROM .......................................................... ............................................................................................ .................................................................... ..................................... ... 49 Modul Modul 8 .......................................................... ............................................................................................. ..................................................................... ..................................... ... 57 Timer – Counter Counter - Interrupt Interrupt .............................................. ................................................................................. ....................................................... .................... 57 Modul Modul 9 .......................................................... ............................................................................................. ..................................................................... ..................................... ... 68 PWM ......................................................... ........................................................................................... ..................................................................... ........................................... ........ 68 Modul Modul 10 ......................................................... ........................................................................................... .................................................................... ..................................... ... 75
Aplikasi Mikrokontroler
i
UART ...................................................................................................................................... 75 Modul 11 ................................................................................................................................ 83 Aplikasi Komunikasi Data Berbasis Infra Merah ....................................................................... 83 Modul 12 ................................................................................................................................ 90 PROYEK................................................................................................................................... 90
Aplikasi Mikrokontroler
ii
Daftar Gambar
Gambar 1: Chip ATMega8535 (kiri) dan Fungsi Kakinya (kanan)................................................. 1 Gambar 2: Downloader berikut kabel (kiri) dan Dongle ke Protoboard ...................................... 2 Gambar 3: Tampilan Program Downloader Khazama................................................................. 2 Gambar 4: Tampilan Fuses and Lock Bits settings ...................................................................... 3 Gambar 5: Skema paling sederhana aktivasi ATMega8535 tanpa Kristal Eksternal ..................... 4 Gambar 6: Rangkaian paling sederhana untuk berkomunikasi dengan ATMega8535 ................. 4 Gambar 7: Skema Aplikasi paling sederhana dengan LED .......................................................... 5 Gambar 8: Tata Letak Komponen Aplikasi LED Berkedip ............................................................ 6 Gambar 9: Aplikasi LED dengan kristal eksternal ....................................................................... 8 Gambar 10: Skema Aktivasi LED Dengan Tombol ..................................................................... 13 Gambar 11: Tata letak Komponen Aplikasi LED dengan Tombol .............................................. 13 Gambar 12: Skema Aktivasi LED Seven Segment dengan DIP Switch................................ ........ 14 Gambar 13: Seven Segment dan konfigurasi kaki-kakinya ....................................................... 15 Gambar 14: Tata letak komponen Aplikasi Seven Segment ...................................................... 15 Gambar 15: Aplikasi Buzzer dengan Tombol ............................................................................ 20 Gambar 16: Aplikasi Speaker dengan Tombol .......................................................................... 21 Gambar 17: Aplikasi Piezoelectric dengan Tombol .................................................................. 22 Gambar 18: Aplikasi Piano Sederhana ..................................................................................... 22 Gambar 19: Tata letak komponen aplikasi Piano ..................................................................... 23 Gambar 20: Berbagai jenis bentuk dan ukuran LCD ................................................................. 26 Gambar 21: Jenis Kaki LCD (kiri) .............................................................................................. 27 Gambar 22: Bentuk LCD yang digunakan ................................................................................. 30 Gambar 23: Skema LCD ........................................................................................................... 31
Aplikasi Mikrokontroler
iii
Gambar 24: Tata letak Komponen Aplikasi LCD ....................................................................... 31 Gambar 25: Bentuk Keypad..................................................................................................... 35 Gambar 26: Struktur internal Keypad ...................................................................................... 36 Gambar 27: Koneksi Keypad ke Mikrokontroler....................................................................... 37 Gambar 28: Model Keypad yang digunakan ............................................................................ 39 Gambar 29: Skema Keypad ..................................................................................................... 39 Gambar 30: Tata letak Komponen Aplikasi Keypad .................................................................. 40 Gambar 31: Skema percobaan ADC ......................................................................................... 45 Gambar 32: Tata letak komponen Aplikasi ADC ....................................................................... 45 Gambar 33: Skema percobaan EEPROM .................................................................................. 54 Gambar 34: Tata letak komponen Aplikasi EEPROM ................................................................ 54 Gambar 35: Skema percobaan Timer ...................................................................................... 65 Gambar 36: Skema percobaan PWM ....................................................................................... 71 Gambar 37: Tata letak komponen Aplikasi PWM ..................................................................... 72 Gambar 38: Koneksi antar 2 perangkat ................................................................................... 79 Gambar 39: Skema percobaan UART ....................................................................................... 80 Gambar 40: Bentuk modul penerima IR 38 KHz (kiri) dan Konfigurasi kaki-kakinya (kanan)...... 84 Gambar 41: Skema percobaan komunikasi serial menggunakan Infra Merah .......................... 87 Gambar 42: Tata letak komponen Aplikasi komunikasi serial Infra Merah .......... ..................... 87
Aplikasi Mikrokontroler
iv
Daftar Tabel
Tabel 1: Tabel fungsi masing-masing kaki LCD (kanan)............................................................. 27 Tabel 2: Tabel kode perintah LCD ............................................................................................ 28 Tabel 3: Tabel Kode ASCII ........................................................................................................ 28
Aplikasi Mikrokontroler
v
Petunjuk Penggunaan MODUL
Pedoman Mahasiswa
1. Modul Praktikum Aplikasi Mikrokontroler ini diperuntukkan bagi mahasiswa program studi Teknik Telekomunikasi DIII, Jurusan Teknik Elektro, Politeknik Negeri Bandung. 2. Dipergunakan mulai pertemuan ke 2, karena pada pertemuan ke 1, mahasiswa akan dijelaskan tentang tata tertib praktikum dan diperkenalkan berbagai peralatan penunjang praktikum. 3. Sebelum praktikum, di luar lab, mahasiswa membaca modul, dan menjawab serta membuat tugas pendahuluan yang tertera pada modul dan dikumpulkan pada instruktur sebelum memulai praktikum. 4. Adapun isi modul terdiri atas Tujuan, Dasar teori, Peralatan dan komponen yang digunakan, Langkah kerja, Lembar pengisian, Analisa dan Kesimpulan. 5. Pelajarilah dengan cermat tujuan praktikum dan dasar teori sehingga mahasiswa mengerti target dari praktikum hari itu. 6. Disetiap tahapan langkah kerja terdapat tabel ataupun analisa yang harus dilakukan. Sebaiknya hasil berupa data atau tabel dikonfirmasikan kepada Instruktur, selain telah dipersiapkan dengan mempelajari tujuan praktikum dan dasar teori. Adapun modul praktikum Aplikasi Mikrokontroler ini terdiri atas 12 modul yang masing-masing dilakukan dalam satu kali tatap muka (3 jam praktikum). Kecuali modul Proyek dan beberapa modul lain yang dianggap perlu dilakukan dalam dua kali tatap muka atau lebih.
Aplikasi Mikrokontroler
vi
Pedoman Pengajar
Sebelum masuk ke laboratorium (praktikum dimulai), instruktur membaca modul dan memeriksa komponen dan peralatan yang dibutuhkan untuk praktikum hari itu. Lalu selama mahasiswa melakukan praktikum (yang efektifnya adalah 120 menit), instruktur melakukan langkah berikut: 1. Membiasakan mahasiswa agar selalu menggunakan data sheet (data book) dalam mennguji rangkaian dan karakteristik komponen (biasanya dari berbagai jenis IC). 2. Membimbing mahasiswa, bila ada hal-hal yang menghambat dalam praktek. 3. Mengarahkan mahasiswa agar bekerja dengan benar, cermat dan teliti sesuai tahapan yang ada di modul. 4. Mengarahkan mahasiswa agar dapat mengatasi masalah secara mandiri.dan bekerja dengan efektif. 5. Membimbing mahasiswa agar praktikum dapat dirampungkan. Adapun 30 menit tersisa digunakan untuk
pembukaan,
pengumpulan laporan, dan tugas pendahuluan,
peminjaman alat dan komponen,
pengantar untuk praktikum hari itu,
pengembalian alat,
pengumpulan data-data hasil pengamatan mahasiswa,
evaluasi
penutupan.
Aplikasi Mikrokontroler
vii
Modul 1 Pengenalan Bascom, Atmega8535 dan Downloader
I.
TUJUAN PRAKTIKUM -Membuat program sederhana dengan bahasa Bascom. - Merakit sistem minimum Atmega8535 di atas Protoboard (Breadboard). -Mencoba komunikasi antara Atmega8535 dan program downloader Khazama -Mengatur setting kristal internal dan eksternal dan parameter internal Atmega8535. -Mendownload program ke mikrokontroler Atmega8535. -Mempelajari dan mengkonfigurasi port Atmega sebagai Output. -Mencoba aplikasi paling sederhana yaitu LED berkedip.
II.
LANDASAN TEORI
Bascom (Basic Compiler) adalah suatu bahasa pemrograman untuk mikrokontroler. Bascom sangat mudah dipelajari karena sifat kesederhanaannya yang hampir sama dengan bahasa Basic untuk pemrograman Komputer. Bascom yang akan digunakan untuk memprogram mikrokontroler tersebut adalah dari keluarga ATMEL, dalam hal ini adalah Atmega8535. Atmega8535 adalah suatu mikrokontroler AVR dengan kaki berjumlah 40 seperti terlihat pada gambar berikut ini:
GAMBAR 1: CHIP ATMEGA8535 (KIRI) DAN FUNGSI KAKINYA (KANAN)
Aplikasi Mikrokontroler
1
Setelah program dibuat menggunakan Editor Bascom maka program dapat di-Compile. Hasil akhir kompilasi adalah berupa file berekstensi Hex. File inilah yang diperlukan untuk di download ke chip Atmega8535. Untuk itu maka diperlukan sebuah downloader. Downloader apapun dapat digunakan namun dalam hal ini kita menggunakan downloader yang memiliki Header 6 pin yang dapat ditancapkan langsung di Protoboard seperti gambar berikut ini.
GAMBAR 2: DOWNLOADER BERIKUT KABEL (KIRI) DAN DONGLE KE PROTOBOARD
Untuk dapat mendownload program ke Chip Atmega8535 maka perlu menghubungkan downloader ke pin MOSI, MISO, SCK, RESET, VCC (+5V) dan Ground (GND) dari Atmega8535. Untungnya Atmega8535 memiliki konfigurasi pin-pin tersebut secara berurutan sehingga kita dapat langsung menghubungkan downloader ke protoboard seperti tampak pada gambar diatas. Untuk downloader dengan Header compatible downloader STK (2x5 pin) maka perlu dibuatkan header lain untuk mengkonversinya ke 1x6 pin. Diperlukan sebuah program lain untuk memindahkan file Hex yang dihasilkan oleh Bascom ke chip Atmega8535, program tersebut adalah Khazama. Disamping dapat memindahkan file Hex hasil kompilasi Bascom, Khazama dapat juga menseting parameter internal Atmega8535 seperti misalnya penentuan opsi penggunaan kristal internal atau external dan lain-lain.
GAMBAR 3: TAMPILAN PROGRAM DOWNLOADER KHAZAMA
Aplikasi Mikrokontroler
2
Setelah rangkaian diatas dibuat maka pertama-tama kita perlu mencoba apakah Atmega8535 kita sudah dapat berkomunikasi dengan downloader melalui program Khazama. Untuk itu maka cukup dengan mengklik menu Command
Fuses
and lock
bits dan klik Read All pada kotak dialog Fuses and Lock Bits settings maka akan terjadi komunikasi dan akan muncul tampilan berikut.
GAMBAR 4: TAMPILAN FUSES AND LOCK BITS SETTINGS
Hal ini menunjukan bahwa selain telah terjalin komunikasi antara Atmega8535 dan Downloader juga telah membuktikan bahwa mikro kita masih berfungsi dengan baik. Untuk selanjutnya kita siap untuk menulis program aplikasi dan mendownloadnya ke mikro kita.
III.
ALAT DAN KOMPONEN 1. Protoboard
1 buah
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
6. Kristal 16 Mhz
1 buah
7. Capasitor 33pF
2 buah
8. LED
1 buah
9. Resistor 330 Ohm
1 buah
Aplikasi Mikrokontroler
3
IV.
LANGKAH PERCOBAAN
A) Pengujian Mikrokontroler
-Rangkailah rangkaian berikut di atas Protoboard U1 1 2 3 4 5 6 7 8
P1 6 5 4 3 2 1
MOSI MISO SCK RESET
14 15 16 17 18 19 20 21
+5v
Dwloader GND GN D
9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 ( OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC2 PC3 PC3 PC4 PC4 PC5 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET XTAL2 XTAL1
VCC VCC AVCC AREF GND GND GND GND
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29 10 30 32 31 11
+5v
GND GND GND GN D
ATmega8535
GAMBAR 5: SKEMA PALING SEDERHANA AKTIVASI ATMEGA8535 TANPA KRISTAL EKSTERNAL
Tancapkan header downloader ke Protoboard seperti tampak t ampak pada gambar berikut. Ujung bagian USB downloader hubungkan ke k e Laptop
T I O E S V D S K S 5 N O I C E M M S R + G
GAMBAR 6: RANGKAIAN PALING SEDERHANA UNTUK BERKOMUNIKASI DENGAN ATMEGA8535
Aplikasi Mikrokontroler
4
-Running software downloader Khazama. -Ujilah pertama-tama apakah Atmega8535 masih berfungsi dengan baik menggunakan tombol Read All pada menu Command => Fuses and lock bits Khazama. -Catatlah apa yang tertulis terkait dengan parameter pa rameter Kristal yang digunakan! -Gantilah definisi Kristal pada menu Read All tersebut menjadi internal kristal 8 MHz dengan memilih opsi: Int RC Osc. 8 Mhz; Start-Up time: 6 CK + 64 ms; lalu tekan Write All. -Keluarlah dari menu Fuses and lock bits tersebut.
B) Aplikasi Sederhana - LED Berkedip
-Tambahkan LED dan R 330 Ohm pada rangkaian sebelumnya menjadi seperti pada skema berikut. U1
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND GN D
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK) PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2) RESET XTAL2 XTAL1
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC ( TOSC1) PC7 (TOSC ( TOSC2) VCC VCC AVCC AREF GND GND GND GND
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29 10 30 32 31 11
D1
R1
+5v 330 33 0 LED1
+5v
GND GND
ATmega8535
GAMBAR 7: SKEMA APLIKASI PALING SEDERHANA DENGAN LED
-Rangkailah skema tersebut di atas Protoboard. -Ikuti tata letak komponen yang diberikan pada gambar berikut, lalu kerjakan pengkabelannya (Wiring) sesuai dengan skema yang telah diberikan di atas.
Aplikasi Mikrokontroler
5
GAMBAR 8: TATA LETAK KOMPONEN APLIKASI LED BERKEDIP
-Perhatikan bahwa sejak sekarang catudaya aplikasi kita di atas Protoboard selalu menggunakan catudaya dari USB Laptop yang akan mengeluarkan tegangan +5V sesuai dengan yang dibutuhkan rangkaian kita. Agar catudaya +5V tersebut dapat disalurkan ke jalur + dan Gnd Protoboard maka kita tambahkan “jumper” kabel warna merah dan hitam dari output tegangan downloader ke Protoboard kita, ikuti “wiring”nya pada gambar berikut.
-Running Bascom. -Buatlah program sederhana untuk mengedipkan LED pada port PC.0 dengan menyalin program berikut.
$regfile = "m8535.dat" Config Portc.0 = Output Do Portc.0 = 0 Waitms 500 Portc.0 = 1 Waitms 500 Loop -Pelajari baik-baik apa maksud masing-masing instruksi di atas. -Kompilasilah program tersebut dan downloadlah ke chip Atmega8535 dengan cara masuk ke menu Program ==> Compile atau tekan F7
Aplikasi Mikrokontroler
6
-Kemudian downloadlah file Hex hasil kompilasi tersebut dengan cara. -jalankan Khazama -Masuk ke menu File ==> Load FLASH file to Buffer ==> pilih file Hex hasil kompilasi yang tadi. Lalu tekan tombol besar “Auto Program” -Setelah proses download selesai, amati apa yang terjadi pada LED? -Berapakah Hertz-kah kedipan LED tersebut? -Coba ganti frekuensi kedipan menjadi 10 Hz, 50 Hz, dan 100 Hz, 1000 Hz. -Apa yang terjadi pada batas frekuensi kedipan di atas 50 Hz? -Apakah kita bisa membuat frekuensi lebih tinggi dari itu misalnya frekuensi 20 KHz (batas frekuensi suara) dan 40 KHz (frekuensi Ultrasonik). Cobalah hitung dan buktikan!
C) Kristal External
Kristal yang digunakan pada aplikasi di sebelumnya adalah Kristal internal 8 Mhz. Perlu
diketahui
bahwa
untuk
menyederhanakan
rangkaian
Atmega8535
menyediakan fasilitas kristal internal ini namun frekuensinya hanya terbatas sampai maksimum 8 Mhz. Bila diinginkan frekuensi yang lebih tinggi maka kita harus menambahkan kristal eksternal. Sebagai konsekuensinya kita harus mengubah parameter kristal Atmega8535. -Masuklah kembali ke menu Command ==> Fuses and lock bits. -Tekan Read All. -Ubahlah pernyataan kristal internalnya ke Ext. crystal/resonator High Freq.; StartUp time: 16K CK + 64 ms; -Tekan Write All. -Keluar dari menu. -Apa yang terjadi pada LED? -Sekarang pasang kristal 16 Mhz seperti berikut
Aplikasi Mikrokontroler
7
U1 1 2 3 4 5 6 7 8
P1 MOSI MISO SCK RESET
6 5 4 3 2 1
14 15 16 17 18 19 20 21
+5v
Dwloader GND
9 1
Y1
2
12 13
XTAL C1 22pF
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK) PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2) RESET XTAL2 XTAL1
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2) VCC AVCC AREF GND GND
C2 22pF
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29 10 30 32 31 11
D1
R1
+5v 330 LED1
+5v
GND GND
ATmega8535 GND
GND
GAMBAR 9: APLIKASI LED DENGAN KRISTAL EKSTERNAL
-Apa yang terjadi pada LED? Catatan: setelah kita mengganti parameter Mikro dengan kristal eksternal maka bila suatu saat kristal tersebut terlepas, program tidak akan jalan disamping itu kita tidak bisa lagi masuk ke menu Read All untuk mengubah parameter Atmega8535 tersebut. Coba buktikan!. -Untuk mengubah kembali ke kristal internal 8 Mhz maka kristal eksternal 16 Mhz harus tetap terpasang dulu. Baru setelah selesai proses mengubah kembali ke kristal internal maka kristal eksternal dapat dilepas lagi.
V.
PERTANYAAN
-Apa keuntungan dan kerugian penggunaan kristal Internal dan kristal eksternal? -Aplikasi apa saja yang butuh kristal internal dan kristal eksternal?
Aplikasi Mikrokontroler
8
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
-Pelajari Datasheet Atmega8535 -Hafalkan pin-pin Atmega8535 beserta fungsi-fungsinya -Installah software Bascom -Installah software Khazama -Installah driver Downloader -Siapkan Alat dan Komponen yang diperlukan -Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini.
Aplikasi Mikrokontroler
9
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
10
Modul 2 Aktivasi LED Tanpa Tombol Dan Dengan Tombol
I.
TUJUAN PRAKTIKUM
- Mempelajari prinsip kerja LED dan Tombol. - Mempelajari dan mengkonfigurasi port Atmega sebagai Input. - Mencoba aplikasi tanpa kontrol dari luar dan dengan kontrol dari luar. - Memahami perlunya R pullup internal pada tombol. - Mencoba aplikasi sederhana dengan LED dan Seven-Segmen. - Mempelajari instruksi If-Then-Else.
II.
LANDASAN TEORI
Pada umumnya tombol atau saklar yang dipakai untuk port mikrokontroler adalah bertipe “Push-Button” seperti misalnya saklar Push-On, saklar Reset, saklar DIPSwitch dan lain-lain dimana bila saklar ditekan maka saklar akan menyambungkan port mikro tsb ke Ground tapi bila dilepas maka port mikro pada posisi “ngambang” atau berimpedansi tinggi (High Impedance). Perlu diketahui bahwa mikrokontroler baik Input maupun Output biasanya bersifat “aktif LOW” artinya pada Input harus diumpankan logika 0 baru aktif demikian pula pada output untuk menyatakan aktif dikeluarkan logika 0. Bila sebuah tombol atau saklar bertipe Push-Button tersebut kita hubungkan ke port Atmega8535 maka ketika ditekan mikro akan mendapat logika 0 sedangkan pada saat dilepas maka mikro berlogika Z (tidak 0 tidak juga 1). Oleh karena itu penting diketahui bagaimana kita dapat mendeteksi status saklar tsb secara benar.
Agar kondisi logika Z ini menjadi terdefinisi maka perlu kita berikan R pull-up pada setiap saklar. Namun masalahnya bila saklar berjumlah banyak seperti DIP-SW8 (16 pin) atau DIP-SW9 (18 pin) maka banyak juga jumlah R pull-up yang dibutuhkan.
Aplikasi Mikrokontroler
11
Atmega8535 memiliki R pullup internal disetiap portnya. Cukup dengan mengaktifkan R ini melalui program maka kita tidak lagi memerlukan R pull-up external sehingga disain aplikasi kita menjadi lebih sederhana. Di Bascom kita dapat mengaktifkan R pull-up internal ini dengan cara sebagai berikut. Setelah deklarasi config port sebagai input maka diikuti dengan deklarasi portx.y = 1 misalnya:
Config Portd.7 = Input Portd.7 = 1 internal.
‘pernyataan bahwa kita memasang R pull-up
Penggunaan suatu port sebagai Input berdampak biasanya pada penggunaan statemen kondisi If-Then-Else misalnya:
If pind.7=0 then ‘instruksi Else ‘instruksi Endif
III.
ALAT DAN KOMPONEN
-Protoboard
1 buah
-Downloader
1 buah
-Mikrokontroler ATMega8535
1 buah
-Kabel kaku warna Merah
secukupnya
-Kabel kaku warna Hitam
secukupnya
-Kabel kaku warna lain
secukupnya
-LED
1 buah
-Resistor 330 Ohm
1 buah
-Saklar Push-Button
1 buah
-Saklar DIP-SW8 (16 pin)
1 buah
-Display Seven-Segment (16 pin)
1 buah
Aplikasi Mikrokontroler
12
IV.
LANGKAH PERCOBAAN
Untuk percobaan-percobaan berikut gunakan kristal internal 8 MHz.
A) Penggunaan Push-Button -Rangkailah skema berikut diatas protoboard: U1 S1
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK) PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2) RESET XTAL2 XTAL1
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2) VCC AVCC AREF GND GND
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29 10 30 32 31 11
GND
SW-PB
D1
R1
+5v 330 LED1
+5v
GND GND
ATmega8535
GAMBAR 10: SKEMA AKTIVASI LED DENGAN TOMBOL
GAMBAR 11: TATA LETAK KOMPONEN APLIKASI LED DENGAN TOMBOL
Aplikasi Mikrokontroler
13
-Tuliskan program sederhana dengan Bascom untuk dapat mengaktifkan LED menggunakan tombol Push-Buttorn dengan kondisi berikut : Jika tombol ditekan maka LED menyala Jika tidak maka LED padam. -Buatlah pertama deklarasi Config Portd.7 = Input tanpa R-pull-up internal. -Buatlah kedua deklarasi Config Portd.7 = Input dengan R-pull-up internal. -Compile dan jalankanlah program yang dibuat! -Amati apa perbedaannya dan jelaskan!
A) Penggunaan DIPSW8 -Rangkailah skema berikut diatas protoboard:
U1 S1
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET XTAL2 XTAL1
VCC AVCC AREF GND GND
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29 10 30 32 31 11
1 2 3 4 5 6 7 8
SW-DIP8 16 15 14 13 12 11 10 9
R1330 R2330 R3330 R4330 R5330 R6330 R7330 R8330 +5v
a b c d e f g dp
GND GND GND GND GND GND GND GND
+5v
SEVEN SEGMENT
GND GND
ATmega8535
GAMBAR 12: SKEMA AKTIVASI LED SEVEN SEGMENT DENGAN DIP SWITCH
Aplikasi Mikrokontroler
14
GAMBAR 13: SEVEN SEGMENT DAN KONFIGURASI KAKI-KAKINYA
GAMBAR 14: TATA LETAK KOMPONEN APLIKASI SEVEN SEGMENT
-Tuliskan program sederhana dengan Bascom untuk dapat mengaktifkan ke 8 LED di Seven-Segment menggunakan tombol Push-Button dengan kondisi berikut : Jika saklar di PA0 ditekan maka LED di PC0 (segment a) menyala, Jika saklar di PA1 ditekan maka LED di PC1 (segment b) menyala, Jika saklar di PA2 ditekan maka LED di PC2 (segment c) menyala, Jika saklar di PA3 ditekan maka LED di PC3 (segment d) menyala, Jika saklar di PA4 ditekan maka LED di PC4 (segment e) menyala, Jika saklar di PA5 ditekan maka LED di PC5 (segment f) menyala, Jika saklar di PA6 ditekan maka LED di PC6 (segment g) menyala, Jika saklar di PA7 ditekan maka LED di PC7 (segment dp) menyala, Jika tidak itu semua maka tidak ada LED yang menyala. -Buatlah program yang dapat menampilkan angka dari 1 s/d 8 ketika saklar dari DIPSW8 ditekan sesuai dengan indeks dari saklar tersebut. -Buatlah program yang dapat menjadikan DIPSW8 sebagai pemberi pilihan fungsi misalnya
Aplikasi Mikrokontroler
15
Jika saklar 1 ditekan maka fungsi LED bergeser ke kiri Jika saklar 2 ditekan maka fungsi LED bergeser ke kanan Jika saklar 3 ditekan maka fungsi LED berputar ke kiri Jika saklar 4 ditekan maka fungsi LED berputar ke kanan
V.
PERTANYAAN
Mengapa untuk menyalakan LED di mikrokontroler biasanya menggunakan logika 0?
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
-Siapkan Alat dan Komponen yang diperlukan -Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini. -Pelajari penggunaan kondisi If-Then-Else pada Bascom -Pelajari R pull-up internal pada datasheet Atmega8535
Aplikasi Mikrokontroler
16
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
17
Modul 3 Buzzer, Speaker dan Piezoelectric
I.
TUJUAN PRAKTIKUM
- Mempelajari komponen penghasil bunyi-bunyian atau suara. - Mempelajari prinsip kerja Buzzer, Speaker dan Piezoelectric. - Mencoba membangkitkan frekuensi suara 20 Hz – 20 Khz. - Mencoba membangkitkan frekuensi Ultrasonik 40 Khz. - Mengamati dan mengukur frekuensi yang dihasilkan dengan Oscilloscope. - Membuat aplikasi sederhana Piano Elektronik.
II.
LANDASAN TEORI
Bunyi dapat dihasilkan bila ada sesuatu yang berdetak secara periodik pada suatu media penghasil bunyi yang dapat menggetarkan udara seperti misalnya Speaker yang biasa kita kenal. Detak tersebut dapat dihasilkan baik secara mekanik maupun elektronik. Secara mekanik maka detak dapat berupa ketukan secara periodic antara 2 benda sedangkan detak elektronik dapat berupa gelombang atau pulsa. Pulsa ini dapat dengan mudah dihasilkan oleh sebuah mikrokontroler. Speaker adalah media penghasil bunyi bila padanya diberikan sebuah sumber detak/pulsa. Sumber detak ini akan menghasilkan gerak mekanik sebuah membrane dimana membran akan menggetarkan udara. Jadi speaker memerlukan sumber detak atau frekuensi untuk menghasilkan suara. Karena speaker memerlukan frekuensi maka speaker dapat menghasilkan banyak nada dari batas 20 Hz sampai dengan 20 Khz. Sama dengan speaker maka Piezoelectric adalah sarana penghasil bunyi-bunyian yang berukuran sangat tipis. Speaker perlu dikopling dengan sebuah condensator sekitar 1 uF bila ingin dihubungkan ke port mikrokontroler sedangkan piezoelectric tidak karena sudah bersifat capasitif. Buzzer juga merupakan sarana penghasil bunyi-bunyian namun berbeda dengan speaker Buzzer hanya dapat menghasilkan satu nada tertentu dengan hanya memberikan padanya sebuah tegangan biasanya +5V yang bisa didapat dari port sebuah
mikrokontroler.
Jadi
untuk
mengaktifkan
Buzzer
cukup
dengan
Aplikasi Mikrokontroler
18
memberikan sebuah lojik dari port mikrokontroler. Buzzer biasanya digunakan untuk alarm. Dengan menggunakan instruksi do-loop dan waitms kita dapat menghasilkan frekuensi atau pulsa kotak seperti contoh program berikut:
Do Portd.7 = 1 Waitms 500 Portd.7 = 0 Waitms 500 Loop
Instruksi tersebut dapat menghasilkan pulsa kotak dengan periode 500ms atau frekuensi sebesar: F = 1/T dimana F: Frekuensi dalam Hz dan T: Perioda dalam detik F= 1/(0,5+0,5) = 1/1 = 1 Hz
Untuk dapat membangkitkan frekuensi yang berbeda-beda cukup dengan mengganti nilai waitms.
III.
ALAT DAN KOMPONEN
1. Protoboard
1 buah
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
6. Kabel kaku warna lain
secukupnya
7. Speaker mini 8 Ohm
1 buah
8. Buzzer (kecil)
1 buah
9. Piezoelectric
1 buah
Aplikasi Mikrokontroler
19
IV.
10. Saklar Push-Button (Tombol Reset kecil)
1 buah
11. Saklar DIP-SW8 (16 pin)
1 buah
12. Condensator 1 uF
1 buah
LANGKAH PERCOBAAN
Untuk percobaan-percobaan berikut gunakan kristal internal 8 MHz A) Penggunaan Buzzer -Rangkailah skema berikut diatas protoboard: U1 1 2 3 4 5 6 7 8
P1 6 5 4 3 2 1
MOSI MISO SCK RESET
14 15 16 17 18 19 20 21
+5v
Dwloader GND GN D
9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SC ( SCK) K)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SC ( SCL) L) PC1 (SDA) PC2 PC2 PC3 PC3 PC4 PC4 PC5 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET XTAL2 XTAL1
VCC VCC AVCC AREF GND GND
40 39 38 37 36 35 34 33
S1 SW-PB
22 23 24 25 26 27 28 29 10 30 32
GND
LS1
+5v
31 11
Buzzer GND
GND GND
ATmega8535
GAMBAR 15: APLIKASI BUZZER DENGAN TOMBOL
-Buatlah program untuk mengaktifkan Buzzer dengan tombol Push-Button. B) Penggunaan Speaker -Rangkailah skema berikut diatas protoboard:
Aplikasi Mikrokontroler
20
U1
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND GN D
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2 (AI N0/INT2)) PB3 (AIN1/OC0) PB4 (SS ( SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC2 PC3 PC3 PC4 PC4 PC5 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET
12 13
XTAL2 XTAL1
VCC VCC AVCC AREF GND GND
40 39 38 37 36 35 34 33
S1 SW-PB
22 23 24 25 26 27 28 29 10 30 32 31 11
GND GN D
LS1 LS 1
C1
+5v
1 uF uF Speaker GND
GND GND
ATmega8535
GAMBAR 16: APLIKASI SPEAKER DENGAN TOMBOL
-Buatlah program untuk membangkitkan frekuensi 1 Khz pada Speaker dengan instruksi waitms. Frekuensi hanya akan terdengar bila tombol t ombol Push-Button ditekan. -Amati dan ukurlah frekuensi yang dihasilkan menggunakan mengg unakan Osciloscope. -Hitunglah ulang parameter waitms untuk membangkitkan frekuensi 10 Khz, 20 Khz dan 40 Khz pada Speaker dengan instruksi. Gunakan waitus untuk penundaan dengan satuan mikro second. -Amati dan ukurlah frekuensi yang dihasilkan menggunakan mengg unakan Osciloscope. C) Penggunaan Piezoelectric -Rangkailah skema berikut diatas protoboard:
Aplikasi Mikrokontroler
21
Atmega8535
DIPSW8
Jumper penyalur catudaya 5V dari downloder
Header Downloader (tampak atas)
Condensator
Speaker
GAMBAR 19: TATA LETAK KOMPONEN APLIKASI PIANO
-Buatlah program Piano sederhana dengan nada dasar A=440Hz. Gunakan instruksi waitms dan kondisional IF. -Gunakan tabel tangga nada yang kalian dapat dari Internet untuk membuat rangkaian tersebut sebanyak 1 Oktaf. -Amati dan ukurlah frekuensi yang dihasilkan menggunakan Osciloscope. - Agar nada-nada terdengar lebih keras maka speaker dapat digantikan dengan speaker aktif yang biasanya dipakai untuk Komputer.
V.
PERTANYAAN -Berapakah frekuensi maksimum yang dapat dihasilkan Atmega8535?
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
Aplikasi Mikrokontroler
23
-Siapkan Alat dan Komponen yang diperlukan -Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini. -Pelajari tentang Buzzer, Speaker dan Piezoelectric dari Internet. -Pelajari tentang frekuensi secara umum. -Pelajari tentang frekuensi suara secara khusus. -Pelajari pengukuran gelombang dan frekuensi dengan Oscilloscope. -Carilah Tabel frekuensi tangga nada musik di Internet
Aplikasi Mikrokontroler
24
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
25
Modul 4 LCD
I.
TUJUAN PRAKTIKUM
- Mempelajari prinsip kerja LCD. - Mencoba komponen LCD sebagai penampil karakter. - Membuat program untuk menampilkan karakter dan nilai suatu variabel. - Mempelajari kode ASCII sebagai standar konversi karakter.
II.
LANDASAN TEORI
LCD (Liquid Crystal Display) adalah suatu komponen untuk menampilkan karakter, huruf, angka dan/atau symbol. Berbagai macam bentuk LCD dapat dilihat pada gambar berikut:
GAMBAR 20: BERBAGAI JENIS BENTUK DAN UKURAN LCD
Bentuk pin dari LCD umumnya terbagi dalam 2 format 1x16 pin (atas) atau 2x7 pin (bawah) seperti pada gambar kiri bawah. Dalam praktikum ini kita akan memilih format 1x16 pin dikarenakan format ini dapat dipasang di atas Protoboard. Sedangkan gambar disampingnya adalah Tabel fungsi dari Pin-pin tersebut.
Aplikasi Mikrokontroler
26
GAMBAR 21: JENIS KAKI LCD (KIRI) TABEL 1: TABEL FUNGSI MASING-MASING KAKI LCD (KANAN)
Tabel kode perintah kontrol dapat dilihat pada gambar berikut:
Aplikasi Mikrokontroler
27
TABEL 2: TABEL KODE PERINTAH LCD
Tabel karakter yang ditampilkan fungsi dari kode kontrolnya dapat dilihat pada gambar berikut. TABEL 3: TABEL KODE ASCII
Aplikasi Mikrokontroler
28
Kode dalam Tabel tersebut dikenal dengan kode ASCII yaitu suatu standar untuk mengkodekan karakter ke dalam data 8 bit. Untuk dapat menampilkan karakter pada LCD maka Bascom memberikan kemudahan berupa instruksi yang sangat sederhana sebagai berikut.
Syntax LCD x Remarks X Variable or constant to display. More variables can be displayed separated by the ; -sign LCD a ; b1 ; "constant"
Contoh mendisplaykan sebuah karakter pada lokasi 1,1 (baris ke 1 digit ke 1) Locate 1,1 LCD “A” Contoh mendisplaykan sebuah variable pada lokasi 2,4 (baris ke 1 digit ke 4) Dim I as integer I=8 Locate 2,4 LCD I Untuk dapat menggunakan instruksi tersebut maka harus dituliskan instruksi konfigurasi sebelum instruksi LCD sbb: Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 Config Lcdpin = Pin , E = Portb.1 , Rs = Portb.0 Config Lcd = 16 * 2 Konfigurasi ini bertujuan agar program dapat mengenali port mana yang terhubung dengan LCD dan tipe LCD apa yang digunakan.
III.
ALAT DAN KOMPONEN
1. Protoboard
1 buah
Aplikasi Mikrokontroler
29
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
6. Kabel kaku warna lain
secukupnya
7. LCD 2x20 karakter dengan tipe pin 1x16
1 buah
8. Saklar DIP-SW8 (16 pin)
1 buah
9. R – 1 KOhm (pengganti trimpot LCD)
1 buah
Bentuk LCD yang digunakan pada percobaan ini:
GAMBAR 22: BENTUK LCD YANG DIGUNAKAN
IV.
LANGKAH PERCOBAAN
-Untuk percobaan-percobaan berikut gunakan kristal internal 8 MHz. -Trimpot 10K dapat digantikan dengan R fiks senilai 1 KOhm terhubung ke Ground. -Rangkailah skema berikut diatas protoboard:
Aplikasi Mikrokontroler
30
U2 S1
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK) PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2) RESET XTAL2 XTAL1
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2) VCC AVCC AREF GND GND
40 39 38 37 36 35 34 33
1 2 3 4 5 6 7 8
22 23 24 25 26 27 28 29
PC0 SW-DIP8 PC1 PC2 PC3 PC4 PC5 PC6 PC7
10 30 32 31 11
+5
16 15 14 13 12 11 10 9
GND
) ) 4 5 n ) n i 6 i p n p ( ( i p S W R / ( R E
+5
10K Trimpot1 GND +5
GND
) ) ) ) 1 2 3 4 1 1 1 1 n i n i n i n i p ( p ( p ( p GND ( 4 5 6 7 +5 D D D D
ATmega32-16PI
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 1 1 1 1 1 1 1
LCD
GAMBAR 23: SKEMA LCD
Ikuti tata letak komponen yang diberikan pada gambar berikut, lalu kerjakan pengkabelannya (Wiring) sesuai dengan skema yang telah diberikan di atas.
GAMBAR 24: TATA LETAK KOMPONEN APLIKASI LCD
-Tuliskan pernyataan konfigurasi LCD untuk LCD bertipe 2x10 karakter di Bascom. -Buatlah program-program berikut.
A) Menampilkan karakter ke LCD tanpa aksi luar -Buatlah program untuk menampilkan kalimat berikut “Hello World!”pada lokasi 1,1
Aplikasi Mikrokontroler
31
-Modifikasilah program diatas agar kalimat yang terbaca dapat bergeser ke kiri dan ke kanan..
B) Menampilkan karakter ke LCD dengan aksi dari luar (dengan saklar) -Buatlah program untuk menampilkan status saklar DIPSW8 sesuai dengan posisi saklar. Misalnya: bila saklar DIPSW8 di posisi PA0 ditekan maka muncul tampilan “Saklar = 0” bila saklar DIPSW8 di posisi PA1 ditekan maka muncul tampilan “Saklar = 1” bila saklar DIPSW8 di posisi PA2 ditekan maka muncul tampilan “Saklar = 2” bila saklar DIPSW8 di posisi PA3 ditekan maka muncul tampilan “Saklar = 3” bila saklar DIPSW8 di posisi PA4 ditekan maka muncul tampilan “Saklar = 4” bila saklar DIPSW8 di posisi PA5 ditekan maka muncul tampilan “Saklar = 5” bila saklar DIPSW8 di posisi PA6 ditekan maka muncul tampilan “Saklar = 6” bila saklar DIPSW8 di posisi PA7 ditekan maka muncul tampilan “Saklar = 7” C) Menampilkan kode ASCII ke LCD dengan aksi dari luar (dengan saklar) -Modifikasi program tsb agar LCD dapat menampilkan karakter ASCII yang sesuai dengan nilai biner ke 8 saklar DISSW8.
V.
PERTANYAAN -Apa yang terjadi pada tampilan bila kita menambahkan instruksi waitms? -Berapa nilai waitms yang sesuai agar karakter bisa terbaca dengan baik?
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
-Siapkan Alat dan Komponen yang diperlukan
Aplikasi Mikrokontroler
32
-Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini. -Pelajari tentang berbagai jenis LCD melaui internet. -Persiapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini.
Aplikasi Mikrokontroler
33
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
34
Modul 5 Keypad
I.
TUJUAN PRAKTIKUM
- Mempelajari prinsip kerja Keypad. - Menkonfigurasi Keypad pada program. - Mengambil data yang ditekan dari Keypad dengan instruksi GetKBD. - Mempelajari proses multiplexing pada matriks keypad. - Mengatasi efek “bouncing” pada keypad. - Membuat aplikasi Kalkulator sederhana
II.
LANDASAN TEORI
Keypad adalah suatu sarana untuk memasukan nilai karakter angka dan beberapa huruf dari eksternal mikro.
GAMBAR 25: BENTUK KEYPAD
Keypad memiliki pin sebanyak 8 buah dan dibentuk dari suatu matriks saklar 4x4 seperti tampak pada gambar berikut.
Aplikasi Mikrokontroler
35
GAMBAR 26: STRUKTUR INTERNAL KEYPAD
Cara mengkonfigurasi Keypad: Untuk menggunakan keypad maka kita harus mengkonfigurasinya terlebih dahulu dengan Syntax: CONFIG KBD = PORTx , DEBOUNCE = value [, DELAY = value]
Dimana PORTx
The name of the PORT to use such as PORTB or PORTD.
DEBOUNCE
By default the debounce value is 20. A higher value might be needed. The maximum is 255
Delay
An optional parameter that will cause Getkbd() to wait the specified amount of time after the key is detected. This parameter might be added when you call GetKbd() repeatedly in a loop. Because of noise and static electricity, wrong values can be returned. A delay of say 100 mS, can eliminate this problem.
The GETKBD() function can be used to read the pressed key from a matrix keypad attached to a port of the uP. You can define the port with the CONFIG KBD statement. In addition to the default behavior you can configure the keyboard to have 6 rows instead of 4 rows. CONFIG KBD = PORTx , DEBOUNCE = value , rows=6, row5=pinD.6, row6=pind.7 This would specify that row5 is connected to pind.6 and row7 to pind.7 Note that you can only use rows=6. Other values will not work. Penggunaan instruksi GETKBD Action
Aplikasi Mikrokontroler
36
Scans a 4x4 matrix keyboard and return the value of the key pressed. Syntax var = GETKBD() Remarks Var
The numeric variable that is assigned with the value read from the keyboard
The GETKBD() function can be attached to a port of the uP. You can define the port with the CONFIG KBD statement. A schematic for PORTB is shown below
GAMBAR 27: KONEKSI KEYPAD KE MIKROKONTROLER
Note that the port pins can be used for other tasks as well. But you might need to set the port direction of those pins after you have used getkbd(). For example the LCD pins are set to output at the start of your program. A call to getkbd() would set the pins to input. By setting DDR.x register you can set the pins to the proper state again. As an alternative you can use CONFIG PIN or CONFIG PORT. When no key is pressed 16 will be returned. When using the 2 additional rows, 24 will be returned when no key is pressed. On the STK200 this might not work since other hardware is connected too that interferes. You can use the Lookup() function to convert the byte into another value. This because the GetKBD() function does not return the same value as the key pressed. It will depend on which keyboard you use.
Aplikasi Mikrokontroler
37
Sometimes it can happen that it looks like a key is pressed while you do not press a key. This is caused by the scanning of the pins which happens at a very high frequency. It will depend on the used keyboard. You can add series resistors with a value of 470-1K The routine will wait for 100 mS by default after the code is retrieved. With CONFIG KBD you can set this delay. Contoh: $regfile = "m8535.dat" Config Kbd = Portb Dim B As Byte Do
B = Getkbd () ' when no key i s pr essed 16 wi l l be r et ur ned ' when you si mul at e t he get kbd( ) i t i s i mport ant t hat you pr ess/ cl i ck t he keyboar d but t on ' bef or e r unni ng t he get kbd( ) l i ne ! ! ! CLS Locate 1,1 LCD B
Wai t ms 100 Loop End
III.
ALAT DAN KOMPONEN
1. Protoboard
1 buah
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
6. Kabel kaku warna lain
secukupnya
7. Keypad 4 x 4
1 buah
8. LCD 2x20 karakter dengan tipe pin 1x16
1 buah
Model Keyboard yang digunakan pada percobaan ini:
Aplikasi Mikrokontroler
38
GAMBAR 28: MODEL KEYPAD YANG DIGUNAKAN
IV.
LANGKAH PERCOBAAN
Untuk percobaan-percobaan berikut gunakan kristal internal 8 MHz -Rangkailah skema berikut diatas protoboard: U2 KEYPAD 4x4
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET XTAL2 XTAL1
VCC AVCC AREF GND GND
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29 10 30 32 31 11
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 +5
) ) 4 5 n ) n i 6 i p n p ( ( i p S W R / ( R E
+5
10K Trimpot1 GND +5
GND
) ) ) ) 1 2 3 4 1 1 1 1 n i n i n i n i p ( p ( p ( p GND ( 4 5 6 7 +5 D D D D
ATmega32-16PI
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 1 1 1 1 1 1 1
LCD
GAMBAR 29: SKEMA KEYPAD
Ikuti tata letak komponen yang diberikan pada gambar berikut, lalu kerjakan pengkabelannya (Wiring) sesuai dengan skema yang telah diberikan di atas.
Aplikasi Mikrokontroler
39
Atmega8535
Jumper penyalur catudaya 5V dari downloder
Header Downloader (tampak atas)
GAMBAR 30: TATA LETAK KOMPONEN APLIKASI KEYPAD
-Jalankan program contoh seperti yang telah diberikan diatas. -Buatlah program sebuah Kalkulator.
V.
PERTANYAAN
Nilai berapa yang dikirim GetKBD bila semua tombol tidak ditekan?
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
-Siapkan Alat dan Komponen yang diperlukan
Aplikasi Mikrokontroler
40
-Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini. -Pelajari tentang Keypad di Internet dan cara aktivasinya.
Aplikasi Mikrokontroler
41
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
42
Modul 6 ADC
I.
TUJUAN PRAKTIKUM
- Mempelajari prinsip kerja ADC. - Mengetahui cara pengambilan data analog dari port Atmega8535. - Mengenal sensor analog berbasis cahaya LDR. - Membuat aplikasi menggunakan ADC.
II.
LANDASAN TEORI
ADC (Analog to Digital Converter) adalah suatu fungsi pada Atmega8535 yang dapat mengubah suatu tegangan analog ke kode-kode digital. Fasilitas ADC ini sangat banyak kegunaannya antara lain untuk membaca dan mengolah output dari suatu sensor misalnya sensor suhu, sensor cahaya dan lain-lain. Atmega8535 memiliki 8 buah Input ADC yang memungkinkan kita menghubungkan 8 buah sensor sekaligus. Ke 8 buah input ini berada pada port A (PA0 s/d PA7). Untuk menggunakan port ADC tersebut maka ada persiapan baik secara hardware maupun secara software yang harus dilakukan. Secara hardware, kita harus menentukan tegangan AVCC dan AREF. Bila kita inginkan tegangan AVCC dan AREF sama
dengan
tegangan
kerja
mikrokontroler
maka
cukup
dengan
menghubungkannya ke +5V. Secara software, kita harus menuliskan pernyataan konfigurasi seperti dijelaskan berikut ini.
Syntax CONFIG ADC = single, PRESCALER = AUTO, REFERENCE = opt Remarks ADC PRESCALER REFERENCE
Running mode. May be SINGLE or FREE. A numeric constant for the clock divider. Use AUTO to let the compiler generate the best value depending on the XTAL Some chips like the M163 have additional reference options. Value may be OFF , AVCC or INTERNAL. See the data sheets for the different
Aplikasi Mikrokontroler
43
modes. Some newer micro's support also : INTERNAL_1.1 INTERNAL_2.56 INTERNALEXTCAP
Contoh Program: $regfile = "m8535.dat"
' ' ' ' '
conf i gur e si ngl e mode and aut o pr escal er set t i ng The si ngl e mode must be used wi t h t he GETADC( ) f unct i on The pr escal er di vi des t he i nt er nal cl ock by 2, 4, 8, 16, 32, 64 or 128 Because t he ADC needs a cl ock f r om 50- 200 KHz The AUTO f eat ur e, wi l l sel ect t he hi ghest cl ockr at e possi bl e Config Adc = Single , Pr escal er = Aut o ' Now gi ve power t o t he chi p Start Adc ' Wi t h STOP ADC, you can r emove t he power f r om t he chi p ' St op Adc Dim W As Word , Channel As Byte
Channel = 0 ' now r ead A/ D val ue f r om channel 0 Do
W = Getadc( channel ) LOCATE 1,1 LCD " Channel " ; Channel ; " val ue " ; W Incr Channel If Channel > 7 Then Channel = 0 Loop End
III.
ALAT DAN KOMPONEN
1. Protoboard
1 buah
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
6. Kabel kaku warna lain
secukupnya
7. LCD 2x20 karakter dengan tipe pin 1x16
1 buah
8. Trimpot (Biru) 100 KOhm
1 buah
9. LDR
1 buah
Aplikasi Mikrokontroler
44
IV.
LANGKAH PERCOBAAN
Untuk percobaan-percobaan berikut gunakan kristal internal 8 MHz -Rangkailah skema berikut diatas protoboard: +5 U2
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET XTAL2 XTAL1
VCC AVCC AREF GND GND
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29 10 30 32 31 11
R1 100K
GND
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 +5 +5 +5
) ) 5 4 ) n 6 n i i p n p ( ( i p S W R / ( R E
+5
10K Trimpot1 GND +5
GND
) ) ) ) 1 2 3 4 1 1 1 1 n i n i n i n i p ( p ( p ( p GND ( 4 5 6 7 +5 D D D D
ATmega32-16PI
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 1 1 1 1 1 1 1
LCD
GAMBAR 31: SKEMA PERCOBAAN ADC
Ikuti tata letak komponen yang diberikan pada gambar berikut, lalu kerjakan pengkabelannya (Wiring) sesuai dengan skema yang telah diberikan di atas.
GAMBAR 32: TATA LETAK KOMPONEN APLIKASI ADC
Aplikasi Mikrokontroler
45
A) Percobaan ADC dengan masukan dari Trimpot - Tuliskan dan lengkapi program contoh seperti yang telah dijelaskan pada Landasan Teori. - Ubahlah nilai Trimpot dengan memutar dari kiri ke kanan atau sebaliknya. Perhatikan Nilai yang terbaca pada LCD. B) Percobaan ADC dengan masukan dari Sensor Cahaya LDR -Buatlah suatu pembagi tegangan dengan sebuah LDR dan Trimpot. - Aturlah nilai Trimpot sedemikian sehingga LDR menjadi sensitif terhadap perubahan intensitas cahaya. - Tutup dan bukalah LDR dengan tangan dan perhatikan perubahan nilai yang terjadi pada LCD. C) Percobaan aplikasi sensor cahaya LDR - Dengan rangkaian yang sama dengan di atas tambahkan Buzzer pada port PD7. - Buatlah program yang membatasi nilai intensitas cahaya yang di terima LDR pada nilai 511. - Buatlah kondisi menggunakan If-Then-Else, bila nilai cahaya kurang dari 511 maka Buzzer On (berbunyi) bila tidak maka Buzzer Off (tidak berbunyi).
V.
PERTANYAAN -Berapa batas maksimum konversi 10 bit?
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
Aplikasi Mikrokontroler
46
-Siapkan Alat dan Komponen yang diperlukan -Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini. -Pelajari tentang berbagai penggunaan dan aplikasi ADC melalui internet.
Aplikasi Mikrokontroler
47
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
48
Modul 7 EEPROM
I.
TUJUAN PRAKTIKUM
- Mempelajari instruksi terkait penyimpanan data di EEPROM yaitu Writeeeprom dan Readeeprom. - Memahami perbedaan penyimpanan data di EEPROM dan di RAM. - Memahami kegunaan penyimpanan data di EEPROM. - Membuat program penyimpanan dan pembacaan data di EEPROM - Membuat aplikasi penyimpanan dan pembacaan data dengan EEPROM
II.
LANDASAN TEORI
Seringkali ketika kita matikan catudaya maka data yang telah kita simpan terhapus padahal kita akan menggunakan data tersebut kembali ketika sistem kita dinyalakan. Memory RAM (Random Acces Memory) tidak memungkinkan untuk itu dikarenakan sifatnya yang menyebabkan data hilang ketika catudaya dimatikan. Untungnya pada chip mikrokontroler keluarga Atmel memnyediakan jenis memori yang memungkinkan data tersimpan terus walaupun catudaya telah dimatikan. Memori tersebut disebut EEPROM (Erasable Electrically Programmable Read Only Memory). Jenis ini hanya dapat dihapus dengan sengaja secara elektrik. Berikut adalah penjelasan tentang cara penggunaan instruksi penyimpanan data ke EEPROM.
Instruksi Writeeeprom
Action Write a variables content to the DATA EEPROM. Syntax WRITEEEPROM var , address
Aplikasi Mikrokontroler
49
Remarks var
The name of the variable that must be stored
address
The address in the EEPROM where the variable must be stored. A new option is that you can provide a label name for the address. See example 2.
This statement is provided for compatibility with BASCOM-8051. You can also use : Dim V as Eram Byte 'store in EEPROM Dim B As Byte 'normal variable B = 10 V = B 'store variable in EEPROM When you use the assignment version, the data types must be the same! According to a data sheet from ATMEL, the first location in the EEPROM with address 0, can be overwritten during a reset. It is advised not to use this location.
For security, register R23 is set to a magic value before the data is written to the EEPROM. All interrupts are disabled while the EEPROM data is written. Interrupts are enabled automatic when the data is written. It is advised to use the Brownout circuit that is available on most AVR processors. This will prevent that data is written to the EEPROM when the voltage drops under the specified level. When data is written to the EEPROM, all interrupts are disabled, and after the EEPROM has been written, the interrupts are re-enabled. Contoh Program $regfile = "m8535.dat"
speci f y t he used mi cr o ' f i r st di mensi on a var i abl e Dim B As Byte Dim Yes As String * 1 ' Usage f or r eadeepr om and wr i t eepr om : ' r eadeepr om var , addr ess ' A new opt i on i s t o use a l abel f or t he addr ess of t he dat a ' Si nce t hi s dat a i s i n an ext er nal f i l e and not i n t he code t he eepr om dat a
Aplikasi Mikrokontroler
50
' shoul d be speci f i ed f i r st . Thi s i n cont r ast wi t h t he nor mal DATA l i nes whi ch must ' be pl aced at t he end of your pr ogr am! ! ' f i r st t el l t he compi l er t hat we ar e usi ng EEPROM t o st or e t he DATA $eeprom
' t he gener at ed EEP f i l e i s a bi nar y f i l e. ' Use $EEPROMHEX t o cr eat e an I nt el Hex f i l e usabl e wi t h AVR St udi o. ' $eepr omhex ' speci f y a l abel Label 1: Data 1 , 2 , 3 , 4 , 5 Label 2: Data 10 , 20 , 30 , 40 , 50 ' Swi t ch back t o nor mal dat a l i nes i n case t hey ar e used
$data ' Al l t he code above does not gener at e real obj ect code ' I t onl y creat es a f i l e wi t h t he EEP ext ensi on ' Use t he new l abel opt i on Readeeprom B , Label 1 Print B ' pr i nt s 1 ' Succesi ve r eads wi l l r ead t he next val ue ' But t he f i r st t i me t he l abel must be speci f i ed so t he st ar t i s known Readeeprom B Print B ' pr i nt s 2 Readeeprom B , Label 2 Print B Readeeprom B Print B
' pr i nt s 10 ' pr i nt s 20
' And i t wor ks f or wr i t i ng t oo : ' but si nce t he pr ogr ammi ng can i nt er f er e we add a st op her e Input " Ready?" , Yes B = 100 Writeeeprom B , Label 1 B = 101 Writeeeprom B ' r ead i t back Readeeprom B , Label 1 Print B ' pr i nt s 1 ' Succesi ve r eads wi l l r ead t he next val ue ' But t he f i r st t i me t he l abel must be speci f i ed so t he st ar t i s known Readeeprom B Print B ' pr i nt s 2 End
Secara sederhana operasi Write dan Read EEPROM dapat ditulis sebagai berikut
Aplikasi Mikrokontroler
51
Dim Alamatku As Byte
‘0 <= Alamatku <= 255
Dim Dataku As Byte
‘0 <= Dataku <= 255
Alamatku=1 Dataku = 10 Writeeeprom Dataku, Alamatku Alamatku=2 Dataku = 5 Writeeeprom Dataku, Alamatku Alamatku=1 Readeeprom Dataku, Alamatku LCD Dataku
‘akan tampil angka 10
Wait 2
Alamatku=2 Readeeprom Dataku, Alamatku LCD Dataku
‘akan tampil angka 5
Wait 2
Bila diinginkan variabel Dataku dalam Word dengan range 0 <= Dataku <= 65535 maka
Dim Alamatku As Byte
‘0 <= Alamatku <= 255
Dim Dataku As Word
‘Word = 2 bytes, 0 <= Dataku <= 65535
Alamatku=1 Dataku = 1023 Writeeeprom Dataku, Alamatku Alamatku=3
‘karena Dataku dalam Word (= 2 bytes)
Dataku = 511
Aplikasi Mikrokontroler
52
Writeeeprom Dataku, Alamatku Dataku=0
‘untuk menguji apakah Dataku memang ‘tersimpan di EEPROM dan tidak tertimpa 0
Alamatku=1 Readeeprom Dataku, Alamatku LCD Dataku
‘akan tampil angka 1023 ‘ternyata data masih ada
Wait 2
Alamatku=3 Readeeprom Dataku, Alamatku LCD Dataku
‘akan tampil angka 511
Wait 2
III.
IV.
ALAT DAN KOMPONEN
1. Protoboard
1 buah
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
6. Kabel kaku warna lain
secukupnya
7. LCD 2x20 karakter dengan tipe pin 1x16
1 buah
8. DIP-SW-8 (16 pin)
1 buah
9. Push-Button
2 buah
LANGKAH PERCOBAAN
- Untuk percobaan-percobaan berikut gunakan kristal internal 8 MHz.
Aplikasi Mikrokontroler
53
U2 S1
Tulis S2 S3
GND GND
Baca
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET
VCC AVCC AREF
XTAL2 XTAL1
GND GND
40 39 38 37 36 35 34 33
1 2 3 4 5 6 7 8
22 23 24 25 26 27 28 29
PC0 SW-DIP8 PC1 PC2 PC3 PC4 PC5 PC6 PC7
10 30 32 31 11
+5
16 15 14 13 12 11 10 9
GND
) ) 4 5 ) n 6 n i i p n p ( ( i p S W R / ( R E
+5
10K Trimpot1 GND +5
GND
) ) ) ) 1 2 3 4 1 1 1 1 n i n i n i n i p ( p ( p ( p GND ( 4 5 6 7 +5 D D D D
ATmega32-16PI
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 1 1 1 1 1 1 1
LCD
GAMBAR 33: SKEMA PERCOBAAN EEPROM
Ikuti tata letak komponen yang diberikan pada gambar berikut, lalu kerjakan pengkabelannya (Wiring) sesuai dengan skema yang telah diberikan di atas.
T I E D O K S V N S S O I E 5 C M M S R + G
GAMBAR 34: TATA LETAK KOMPONEN APLIKASI EEPROM
-Buatlah program yang dapat menyimpan data dimana data ditentukan oleh DIPSW8 (16 pin) dengan menekan Push-Button untuk fungsi “Tulis” selanjutnya data yang tersimpan dapat dibaca ulang dengan menekan tombol Push-Button untuk fungsi “Baca”. -Buktikan bahwa dengan mematikan rangkaian data yang tersimpan tetap dapat dibaca ulang ketika rangkaian dihidupkan kembali.
Aplikasi Mikrokontroler
54
V.
PERTANYAAN
- Sebutkan aplikasi apa saja yang tepat untuk EEPROM?
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
-Siapkan Alat dan Komponen yang diperlukan -Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini. -Pelajari perbedaan sifat memory EEPROM dan RAM -Pelajari aplikasi-aplikasi yang menggunakan EEPROM dari Internet.
Aplikasi Mikrokontroler
55
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
56
Modul 8 Timer – Counter - Interrupt
I.
TUJUAN PRAKTIKUM
- Mempelajari prinsip kerja Timer dan penggunaannya. - Mempelajari Interrupt dan penggunaannya. - Mempelajari Counter dan penggunaannya. - Membuktikan bahwa Interrupt memiliki prioritas lebih tinggi daripada program utama. - Membuktikan Timer tidak terpengaruh oleh program utama.
II.
LANDASAN TEORI
Timer adalah suatu sarana pewaktu bagi mikrokontroler. Timer bersifat independen artinya tidak terpengaruh oleh program utama. Oleh sebab itu Timer dapat digunakan sebagai pewaktu presisi karena tidak terganggu oleh jalannya program. Timer dapat diatur waktunya oleh user agar dia dapat mengatur sesuatu yang berada di luar mikrokontroler ataupun di dalam mikrokontroler itu sendiri. Sebagai contoh aplikasi misalnya untuk menghentikan atau menjalankan sesuatu di luar atau di dalam mikrokontroler berdasarkan waktu yang telah ditetapkan. Interrupt adalah suatu sarana penyela program utama. Ketika Interrupt datang maka jalannya program utama akan dihentikan untuk sementara waktu sampai subrutin
Interrupt
selesai
dijalankan.
Interrupt
dapat
berasal
dari
luar
mikrokontroler misalnya suatu sensor mendeteksi sesuatu dan karena pentingnya informasi sensor tersebut maka sensor tersebut dapat menginterrupt program utama dan menjalankan rutin interrupt. Interrupt dapat berasal internal mikrokontroler. Interrupt yang berasal dari internal mikrokontroler dapat berasal dari output suatu Timer. Atmega8535 memliki 3 fasilitas Timer yaitu Timer 0, 1 dan 2 dan memiliki 2 fasilitas Interrupt yaitu Int0 dan Int1.
TIMER0
Aplikasi Mikrokontroler
57
Untuk dapat menjalankan Timer0 maka kita harus melakukan konfigurasi dulu dengan menuliskan:
Syntax CONFIG TIMER0 = COUNTER , PRESCALE= 1|8|64|256|1024 , EDGE=RISING/FALLING , CLEAR TIMER = 1|0 CONFIG TIMER0 = TIMER , PRESCALE= 1|8|64|256|1024 Remarks TIMER0 is a 8 bit counter. See the hardware description of TIMER0. When configured as a COUNTER: EDGE You can select whether the TIMER will count on the falling or rising edge.
When configured as a TIMER: PRESCALE The TIMER is connected to the system clock in this case. You can select the division of the system clock with this parameter. Valid values are 1 , 8, 64, 256 or 1024
Contoh penggunaan Timer0: $regfile = "m8535.dat" Config Timer0 = Counter , Edge = Ri s i ng
Tcnt 0 = 0 Do CLS LCD Tcnt 0 Loop Until Tcnt 0 >= 10
' when 10 pul ses ar e count t he l oop i s exi t ed ' or use the speci al var i abl e TI MER0 Timer0 = 0 ' Now conf i gur e i t as a TI MER ' The TI MER can have t he syst emcl ock as an i nput or t he syst emcl ock di vi ded ' by 8, 64, 256 or 1024 ' The pr escal e par amet er except s 1, 8, 64, 256 or 1024 Config Timer0 = Timer , Prescal e = 1 ' The TI MER i s st ar t ed now aut omat i cl y ' You can STOP t he t i mer wi t h t he f ol l owi ng st at ement : Stop Timer0
' Now t he t i mer i s st opped ' To START i t agai n i n t he l ast conf i gur ed mode, use : Start Timer0
Aplikasi Mikrokontroler
58
' Agai n you can access t he val ue wi t h t he t cnt 0 r egi st er CLS LCD Tcnt 0
' or LCD Timer0
' when t he t i mer over f l ows, a f l ag named TOV0 i n r egi st er TI FR i s set ' You can use t hi s t o execut e an I SR ' To r eset t he f l ag manual i n non I SR mode you must wr i t e a 1 t o t he bi t pos i t i on ' i n TI FR: Set Ti f r . 1 ' The f ol l owi ng code shows how t o use t he TI MER0 i n i nt er r upt mode ' The code i s bl ock r emarked wi t h ' ( en ' ) '( ' Conf i gur e t he t i mer t o use t he cl ock di vi ded by 1024 Conf i g Ti mer 0 = Ti mer , Pr escal e = 1024 ' Def i ne t he I SR handl er On Ovf 0 Ti m0_i sr ' you may al so use TI MER0 f or OVF0, i t i s t he same Enabl e Ti mer 0 t he t i mer i nt er r upt Enabl e I nt er r upt s i nt er r upt s t o occur Do ' your pr ogr am goes her e Loop
' enabl e ' al l ow
' t he f ol l owi ng code i s execut ed when t he t i mer r ol l s over Ti m0_i sr : Pr i nt " * " ; Ret ur n ') End
TIMER1
Untuk dapat menjalankan Timer1 maka kita harus melakukan konfigurasi dulu dengan menuliskan:
Syntax CONFIG TIMER1 = COUNTER | TIMER | PWM , EDGE=RISING | FALLING , PRESCALE= 1|8|64|256|1024 , NOISE CANCEL=0 |1, CAPTURE EDGE = RISING | FALLING , CLEAR TIMER = 1|0, COMPARE A = CLEAR | SET | TOGGLE I DISCONNECT , COMPARE B = CLEAR | SET | TOGGLE I DISCONNECT ,
Aplikasi Mikrokontroler
59
PWM = 8 | 9 10 , COMPARE A PWM = CLEAR UP| CLEAR DOWN | DISCONNECT COMPARE B PWM = CLEAR UP| CLEAR DOWN | DISCONNECT Remarks The TIMER1 is a 16 bit counter. See the hardware description of TIMER1. It depends on the chip if COMPARE B is available or not. Some chips even have a COMARE C. The syntax shown above must be on one line. Not all the options need to be selected. Here is the effect of the various options. EDGE You can select whether the TIMER will count on the falling or rising edge. Only for COUNTER mode. CAPTURE EDGE
You can choose to capture the TIMER registers to the INPUT CAPTURE registers With the CAPTURE EDGE = FALLING/RISING, you can specify to capture on the falling or rising edge of pin ICP
NOISE CANCELING To allow noise canceling you can provide a value of 1. PRESCALE
The TIMER is connected to the system clock in this case. You can select the division of the system clock with this parameter. Valid values are 1 , 8, 64, 256 or 1024
The TIMER1 also has two compare registers A and B When the timer value matches a compare register, an action can be performed COMPARE A The action can be: SET will set the OC1X pin CLEAR will clear the OC1X pin TOGGLE will toggle the OC1X pin DISCONNECT will disconnect the TIMER from output pin OC1X And the TIMER can be used in PWM mode. You have the choice between 8, 9 or 10 bit PWM mode Also you can specify if the counter must count UP or down after a match to the compare registers Note that there are two compare registers A and B PWM
Can be 8, 9 or 10.
COMPARE A PWM
PWM compare mode. Can be CLEAR UP or CLEAR DOWN
Aplikasi Mikrokontroler
60
Using COMPARE A, COMPARE B, COMPARE A PWM or COMPARE B PWM wi ll set the corresponding pin for output. When this is not wanted you can use the alternative NO_OUTPUT version that will not alter the output pin. For example : COMPARE A NO_OUTPUT , COMPARE A PWM NO_OUTPUT Contoh penggunaan Timer1
$regfile = "m8535.dat" Dim W As Word
' The TI MER1 i s a ver sat i l e 16 bi t TI MER. ' Thi s exampl e shows how t o conf i gur e t he TI MER ' Fi r st l i ke TI MER0 , i t can be set t o act as a TI MER or COUNTER ' Let s conf i gur e i t as a TI MER t hat means t hat i t wi l l count and t hat ' t he i nput i s pr ovi ded by t he i nt er nal cl ock. ' The i nt er nal cl ock can be di vi ded by 1, 8, 64, 256 or 1024 Config Timer1 = Timer , Prescal e = 1024 ' You can r ead or wr i t e t o t he t i mer wi t h t he COUNTER1 or TI MER1 var i abl e W = Timer1 Timer1 = W ' To use i t as a COUNTER, you can choose on whi ch edge i t i s t r i ger eed Config Timer1 = Counter , Edge = Fal l i ng , Prescal e = 1 ' Conf i g Ti mer 1 = Count er , Edge = Ri si ng ' Al so you can choose t o capt ur e t he TI MER r egi st ers t o t he I NPUT CAPTURE r egi st er s ' Wi t h t he CAPTURE EDGE = , you can speci f y t o capt ur e on t he f al l i ng or r i si ng edge of ' pi n I CP Config Timer1 = Counter , Edge = Fal l i ng , Capt ur e Edge = Fal l i ng , Prescal e = 1024 ' Conf i g Ti mer 1 = Count er , Edge = Fal l i ng , Capt ur e Edge = Ri s i ng ' To al l ow noi se cancel i ng you can al so pr ovi de : Config Timer1 = Counter , Edge = Fal l i ng , Capt ur e Edge = Fal l i ng , Noi se Cancel = 1 , Prescal e = 1 ' t o r ead t he i nput capt ur e r egi st er : W = Capture1 ' t o wr i t e t o t he capt ur e r egi st er : Capture1 = W
Aplikasi Mikrokontroler
61
' The TI MER al so has t wo compar e r egi st er s A and B ' When t he t i mer val ue mat ches a compar e r egi st er , an act i on can be per f or med Config Timer1 = Counter , Edge = Fal l i ng , Compar e A = Set , Compar e B = Toggle , , Cl ear Timer = 1 ' SET , wi l l set t he OC1X pi n ' CLEAR, wi l l cl ear t he OC1X pi n ' TOGGLE, wi l l t oggl e t he OC1X pi n ' DI SCONNECT, wi l l di sconnect t he TI MER f r om out put pi n OC1X ' CLEAR TI MER wi l l cl ear t he t i mer on a compar e A mat ch ' To r ead wr i t e t he compar e r egi st er s, you can use t he COMPARE1A and COMPARE1B var i abl es Compare1a = W W = Compare1a ' And t he TI MER can be used i n PWM mode ' You have t he choi ce bet ween 8, 9 or 10 bi t PWM mode ' Al so you can speci f y i f t he count er must count UP or down af t er a mat ch ' t o t he compar e r egi st er s ' Not e t hat t her e ar e t wo compar e r egi st er s A and B Config Timer1 = Pwm , Pwm = 8 , Compar e A Pwm = Cl ear Up , Compar e B Pwm = Cl ear Down , Prescal e = 1 ' t o set t he PWM r egi st er s, j ust assi gn a val ue t o t he compar e A and B r egi st er s Compare1a = 100 Compare1b = 200 ' Or f or bet t er r eadi ng : Pwm1a = 100 Pwm1b = 200 End
TIMER2 Syntax for the 8535 CONFIG TIMER2 = TIMER | PWM , ASYNC=ON |OFF, PRESCALE = 1 | 8 | 32 | 64 | 128 | 256 | 1024 , COMPARE = CLEAR | SET | TOGGLE I DISCONNECT , PWM = ON | OFF , COMPARE PWM = CLEAR UP| CLEAR DOWN | DISCONNECT , CLEAR TIMER = 1|0 Syntax for the M103 CONFIG TIMER2 = COUNTER| TIMER | PWM , EDGE= FALLING |RISING,
Aplikasi Mikrokontroler
62
PRESCALE = 1 | 8 | 64 | 256 | 1024 , COMPARE = CLEAR | SET | TOGGLE I DISCONNECT , PWM = ON | OFF , COMPARE PWM = CLEAR UP| CLEAR DOWN | DISCONNECT , CLEAR TIMER = 1|0 Remarks The TIMER2 is an 8 bit counter. It depends on the chip if it can work as a counter or not. The syntax shown above must be on one line. Not all the options need to be selected. Here is the effect of the various options. EDGE You can select whether the TIMER will count on the falling or rising edge. Only for COUNTER mode.
PRESCALE
The TIMER is connected to the system clock in this case. You can select the division of the system clock with this parameter. Valid values are 1 , 8, 64, 256 or 1024 or 1 , 8, 32 , 64 , 256 or 1024 for the M103
The TIMER2 also has a compare registers When the timer value matches a compare register, an action can be performed COMPARE The action can be: SET will set the OC2 pin CLEAR will clear the OC2 pin TOGGLE will toggle the OC2 pin DISCONNECT will disconnect the TIMER from output pin OC2 And the TIMER can be used in 8 bit PWM mode You can specify if the counter must count UP or down after a match to the compare registers COMPARE PWM
PWM compare mode. Can be CLEAR UP or CLEAR DOWN
Example Dim W As Byte Config Timer2 = Timer , ASYNC = 1 , Prescale = 128 On TIMER2 Myisr ENABLE INTERRUPTS ENABLE TIMER2
Aplikasi Mikrokontroler
63
DO LOOP MYISR: 'get here every second with a 32768 Hz xtal RETURN 'You can read or write to the timer with the COUNTER2 or TIMER2 variable W = Timer2 Timer2 = W
III.
IV.
ALAT DAN KOMPONEN
1. Protoboard
1 buah
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
6. Kabel kaku warna lain
secukupnya
7. LCD 2x20 karakter dengan tipe pin 1x16
1 buah
8. Saklar Push-Button
1 buah
9. LED
1 buah
10. R 330 Ohm
1 buah
LANGKAH PERCOBAAN
-Rangkailah skema berikut diatas protoboard:
Aplikasi Mikrokontroler
64
U2 S1
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9 12 13
PB0( XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3( AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET XTAL2 XTAL1
VCC AVCC AREF GND GND
40 39 38 37 36 35 34 33
R1
22 23 24 25 26 27 28 29
Res2 PC0 1K PC1 PC2 PC3 PC4 PC5 PC6 PC7
10 30 32 31 11
GND
SW-PB
D1 GND LED1
) ) 4 5 n ) n i 6 i p n p ( ( i p S W R / ( R E
+5
+5
10K Trimpot1 GND +5
GND
) ) ) ) 1 2 3 4 1 1 1 1 n i n i n i n i p ( p ( p ( p GND ( 4 5 6 7 +5 D D D D
ATmega32-16PI
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 1 1 1 1 1 1 1
LCD
GAMBAR 35: SKEMA PERCOBAAN TIMER
-Buatlah program berikut untuk Timer0, Timer1, Timer2, Counter, Interrupt0, Interrupt1 dengan mengacu pada program contoh seperti yang telah diberikan di Landasan Teori.
V.
PERTANYAAN
-Sebutkan masing-masing aplikasi dari Timer, Counter, Interrupt pada rangkaian di kehidupan kita sehari-hari.
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
-Siapkan Alat dan Komponen yang diperlukan
Aplikasi Mikrokontroler
65
-Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini. -Pelajari tentang hardware Timer0, Timer1, Timer2 di datasheet Atmega8535 -Pelajari fungsi Counter, Interrupt
Aplikasi Mikrokontroler
66
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
67
Modul 9 PWM
I.
TUJUAN PRAKTIKUM
- Mempelajari prinsip kerja PWM. - Mempelajari kegunaan PWM. - Mempelajari cara mengkonfigurasi PWM dalam program. - Membuat program sederhana untuk membangkitkan sinyal PWM. - Mengamati sinyal PWM dengan Oscilloscope. - Membuat aplikasi pengaturan kecepatan putar motor dengan PWM. - Membuat aplikasi lain berbasis PWM.
II.
LANDASAN TEORI
PWM (Pulse Width Modulation) adalah suatu sarana yang dimiliki Atmega8535 untuk dapat mengeluarkan sinyal berbentuk PWM ke suatu Port. PWM bersifat independen. Atmega8535 memiliki 2 buah port PWM yaitu pada PD4 (OC1B) dan PD5 (OC1A). Sinyal PWM adalah suatu sinyal yang pulsa positifnya (lebar pulsanya) dapat diatur panjang pendeknya pada suatu perioda yang tetap oleh program. Lebar pulsa yang dapat diatur ini memungkinkan kita dapat mengontrol sesuatu di luar mikrokontroler hanya dengan menggunakan 1 bit jalur data misalnya untuk mengontrol kecepatan putar suatu motor, mengubah data digital ke analog (DAC) dan lain-lain. Untuk dapat menggunakan PWM maka dia perlu dikonfigurasi. Berikut dijelaskan cara mengkonfigurasinya.
Syntax CONFIG TIMER1 = COUNTER | TIMER | PWM , EDGE=RISING | FALLING , PRESCALE= 1|8|64|256|1024 , NOISE CANCEL=0 |1, CAPTURE EDGE = RISING | FALLING , CLEAR TIMER = 1|0,
Aplikasi Mikrokontroler
68
COMPARE A = CLEAR | SET | TOGGLE I DISCONNECT , COMPARE B = CLEAR | SET | TOGGLE I DISCONNECT , PWM = 8 | 9 10 , COMPARE A PWM = CLEAR UP| CLEAR DOWN | DISCONNECT COMPARE B PWM = CLEAR UP| CLEAR DOWN | DISCONNECT Remarks The TIMER1 is a 16 bit counter. See the hardware description of TIMER1. It depends on the chip if COMPARE B is available or not. Some chips even have a COMARE C. The syntax shown above must be on one line. Not all the options need to be selected. Here is the effect of the various options. EDGE You can select whether the TIMER will count on the falling or rising edge. Only for COUNTER mode. CAPTURE EDGE You can choose to capture the TIMER registers to the INPUT CAPTURE registers With the CAPTURE EDGE = FALLING/RISING, you can specify to capture on the falling or rising edge of pin ICP NOISE CANCELING
To allow noise canceling you can provide a value of 1.
PRESCALE
The TIMER is connected to the system clock in this case. You can select the division of the system clock with this parameter. Valid values are 1 , 8, 64, 256 or 1024
The TIMER1 also has two compare registers A and B When the timer value matches a compare register, an action can be performed COMPARE A The action can be: SET will set the OC1X pin CLEAR will clear the OC1X pin TOGGLE will toggle the OC1X pin DISCONNECT will disconnect the TIMER from output pin OC1X And the TIMER can be used in PWM mode. You have the choice between 8, 9 or 10 bit PWM mode Also you can specify if the counter must count UP or down after a match to the compare registers
Aplikasi Mikrokontroler
69
Note that there are two compare registers A and B PWM
Can be 8, 9 or 10.
COMPARE A PWM
PWM compare mode. Can be CLEAR UP or CLEAR DOWN
Using COMPARE A, COMPARE B, COMPARE A PWM or COMPARE B PWM will set the corresponding pin for output. When this is not wanted you can use the alternative NO_OUTPUT version that will not alter the output pin. For example : COMPARE A NO_OUTPUT , COMPARE A PWM NO_OUTPUT Example $regfile = " 8515def . dat "
' s pec i f y
t he used mi cr o ' t he TI MER can be used i n PWM mode ' You have t he choi ce bet ween 8, 9 or 10 bi t PWM mode ' Al so you can speci f y i f t he count er must count UP or down af t er a mat ch ' t o t he compar e r egi st er s ' Not e t hat t her e ar e t wo compar e r egi st er s A and B ‘Config Timer1 = Pwm , Pwm = 8 , Compar e A Pwm = Cl ear Up , ‘ Compar e B
Pwm = Cl ear Down , Pr escal e = 1 Conf i g Ti mer 1 = Pwm , Pwm = 10 , Pr escal e = 1 , Compar e A Pwm = Cl ear Down , Compar e B Pwm = Cl ear Down ' f ast pwm 10 bi t , i nver t i ng mode ' t o set t he PWM r egi st er s, j ust assi gn a val ue t o t he compare A and B r e gi s t er s Compare1a = 100 Compare1b = 200 ' Or f or bet t er r eadi ng : Pwm1a = 100 Pwm1b = 200 End
III.
ALAT DAN KOMPONEN 1. Protoboard
1 buah
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
6. Kabel kaku warna lain
secukupnya
7. LCD 2x20 karakter dengan tipe pin 1x16
1 buah
Aplikasi Mikrokontroler
70
IV.
8. Motor DC kecil sejenis “Tamiya”
1 buah
9. Transistor BC108
1 buah
10. R 10 K Ohm 11. Trimpot Biru (Duduk) 100 KOhm
1 buah 1 buah
LANGKAH PERCOBAAN
-Rangkailah skema berikut diatas protoboard: +5 U2
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9
+5 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET XTAL2 XTAL1
VCC AVCC AREF GND GND
M B1
Motor
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29 10 30 32 31 11
R1 100K
GND
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 +5
) ) 4 5 n ) n i 6 i p n p ( ( i p S W R / ( R E
+5
10K Trimpot1 GND +5
GND
) ) ) ) 1 2 3 4 1 1 1 1 n i n i n i n i p ( p ( p ( p GND ( 4 5 6 7 +5 D D D D
ATmega32-16PI
Q1 BC108
R2
10K
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 1 1 1 1 1 1 1
LCD GND
GAMBAR 36: SKEMA PERCOBAAN PWM
Ikuti tata letak komponen yang diberikan pada gambar berikut, lalu kerjakan pengkabelannya (Wiring) sesuai dengan skema yang telah diberikan di atas.
Aplikasi Mikrokontroler
71
GAMBAR 37: TATA LETAK KOMPONEN APLIKASI PWM
Melihat Bentuk Sinyal PWM
- Buatlah program mengeluarkan sinyal PWM seperti yang telah dijelaskan di bagian Landasan Teori. - Tampilkan bentuk sinyalnya pada sebuah Osciloscope dan catat dan gambarlah.
-Tambahkan pada rangkaian sebuah Trimpot dan buatlah pengkabelannya sesuai skema. - Buatlah program pengubah nilai lebar pulsa PWM dan tampilkan di LCD. -Dengan mengatur Trimpot, lihat perubahan yang terjadi di Osciloscope dan catatlah.
Mengatur kecepatan putar motor
- Tambahkan sebuah Transistor BC108 dan sebuah R 10 K dan buatlah pengkabelannya sesuai dengan skema. - Buatlah program yang dapat mengubah kecepatan putar motor dengan menggunakan Trimpot dan menampilkan nilai PWMnya di LCD.
Aplikasi Mikrokontroler
72
V.
PERTANYAAN
-Mengapa kecepatan motor dapat berubah dengan berubahnya lebar pulsa PWM.
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
-Siapkan Alat dan Komponen yang diperlukan -Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini. -Pelajari tentang pengaturan kecepatan putar motor dengan PWM -Pelajari tentang konversi Digital ke Analog (DAC) dengan PWM
Aplikasi Mikrokontroler
73
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
74
Modul 10 UART
I.
TUJUAN PRAKTIKUM
-Mempelajari prinsip kerja UART sebagai sarana komunikasi data serial. -Mempelajari instruksi terkait dengan UART yaitu Print dan Inkey. -Mempelajari instruksi UART yang lainnya. -Mempelajari cara pengiriman dan penerimaan data serial. -Mencoba komunikasi satu arah dan dua arah.
II.
LANDASAN TEORI
Komunikasi serial adalah suatu sarana komunikasi satu jalur kabel dengan protokol serial. Protokol serial adalah suatu protokol sederhana dan sudah cukup lama digunakan sebelum protokol serial lain ada. Protokol serial dimulai dengan start bit dan diakhiri dengan stop bit. Start bit ditandai dengan turunnya pulsa ke level 0 (logika 0) dari posisi “idle”nya level 1 (logika 1). Stop bit ditandai dengan naiknya pulsa ke level 1 atau kembali ke posisi “idle”. Diantara Start bit dan Stop bit terdapat data 8 bit. Protokol serial mengharuskan pengirim dan penerima saling menyepakati suatu Baud rate (kecepatan transfer bit per detik) tertentu misalnya 9600 bps (bit per second). Bila tidak maka data yang dikirim tidak akan dikenali. Komunikasi serial disini menggunakan fasilitas UART (Universal Asynchronous Receiver Transmiter), sejenis peripheral khusus untuk menangani komunikasi serial. Bila menggunakan fasilitas ini maka kita harus menggunakan I/O khusus yaitu pin RXD (pin PD0) dan TXD (PD1) Instruksi yang terkait dengan UART di Bascom adalah Print, Inkey, Waitkey, Input, dan Inputhex. Pada percobaan ini hanya dibahas Print dan Inkey untuk mengirim dan menerima data. Instruksi komunikasi serial yang tidak terkait dengan UART misalnya SERIN dan SEROUT. Untuk chip Atmel yang memiliki 2 atau lebih UART maka kita akan menggunakan instruksi Config Serialout, Config Serialin, Open dan Close.
Aplikasi Mikrokontroler
75
Berikut adalah penjelasan tentang cara penggunaan instruksi Print dan Inkey.
Instruksi PRINT
Action Send output to the RS-232 port. Writes a string to a file. Syntax PRINT [#channel , ] var ; " constant" Remarks Var
The variable or constant to print.
You can use a semicolon (;) to print more than one variable at one line. When you end a line with a semicolon, no linefeed and carriage return will be added. The PRINT routine can be used when you have a RS-232 interface on your uP. The RS-232 interface can be connected to a serial communication port of your computer. This way you can use a terminal emulator as an output device. You can also use the build in terminal emulator. AVR-DOS The AVR-DOS file system also supports PRINT. But in that case, only strings can be written to disk. When you need to print to the second hardware UART, or to a software UART, you need to specify a channel : PRINT #1, "test" The channel must be opened first before you can print to it. Look at OPEN and CLOSE for more details about the optional channel. For the first hardware UART, there is no need to use channels. PRINT " test" will always use the first hardware UART.
Contoh Program:
$regfile = "m8535.dat"
speci f y t he used mi cr o $baud = 19200
' use
baud r at e Dim A As Byte , B1 As Byte , C As Integer , S As String * 4
A =1 Print "pr i nt var i abl e a " ; A Print
' new
l i ne
Aplikasi Mikrokontroler
76
Print " Text t o pr i nt . "
' const ant t o pr i nt B1 = 10 Print Hex( b1)
' pr i nt
i n hexa not at i on C = &HA000 val ue t o c% Print Hex( c) i n hex not at i on Print C i n deci mal not at i on
' assi gn ' pr i nt ' pr i nt
C = - 32000 Print C Print Hex( c) Rem Not e That I nt eger s Range Fr om - 32767 To 32768 Print " You can al so use mul t i pl e" _
; "l i nes usi ng _" Print " us e i t f or l ong l i nes " ' From ver si on 1. 11. 6. 4 : A = &B1010_0111 Print Bin( a) S = " 1001" A = Binval( s) Print A
' 9 dec
End
Instruksi INKEY
Action Returns the ASCII value of the first character in the serial input buffer. Syntax var = INKEY() var = INKEY(#channel) Remarks Var Channel
Byte, Integer, Word, Long or String variable. A constant number that identifies the opened channel if software UART mode
If there is no character waiting, a zero will be returned. Use the IsCharWaiting() function to check if there is a byte waiting. The INKEY routine can be used when you have a RS-232 interface on your uP. The RS-232 interface can be connected to a comport of your computer.
Aplikasi Mikrokontroler
77
As zero(0) will be returned when no character is waiting, the usage i s limited when the value of 0 is used in the serial transmission. You can not make a difference between a byte with the value 0 and the case where no data is available. In that case you can use IsCharwaiting to deterimine if there is a byte waiting.
Contoh Program: $regfile = "m8535.dat"
speci f y t he used mi cr o $baud = 19200
' use
baud r at e Dim A As Byte , S As String * 2 Do A = Inkey( )
' get
as ci i val ue f r o m s er i al por t ' s = I nkey( ) If A > 0 Then somet hi ng Print " ASCI I code " ; A ; " f r om ser i al "
' we got
End If Loop Until A = 27
' unt i l
ESC i s pr essed A = Waitkey( ) f or a key ' s = wai t key( ) Print Chr( a)
' wai t
' wai t unt i l ESC i s pr essed Do Loop Until Inkey( ) = 27
' When you need t o r ecei ve bi nar y dat a and t he bi bar y val ue 0 , ' you can use t he I Schar wai t i ng( ) f unct i on. ' Thi s wi l l r et ur n 1 when t her e i s a char wai t i ng and 0 i f t her e i s no char wai t i ng. ' You can get t he char wi t h i nkey or wai t key t hen. End
III.
ALAT DAN KOMPONEN
1. Protoboard
1 buah
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
Aplikasi Mikrokontroler
78
IV.
6. Kabel kaku warna lain
secukupnya
7. LCD 2x20 karakter dengan tipe pin 1x16
1 buah
8. Saklar DIP-SW8 (16 pin)
1 buah
LANGKAH PERCOBAAN
Pada percobaan ini diperlukan 2 modul protoboard dari 2 kelompok praktikan. Kedua kelompok mencoba 2 jenis komunikasi serial yaitu komunikasi 1 arah dan komunikasi 2 arah, Pada komunikasi 1 arah maka kelompok A mencoba sebagai pengirim sedangkan kelompok B mencoba sebagai penerima. Selanjutnya kedua kelompok mencoba komunikasi 2 arah. Pada komunikasi ini masing-maing kelompok bertindak sebagai Pengirim dan Penerima seperti terlihat pada gambar berikut..
GAMBAR 38: KONEKSI ANTAR 2 PERANGKAT
-Untuk setiap kelompok, rangkailah skema berikut diatas protoboard:
Aplikasi Mikrokontroler
79
U2 S1
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND P3 Ke TXDdan RXD Mikrokontroler lain
3 2 1
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9
Header 3 GND
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET
12 13
VCC AVCC AREF
XTAL2 XTAL1
GND GND
40 39 38 37 36 35 34 33
1 2 3 4 5 6 7 8
22 23 24 25 26 27 28 29
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
10 30 32
SW-DIP8 16 15 14 13 12 11 10 9
+5
31 11
GND GND GND GND GND GND GND GND
) ) 4 5 n ) n i 6 i p n p ( ( i p S W R / ( R E
+5
10K Trimpot1 GND +5
GND
) ) ) ) 1 2 3 4 1 1 1 1 n i n i n i n i p ( p ( p ( p GND ( 4 5 6 7 +5 D D D D
ATmega32-16PI
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 1 1 1 1 1 1 1
LCD
GAMBAR 39: SKEMA PERCOBAAN UART
a) Komunikasi satu arah
-Untuk kelompok A jalankan contoh program pengirim menggunakan instruksi PRINT tersebut di atas sedangkan untuk kelompok B jalankan program penerima menggunakan instruksi INKEY seperti contoh yang telah diberikan diatas. -modifikasilah program tersebut hingga kita bisa mengirim data 8 bit dari DIPSW8 dan data yang dikirim adalah 8 bit kode karakter ASCII
b) Komunikasi dua arah
Modifikasilah contoh program diatas sedemikian sehingga bila kelompak A mengirim karakter A maka kelompok B menjawab dengan mengirim karakter B. Data diambil dari DIPSW8.
V.
PERTANYAAN
Apa yang dimaksud dengan kode ASCII?
Aplikasi Mikrokontroler
80
VI.
KESIMPULAN Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN -Siapkan Alat dan Komponen yang diperlukan -Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini. -Pelajarilah Tabel ASCII dan carilah Tabel tersebut di Internet
Aplikasi Mikrokontroler
81
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
82
Modul 11 Aplikasi Komunikasi Data Berbasis Infra Merah
I.
TUJUAN PRAKTIKUM
-Mempelajari komponen pengirim dan penerima cahaya Infra Merah. -Mempelajari prinsip kerja LED Infra Merah dan modul penerima Infra Merah 38 Khz. -Mengenal teknik modulasi dan demodulasi dalam pemancaran-penerimaan cahaya Infra Merah. -Membuat aplikasi pengiriman dan penerimaan data dengan media Infra Merah. -Menggabungkan protokol komunikasi serial RS232 dalam proses pengiriman dan penerimaan data.
II.
LANDASAN TEORI
Dalam bidang Remote Control peralatan elektronik rumah tangga sering digunakan media Infra Merah sebagai sarana pengiriman dan penerimaan data seperti misalnya pada Televisi, Sound sistem, AC, dan lain-lain. Pada dasarnya semua peralatan tersebut menggunakan sebuah komponen modul penerima Infra Merah khusus berukuran sebesar sebuah Transistor. Walaupun cukup kecil namun di dalamnya sudah terdapat phototransistor, filter cahaya, bagian pengkondisi sinyal, dan bagian demodulator. Modul tersebut hanya memiliki 3 kaki yaitu input tegangan +5V dan Ground serta pin Output seperti terlihat pada gambar sebelah kiri bawah berikut. Sedangkan keterangan kaki-kakinya ditunjukkan pada gambar sebelah kanan bawah berikut. Untuk produk dan merk berbeda biasanya + dan Groundnya bisa terbalik sedangkan outputnya biasanya berada disebelah kiri dari tampak depan. Biasanya saat membeli kita bisa meminta informasi tentang konfigurasi kaki-kakinya.
Aplikasi Mikrokontroler
83
GAMBAR 40: BENTUK MODUL PENERIMA IR 38 KHZ (KIRI) DAN KONFIGURASI KAKI-KAKINYA (KANAN)
Di pasar komponen elektronika modul tersebut dapat kita jumpai dengan harga sangat murah antara Rp. 3000 s/d 5000. Secara mudah prinsip kerja dari modul ini adalah sebagai berikut. Saat modul diberi tegangan 5V maka di output akan ada tegangan “idle” sebesar 5V atau ke logika 1. Bila modul ini tersorot cahaya Infra Merah yang dikedipkan pada frekuensi 38 Khz maka tegangan output akan turun mendekati 0V atau ke logika 0. Bila kemudian frekuensi 38 Khz tersebut dimodulasi oleh data pada frekuensi sekitar 1 KHz maka yang muncul di output adalah data itu sendiri. Dengan mengetahui cara kerja modul penerima Infra Merah tersebut maka kita dapat
dengan
mudah
merancang
bagian
pengirimnya
menggunakan
mikrokontroler. Untuk itu pertama-tama kita harus memodifikasi program LED berkedip yang pernah kita buat sebelumnya. Kita harus menghitung berapa nilai delay yang diperlukan untuk membuat LED berkedip pada 38 KHz. Dengan rumus T = 1/F dimana T: perioda dan F: Frekuensi, maka T = 1/38 KHz = 26,3 uS atau dibulatkan menjadi 26 uS. Satu perioda 26 uS adalah terdiri dari pulsa naik dan pulsa turun masing-masing sebesar 13 uS. Dengan demikian maka kita dapat membuat program LED berkedip kita pada 38 KHz sebagai berikut:
Do PortX = 1 Waitus 13 PortX = 0 Waitus 13
‘instruksi untuk mengeluarkan logika 1 pada PortX ‘instruksi untuk menunda sebesar 13 uS ‘instruksi untuk mengeluarkan logika 1 pada PortX
Aplikasi Mikrokontroler
84
Loop
Bila LED biasa kita ganti dengan LED Infra Merah maka modul penerima remote control tersebut sudah dapat merespon pancaran cahaya yang kita kirimkan. Untuk selanjutnya kita ingin mengirim data dengan kecepatan transfer disesuaikan dengan format protokol serial misalnya pada 4800 bps. 4800 bps artinya 4800 bit per detik atau 1 bit = 1/4800 detik = 208,333 uS. Ini berarti dalam 208,333 uS terdapat 208,333 uS/26,3 uS = 7,921 atau dibulatkan ke 8 pulsa Infra Merah. Dengan demikian maka program berikut dapat digunakan untuk mengirimkan bit “1” pada kecepatan transfer 4800 bps:
For I=0 To 7 PortX = 1 Waitus 13 PortX = 0 Waitus 13 Next Bila kita ingin mengirim data 1010 maka program menjadi
For I=0 To 7 PortX = 1 Waitus 13 PortX = 0 Waitus 13 Next PortX = 0 Waitus 208 For I=0 To 7 PortX = 1 Waitus 13 PortX = 0 Waitus 13 Next PortX = 0 Waitus 208
Aplikasi Mikrokontroler
85
Bila kita ingin mengirim data dalam format serial 10 bit (1 start bit + 8 data + 1 stop bit) dengan format protokol serial maka program di atas dapat disesuaikan.
III.
IV.
ALAT DAN KOMPONEN
1. Protoboard
1 buah
2. Downloader
1 buah
3. Mikrokontroler ATMega8535
1 buah
4. Kabel kaku warna Merah
secukupnya
5. Kabel kaku warna Hitam
secukupnya
6. Kabel kaku warna lain
secukupnya
7. LCD 2x20 karakter dengan tipe pin 1x16
1 buah
8. Modul TSOP penerima IR 38 KHz
1 buah
9. LED IR (Infra Red)
1 buah
10. R 330 Ohm
1 buah
LANGKAH PERCOBAAN
Pada percobaan ini diperlukan 2 modul protoboard dari 2 kelompok praktikan. Kelompok A membuat bagian pengirim dan Kelompok B membuat bagian penerima.
-Untuk setiap kelompok, rangkailah skema berikut diatas protoboard:
Aplikasi Mikrokontroler
86
U2 1 2 3 4 5 6 7 8
P1 6 5 4 3 2 1
MOSI MISO SCK RESET +5v
Dwloader GND P4 3 2 1
GND
14 15 16 17 18 19 20 21
+5
9
TSOP IR38Khz R1 +5
12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK)
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7)
PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2)
PC0 (SCL) PC1 (SDA) PC2 PC3 PC4 PC5 PC6 (TOSC1) PC7 (TOSC2)
RESET XTAL2 XTAL1
VCC AVCC AREF GND GND
330
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29 10 30 32
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 +5
31 11
) ) 4 5 n ) n i 6 i p n p ( ( i p S W R / ( R E
+5
10K Trimpot1
LED IR
GND +5
GND
) ) ) ) 1 2 3 4 1 1 1 1 n i n i n i n i p ( p ( p ( p GND ( 4 5 6 7 +5 D D D D
ATmega32-16PI
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 1 1 1 1 1 1 1
LCD
GAMBAR 41: SKEMA PERCOBAAN KOMUNIKASI SERIAL MENGGUNAKAN INFRA MERAH
Tata letak komponen adalah sebagai berikut. Silahkan pengkabelannya disesuaikan dengan skema.
Atmega8535
Jumper penyalur catudaya 5V dari downloder
Header Downloader (tampak atas)
GAMBAR 42: TATA LETAK KOMPONEN APLIKASI KOMUNIKASI SERIAL INFRA MERAH
c) Komunikasi satu arah -Untuk kelompok A jalankan contoh program pengirim pada teori pendahuluan -Sedangkan untuk kelompok B jalankan program penerima menggunakan instruksi INKEY seperti contoh yang telah diberikan diatas.
d) Komunikasi dua arah
Aplikasi Mikrokontroler
87
-Untuk masing-masing kelompok membuat program pengirim maupun penerima. Kelompok A mengirim karakter A dan kelompok B menerima karakter tersebut, bila sesuai maka kelompok B mengirim karakter B. Selanjutnya kelompok A menerima karakter B, bila sesuai maka Kelompok A mengirim kembali karakter B dan begitu seterusnya.
V.
PERTANYAAN
-Apa yang dimaksud dengan Baud rate? -Sebutkan beberapa kecepatan transfer data secara berurutan mulai dari yang terkecil sampai 115 KBps.
VI.
KESIMPULAN
Tuliskan kesimpulan dari percobaan ini.
VII.
TUGAS PENDAHULUAN
-Siapkan Alat dan Komponen yang diperlukan -Siapkan terlebih dahulu sebelum praktikum, semua program yang diminta pada Jobsheet ini.
Aplikasi Mikrokontroler
88
VIII.
JAWABAN PERTANYAAN
Aplikasi Mikrokontroler
89
Modul 12 PROYEK
I.
TUJUAN PRAKTIKUM
- Merancang suatu aplikasi lengkap menggunakan mikrokontroler. - Menerapkan sensor, aktuator dan mikrokontroler dalam perancangan. - Merancang PCB untuk aplikasi yang dibuat. - Membuat proposal Proyek. - Mengerjakan Proyek secara “Team Work”. - Membuat Laporan Akhir Proyek. - Mempresentasikan dan menjelaskan hasilnya dalam bentuk Seminar.
II.
LANDASAN TEORI
Suatu aplikasi mikrokontroler dapat dibentuk dari sensor, aktuator, keypad dan display untuk menjawab suatu permasalahan dalam kehidupan kita sehari-hari. Misalnya untuk permasalahan pengontrolan suhu suatu ruangan maka diperlukan sensor suhu, kipas sebagai aktuatornya, keypad sebagai masukan data dan display sebagai penampil data yang akan dikontrol. Setiap permasalahan memiliki sensor, aktuator dan algoritma program sendiri. Pada praktikum ini, mahasiswa dibagi dalam suatu kelompok yang terdiri dari 2 mahasiswa. Masing-masing kelompok menentukan aplikasinya masing-masing untuk direalisasikan. Aplikasi dari masing-masing kelompok tidak boleh sama diutamakan dengan penggunaan sensor yang berbeda. Setiap kelompok diberi waktu 4 minggu untuk menyelesaikan rancangannya. Diawal Project masing-masing kelompok mengajukan proposalnya yang telah terlebih dahulu di diskusikan dengan Dosen yang bersangkutan. Di akhir Project, setiap kelompok diwajibkan membuat laporan dan mempresentasikan hasil karyanya.
III.
ALAT DAN KOMPONEN
Aplikasi Mikrokontroler
90