Modul 4(jika keypad 8 ditekan maka tulisan lcd akan bergerak dari kanan ke kiri)

1. Tujuan[KEMBALI]

a. Mempelajari aplikasi output pada mikrokontroller PIC 16F877A
b. Mempelajari aplikasi input pada mikrokontroller PIC 16F877A
c. Mempelajari aplikasi I/O pada mikrokontroller PIC 16F877A

2. Alat dan Bahan[KEMBALI]

a. Module PIC 16F877A
b. LCD
c. Keypad

3. Teori Komponen[KEMBALI]

> Dasar Teori Mikrokontroler


Mikrokontroler PIC16F877A merupakan salah satu mikrokontroler dari keluarga PICmicro yang popular digunakan sekarang ini, mulai dari pemula hingga para profesional. Hal tersebut karena PIC16F877A sangat praktis dan menggunakan teknologi FLASH memori sehingga dapat di program-hapus hingga seribu kali. Keunggulan mikrokontroler jenis RISC ini dibanding dengan mikrokontroler 8-bit lain dikelasnya terutama terletak pada kecepatan dan kompresi kodenya. Selain itu, PIC116F877A juga tergolong praktis dan ringkas karena memiliki kemasan 40 pin dengan 33 jalur I/O.

Anggota keluarga PICmicro buatan Microchip Inc. cukup banyak. Ada yang menggunakan FLASH memori dan ada pula yang jenis OTP (One Time Programmable). Mikrontroler dari keluarga PICmicro yang popular, antara lain PIC2C08, PIC16C54, PIC16F84. Agar lebih mengenal PIC16F877A, berikut ini diberikan fitur-fitur penting yang terdapat pada PIC16F877A.


 
MIkrokontroller PIC16F877A

fitur fitur PIC 
  1. RISC CPU yang mempunyai performance tinggi
  2. Hanya 35 jenis instruksi yang perlu dipelajari
  3. Semua instrujsi mempunyai siklus tunggal kecuali untuk instruksi percabangan.
  4. Kecepatan Instruksi: DC – 20 MHz clock input DC – 200 ns instruction cycle
  5. 8K x 14 words of FLASH Program Memory, 368 x 8 bytes of Data Memory (RAM) , 256 x 8 bytes of EEPROM Data Memory
  6. Pinout compatible dengan PIC16C73B/74B/76/77
  7. Interrupt (14 sumber interrupt)
  8. Delapan level hardware stack
  9. Direct, indirect dan relative addressing modes
  10. Power-on Reset (POR)
  11. Power-up Timer (PWRT) dan Oscillator Start-up Timer (OST)
  12. Watchdog Timer (WDT) dengan on-chip RC oscillator
  13. Programmable code protection dan Fully static design
  14. Power saving SLEEP mode
  15. Selectable oscillator options
  16. Low power, high speed CMOS FLASH/EEPROM technology
  17. In-Circuit Serial Programming (ICSP) hanya dengan dua pin
  18. Single 5V In-Circuit Serial Programming capability
  19. Processor read/write access to program memory
  20. Wide operating voltage range: 2.0V to 5.5V
  21. High Sink/Source Current: 25 mA
  22. Commercial, Industrial and Extended temperature ranges


Deskripsi pin pin

Mikrokontroler PIC16F877A di produksi dalam kemasan 40 pin PDIP (Plastik Dual In Line) maupun 40 pin SO (Small Outline). Namun yang banyak terdapat dipasaran adalah kemasan PDIP. Pin-pin untuk I/O sebanyak 33 pin, yang terdiri atas 6 pada Port A, 8 pada Port B, 8 pada Port C, 8 pada Port D, 3 pada Port E. Ada pula beberapa Pin pada mikrokontroler yang memiliki fungsi ganda.

 

Organisasi Memori
Memori pada PIC16F877A dapat dipisahkan menjadi dua blok memori, satu untuk memori program dan satu untuk memori data. Memori EEPROM dan register GPR didalam RAM merupakan memori data, sedangkan memori FLASH merupakan memori program.

Prosedur Percobaan 

1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip k78erja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply


> Dasar Teori LCD

LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator, ataupun layar komputer. Pada bab ini aplikasi  LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat. Adapun fitur yang disajikan dalam LCD ini adalah :
a.      Terdiri dari 16 karakter dan 2 baris.
b.      Mempunyai 192 karakter tersimpan.
c.       Terdapat karakter generator terprogram.
d.      Dapat dialamati dengan mode 4-bit dan 8-bit.
e.       Dilengkapi dengan back light.
 
Gambar LCD 2*16

Pin Deskripsi
1 Ground
2 Vcc
3 Pengatur kontras
4 “RS” Instruction/Register Select
5 “R/W” Read/Write LCD Registers
6 “EN” Enable
7-14 Data I/O Pins
15 Vcc
16 Ground
 
Cara kerja LCD 2*16 secara umum

Pada aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat  pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu. Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.
Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” pada layar maka RS harus diset ke “1”. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high “1”, maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.

>Dasar Teori Rangkaian Clock

Rangakaian clock berfungsi untuk pembentuk/membangkitkan pulsa/gelombang kotak secara terus-menerus dan rangkaian ini tidak mempunyai kondisi stabil/setimbang. Rangkaian clock termasuk golongan Astabil Multivibrator dengan IC 555. Output rangkaian clock digunakan untuk input rangkaian-rangkaian logika yang sekuensial (berhubungan dengan waktu). Yang termasuk rangkaian logika sekuensial contohnya: Flip-Flop, Shift Register, dan Counter. Adapun fungsi rangkaian clock yaitu, untuk mengatur jalannya data dalam penggeseran ke kanan atau ke kiri, maupun dalam perhitungan/pencacahan bilangan biner. Yang dimaksud rangkaian Astabil Multivribator Adalah multivribator yang tidak stabil tegangan output-nya (tegangan pengeluarannya berubah-ubah) tanpa adanya sinyal masukan yang diberikan. Rangakaian clock dengan IC 555 besrta pulsa-pulsa pada pin 3dan pin 6 ditunjukkan pada gambar ini







Pada gambar rangkaian clock diatas akan dijabarkan mengenai cara kerja dari sistem rangkaian tersebut. Pada simbol C akan naik melebihi kira-kira 2/3 Vcc jika ada tegangan yang masuk ke dalam rangkaian tersebut. Dan ada penggunaan rumus tersendiri jika Kapasitor C mulai dikosongkan dengan menggunakan komponen Rb . Rumus yang terjadi adalah :

T : Rb x C



Keluaran atau output akan naik dan juga tinggi jika tegangan di Kapasitor (C) mulai turun hingga mencapai rumus ( Vcc/3). Komponen IC 555 memiliki besar tegangan yang akan naik dan turun secara eksponensial. Gelombang segi empat menjadi bentuk dari keluaran atau output komponan IC 555 ini. Bentuk keluaran yang tidak simetri ini disebabkan waktu yang dibutuhkan untuk pengisian lebih lama dibandingkan dengan waktu untuk pengosongan komponen ini. Dan keadaan keluaran yang rendah lebih cepat dibandingkan dengan kadar keluaran yang lebih tinggi. Dan perhitungan untuk menentukan asimetris dari keluaran atau output rangkaian clock menggunakan rumus :

W : 0.693 (RA + Rb) * C

T : 0.693 * Rb * C

T : W + t
Dan W adalah lebar pulsa sementara t adalah waktu atau lama periode dengan besarnya frekuensi dihitung F : 1/T.
>Dasar Teori Keypad 
Keypad adalah bagian penting dari suatu perangkat elektronika yang membutuhkan interaksi manusia. Keypad berfungsi sebagai interface antara perangkat (mesin) elektronik dengan manusia 
atau dikenal dengan istilah HMI (Human Machine Interface). Matrix keypad 4×4 merupakan salah satu contoh keypad yang dapat digunakan untuk berkomunikasi antara manusia dengan mikrokontroler. Konfigurasi keypad dengan susunan bentuk matrix ini bertujuan untuk penghematan port mikrokontroler karena jumlah key (tombol) yang dibutuhkan banyak pada suatu sistem dengan mikrokontroler. Konstruksi matrix keypad 4×4 untuk mikrokontroler dapat dibuat seperti pada gambar berikut:

Proses scaning untuk membaca penekanan tombol pada matrix keypad 4×4 untuk mikrokontroler diatas dilakukan secara bertahap kolom demi kolom dari kolom pertama sampai kolom ke 4 dan baris pertama hingga baris ke 4. Misal kita asumsikan keypad aktif LOW (semua line kolom dan baris dipasang resistor pull-up) dan dihubungkan ke port mikrokontrolr dengan jalur kolom adalah jalur input dan jalur baris adalah jalur output maka proses scaning matrix keypad 4×4 diatas dapat dituliskan sebagai berikut.

·         Mengirimkan logika Low untuk kolom 1 (Col1) dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang di tekan maka data pembacaan baris akan 1111.

·         Mengirimkan logika Low untuk kolom 2 (Col2) dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang di tekan maka data pembacaan baris akan 1111.

·         Mengirimkan logika Low untuk kolom 3 (Col3) dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang di tekan maka data pembacaan baris akan 1111.
Mengirimkan logika Low untuk kolom 4 (Col4) dan logika HIGH untuk kolom yang lain kemudian membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom pertama yang di tekan maka data pembacaan baris akan 1111.

4. Rankaian Simulasi[KEMBALI]

 

Prinsip kerja alat: Pada rangkaian di atas digunakan keypad sebagai input dan lcd sebagai output. Keypad terhubung PORT RD dan pin data lcd PORT RC2-RC5. Jika keypad 8 ditekan maka PORT RD1 dan PORT RD6 artinya harus high, maka akan ditampilkan tulisan dari kanan ke kiri.

5. Flowchart[KEMBALI]

6. Listing Program[KEMBALI]


7. Video[KEMBALI]


8. Link Download[KEMBALI]

File program
File video
File proteus
File html

0 comments:

Modul 2 (Jika switch 3 ditekan maka akan tampil tulisan "3" pada lcd dan motor berputar searah jarum jam)

1. Tujuan [kembali]

a. Mempelajari aplikasi output pada mikrokontroller Arduino
b. Mempelajari aplikasi input pada mikrokontroller Arduino
c. Mempelajari aplikasi I/O pada mikrokontroller Arduino

2. Alat dan Bahan [kembali]

a. ARDUINO 2560
b. LCD
c. Motor DC

3. Teori komponen [kembali]

a. Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan pada prkatikum ini adalah arduino mega yang menggunakan chip AVR ATmega 2560 yang memiliki fasilitas PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama modul atau alat lain dengan protocol yang berbeda-beda. Bahasa pemograman yang digunakan adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga lebih mudah dalam memprogramnya. Dalam memprogram arduino, kita bisa menggunakan serial komunikasi agar arduino dapat berhubungan dengan komputer ataupun aplikasi lain. Beberapa fitur dari Arduino Mega 2560 ini adalah :

    Microcontroller                                 ATmega2560
    Operating Voltage                             5V
    Input Voltage (recommended)           7-12V
    Input Voltage (limits)                         6-20V
    Digital I/O Pins                                 54 (of which 15 provide PWM output)
    Analog Input Pins                             16
    DC Current per I/O Pin                    20 mA
    DC Current for 3.3V Pin                  50 mA
    Flash Memory                                  256 KB of which 8 KB used by bootloader
    SRAM                                             8 KB
    EEPROM                                        4 KB
    Clock Speed                                    16 MHz

BAGIAN-BAGIAN DARI ARDUINO MEGA 2560
Soket USB
     Soket USB adalah soket untuk kabel USB yang disambungkan ke komputer atau laptop.
Berfungsi untuk mengirimkan program ke Arduino dan juga sebagai port komunikasi serial.
Input / Output Digital
     Input/Output Digital atau digital pin adalah pin-pin untuk menghubungkan Arduino dengan
komponen  atau  rangkaian  digital.  Pada  Arduino  Mega  terdapat  53  I/O  Digital  dimana  16
diantaranya dapat dijadikan sebagai output PWM
  
Input Analog
    Input Analog atau analog pin adalah pin-pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu, sensor cahaya, dsb.
Terdapat 16 input analog pada arduino mega 2560.

Pin POWER
     Pin-pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang dihubungkan dengan Arduino. Pada bagian catu daya ini terdapat juga pin Vin dan Reset.Vin digunakan untuk memberikan tegangan langsung kepada Arduino tanpa melalui tegangan USB atau adaptor.

Tombol RESET
     Reset adalah pin untuk memberikan sinyal reset melaui tombol atau rangkaian eksternal.

Jack Baterai/Adaptor
     Soket baterai  atau adaptor digunakan untuk menyuplai Arduino dengan tegangan  dari  baterai/adaptor 9V pada saat Arduino sedang tidak disambungkan ke komputer. Kalau Arduino sedang disambungkan ke komputer melalui USB, Arduino mendapatkan suplai tegangan dari USB, jadi tidak perlu memasang baterai/adaptor saat memprogram Arduino.

b. LCD

LCD dapat diprogram menggunakan mode 8-bit atau 4-bit. Mode 8-bit menggunakan 8-bit data (D0-D7) sedangkan mode 4-bit menggunakan 4-bit data (D4-D7). Pada halaman ini ditampilkan contoh pemrograman LCD 16x2 menggunakan mode 4-bit. Mode 4-bit memang sedikit lebih rumit dibanding mode 8-bit, akan tetapi dengan mode 4-bit kita akan menghemat 4 buah pin IO untuk keperluan yang lain. Berikut ini adalah skema antarmuka lcd 16x2:

LCD yang paling umum digunakan adalah LCD berukuran 2 baris x 16 kolom. Selain mudah diperoleh di pasaran dengan harga yang cukup murah, ukurannya sangat pas digunakan untuk kebanyakan aplikasi-aplikasi yang membutuhkan display, tidak terlalu kecil dan tidak terlalu besar. Interfacing LCD sangatlah mudah. Perhatikan gambar skematik di atas, kaki-kaki LCD nomor 1, 2, dan 3 adalah kaki VSS/GND, VCC, dan VEE/VO. Kaki VEE berfungsi untuk mengatur kecerahan tampilan karakter LCD. Untuk mengaturnya, digunakan VR 10K yang dapat diputar-putar untuk mendapatkan kecerahan tampilan yang diinginkan.

Kaki LCD nomor 4 (RS) adalah kaki Register Selector yang berfungsi untuk memilih Register Kontrol atau Register Data. Register kontrol digunakan untuk mengkonfigurasi LCD. Register Data digunakan untuk menulis data karakter ke memori display LCD. Kaki LCD nomor 5 (R/W) digunakan untuk memilih aliran data apakah READ ataukah WRITE. Karena kita tidak memerlukan fungsi untuk membaca data dari LCD dan hanya perlu menulis data saja ke LCD, maka kaki ini dihubungkan ke GND (WRITE). Kaki LCD nomor 6 (ENABLE) digunakan untuk mengaktifkan LCD pada proses penulisan data ke Register Kontrol dan Register Data LCD. Kaki 11, 12, 13, 14 adalah kaki data D4, D5, D6, D7. Perhatikan bahwa kaki data D0, D1, D2, D3 tidak digunakan karena mode yang digunakan adalah mode 4-bit.

c. Motor DC

Motor DC adalah motor listrik yang memerlukan suplai tegangan arus searah pada kumparan medan untuk diubah menjadi energi gerak mekanik. Kumparan medan pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar).

4. Rangkaian Simulasi [kembali]

 Prinsip kerja: Pada rangkaian di atas kita memakai arduino 2560. Arduino di hubungkan dengan 5 switch dihubungkan ke pin 45,47,49,51,53. Pin data lcd dihubungkan dengan pin 4 sampai 7 pada arduino 2560. Pin 8 dan 10 dihubungkan dengan modor dc. Kondisi pada praktikum kali ini adalah jika switch 3 ditekan maka akan tampil tulisan "3" pada lcd dan motor bergerak searah jarum jam.

5. Flowchart[kembali]


6. Listing Program [kembali]

 

7. Video [kembali]



8. Link Download [kembali]

file program

file video

file proteus

file html

0 comments:

Modul 1 (Tambahkan 4 LED, jika ditekan 1 switch maka akan hidup 1 lcd dan muncul angka "1"

    1. Tujuan[kembali]

    a. Mempelajari aplikasi output pada mikrokontroller ATMEGA 128 
    b. Mempelajari aplikasi input pada mikrokontroller ATMEGA 128 
    c. Mempelajari aplikasi I/O pada mikrokontroller ATMEGA 128

    2. Alat dan Bahan[kembali]

    a. Module AT MEGA 128 
    b. LED 
    c. Jumper 
    d. LCD

    3. Teori Komponen[kembali]

    a. Modul  AT MEGA 128

    Mikrokontroller ATMEGA 128 merupakan mikrokontroller keluarga AVR yang mempunyai kapasitas flash memori 128KB. AVR (Alf and Vegard’s Risc Processor) merupakan seri mikrokontroler CMOS 8-bit buatan ATEMEL inc, berdasarkan arsitektur RISC (Reduced Instruction Set Computer). Secara umum, AVR dapat terbagi menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga AT-Mega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, bisa dikatakan hampir sama. Semua jenis AVR dilengkapi dengan flash memori sebagai memori program. Kapasitas dari flash memori ini berbeda antara chip yang satu dengan chip yang lain. Tergantung dari jenis IC yang digunakan. Untuk flash memori yang paling kecil adalah 1 kbytes (ATtiny11, ATtiny12, dan ATtiny15) dan paling besar adalah 128 kbytes (AT-Mega128). Berikut ini adalah spesifikasi Mikrokontroler AVR ATMega-128 dan konfigurasi pin ATMEGA 128.

    1. Saluran I/O sebanyak 56 buah, yaitu Port A, Port B, Port C, Port D, Port E, Port F dan Port G.
    2. ADC 10 bit sebanyak 8 saluran.
    3. 2 buah Timer/Counter 8 bit dan 2 buah Timer/Counter 16 bit.
    4. Dua buah PWM 8 bit.
    5. Watchdog Timer dengan osilator internal.
    6. Internal SRAM sebesar 4 kbyte.
    7. Memori flash sebesar 128 kBytes.
    8. Interupsi Eksternal.
    9. Port antarmuka SPI.
    10. EEPROM sebesar 4 kbyte.
    11. Real time counter.
    12. 2 buah Port USART untuk komunikasi serial.
    13. Enam kanal PWM.
    14. Tegangan operasi sekitar 4,5 V sampai dengan 5,5V
Konfigurasi pin ATMEGA-128

    b. LCD

    LCD dapat diprogram menggunakan mode 8-bit atau 4-bit. Mode 8-bit menggunakan 8-bit data (D0-D7) sedangkan mode 4-bit menggunakan 4-bit data (D4-D7). Pada halaman ini ditampilkan contoh pemrograman LCD 16x2 menggunakan mode 4-bit. Mode 4-bit memang sedikit lebih rumit dibanding mode 8-bit, akan tetapi dengan mode 4-bit kita akan menghemat 4 buah pin IO untuk keperluan yang lain. Berikut ini adalah skema antarmuka lcd 16x2:
    LCD yang paling umum digunakan adalah LCD berukuran 2 baris x 16 kolom. Selain mudah diperoleh di pasaran dengan harga yang cukup murah, ukurannya sangat pas digunakan untuk kebanyakan aplikasi-aplikasi yang membutuhkan display, tidak terlalu kecil dan tidak terlalu besar.
    Interfacing LCD sangatlah mudah. Perhatikan gambar skematik di atas, kaki-kaki LCD nomor 1, 2, dan 3 adalah kaki VSS/GND, VCC, dan VEE/VO. Kaki VEE berfungsi untuk mengatur kecerahan tampilan karakter LCD. Untuk mengaturnya, digunakan VR 10K yang dapat diputar-putar untuk mendapatkan kecerahan tampilan yang diinginkan.
    Kaki LCD nomor 4 (RS) adalah kaki Register Selector yang berfungsi untuk memilih Register Kontrol atau Register Data. Register kontrol digunakan untuk mengkonfigurasi LCD. Register Data digunakan untuk menulis data karakter ke memori display LCD.
    Kaki LCD nomor 5 (R/W) digunakan untuk memilih aliran data apakah READ ataukah WRITE. Karena kita tidak memerlukan fungsi untuk membaca data dari LCD dan hanya perlu menulis data saja ke LCD, maka kaki ini dihubungkan ke GND (WRITE).
    Kaki LCD nomor 6 (ENABLE) digunakan untuk mengaktifkan LCD pada proses penulisan data ke Register Kontrol dan Register Data LCD.
    Kaki 11, 12, 13, 14 adalah kaki data D4, D5, D6, D7. Perhatikan bahwa kaki data D0, D1, D2, D3 tidak digunakan karena mode yang digunakan adalah mode 4-bit.

    c. LED

    LED (Light Emitting Dioda) adalah dioda yang dapat memancarkan cahaya pada saat mendapat arus bias maju (forward bias). LED (Light Emitting Dioda) dapat memancarkan cahaya karena menggunakan dopping galium, arsenic dan phosporus. Jenis doping yang berbeda diata dapat menhasilkan cahaya dengan warna yang berbeda. LED (Light Emitting Dioda) merupakann salah satu jenis dioda, sehingga hanya akan mengalirkan arus listrik satu arah saja. LED akan memancarkan cahaya apabil diberikan tegangan listrik dengan konfigurasi forward bias. Berbeda dengan dioda pada umumnya, kemampuan mengalirkan arus pada LED (Light Emitting Dioda) cukup rendah yaitu maksimal 20 mA. Apabila LED (Light Emitting Dioda) dialiri arus lebih besar dari 20 mA maka LED akan rusak, sehingga pada rangkaian LED dipasang sebuah resistor sebgai pembatas arus. Simbol dan bentuk fisik dari LED (Light Emitting Dioda) dapat dilihat pada gambar berikut:
    Dari gambar diatas dapat kita ketahui bahwa LED memiliki kaki 2 buah seperti dengan dioda yaitu kaki anoda dan kaki katoda. Pada gambar diatas kaki anoda memiliki ciri fisik lebih panjang dari kaki katoda pada saat masih baru, kemudian kaki katoda pada LED (Light Emitting Dioda) ditandai dengan bagian body LED yang di papas rata. Kaki anoda dan kaki katoda pada LED (Light Emitting Dioda) disimbolkan seperti pada gambar diatas. Pemasangan LED (Light Emitting Dioda) agar dapat menyala adalah dengan memberikan tegangan bias maju yaitu dengan memberikan tegangan positif ke kaki anoda dan tegangan negatif ke kaki katoda. 
    Konsep pembatas arus pada dioda adalah dengan memasangkan resistor secara seri pada salah satu kaki LED (Light Emitting Dioda). Rangkaian dasar untuk menyalakan LED (Light Emitting Dioda) membutuhkan sumber tegangan LED dan resistor sebgai pembatas arus seperti pada rangkaian berikut:
    Besarnya arus maksimum pada LED (Light Emitting Dioda) adalah 20 mA, sehingga nilai resistor harus ditentukan. Dimana besarnya nilai resistor berbanding lurus dengan besarnya tegangan sumber yang digunakan. Secara matematis besarnya nilai resistor pembatas arus LED (Light Emitting Dioda) dapat ditentukan menggunakan persamaan berikut:
    Dimana : R = resistor pembatas arus (Ohm) Vs = tegangan sumber yang digunakan untuk mensupply tegangan ke LED (volt) 2 volt = tegangan LED (volt) 0,02 A = arus maksimal LED (20 mA)

    4. Rangkaian Simulasi[kembali]

       

     prinsip kerja:

    Pada rangkaian diatas kita memakai modul Atmega 128, lcd, led dan switch. Ketika switch yang ditekan lebih dari 1, maka akan tampil tulisan "lebih dari 1" pada lcd. Ketika switch yang ditekan sama dengan 1 maka akan tampil tulisan di lcd "1" dan hidup led sebanyak 1 buah. Ketika tidak ada switch yang ditekan maka tampil tulisan "switch mati" pada lcd dan led tidak ada yang hidup.

    5. Flowchart[kembali]

      

    6. Listing Program[kembali]

    7. Video[kembali]

    8. Link Download[kembali]

    file proteus
    file video
    file html
    file program

0 comments:

Modul 3 (Jika suhu => 0 dan suhu <=4 maka led akan hidup dari kanan ke kiri serta tampil "suhu sangat dingin" di lcd")

1. Tujuan[kembali]

a.    Mempelajari aplikasi output pada mikrokontroller ATMEGA 8535
b.    Mempelajari aplikasi input pada mikrokontroller ATMEGA 8535
c.    Mempelajari aplikasi I/O pada mikrokontroller ATMEGA 8535

2. Alat dan Bahan[kembali]

a. Modul ATMEGA 8535
b. LED
c. LCD
d. LM35

3. Teori komponen [kembali]

 a. Mikrokontroller ATMega 8535 

Mikrokontroller AVR (Alf and Vegard’s Risc processor) memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit dan sebagian besar instruksi dieksekusi dalam 1 siklus clock atau dikenal dengan teknologi RISC (Reduced Instruction Set Computing). Secara umum, AVR dapat dikelompokan ke dalam 4 kelas, yaitu keluarga AT90Sxx, keluarga ATMega dan AT86RFxx. Pada dasarnya yang membedakan masing-masing adalah kapasitas memori, peripheral dan fungsinya.Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hamper sama. Pada praktikum kali ini yang membedakan antara ATMEGA 128 dengan ATMEGA 8535 selain pada kapasistas memori, jug dari Bahasa program yang digunakan. Berikut gambar dari ATMEGA8535 :


Berikut merupakan gambar konfigurasi pin pada ATMEGA8535  :
 

  b. LCD

LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal–alat elektronik seperti televisi, kalkulator, atau pun layar komputer. Pada postingan aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat.
Adapun fitur yang disajikan dalam LCD ini adalah :
 a. Terdiri dari 16 karakter dan 2 baris.
 b. Mempunyai 192 karakter tersimpan.
 c. Terdapat karakter generator terprogram.
d. Dapat dialamati dengan mode 4-bit dan 8-bit.
e. Dilengkapi dengan back light.
Adapun gambar dari lcd ini adalah sebagai berikut:

Cara Kerja LCD Secara Umum:
Pada aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu. Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.

 Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” pada layar maka RS harus diset ke “1”. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high “1”, maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.

Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.

C. Sensor Lm35

LM35 adalah komponen sensor suhu berukuran kecil seperti transistor (TO-92). Komponen yang sangat mudah digunakan ini mampu mengukur suhu hingga 100° Celcius. Dengan tegangan keluaran yang terskala linear dengan suhu terukur, yakni 10 milivolt per 1 derajad Celcius, maka komponen ini sangat cocok untuk digunakan sebagai teman eksperimen kita, atau bahkan untuk aplikasi-aplikasi seperti termometer digital, kontrol suhu mesin pasteurisasi, kontrol suhu mesin penetas telur atau kontrol fan radiator mobil. LM35 dapat disuplai dengan tegangan mulai 4V-30V DC dengan arus pengurasan 60 mikroampere sehingga sangat mudah diaplikasikan pada sistem berbasis tegangan digital maupun analog. LM35 memiliki tingkat efek self-heating yang rendah yakni 0,08 derajad Celcius. Berikut ini adalah gambar sensor lm35:
Sensor suhu IC LM 35 merupkan chip IC produksi Natioanal Semiconductor yang berfungsi untuk mengetahui temperature suatu objek atau ruangan dalam bentuk besaran elektrik, atau dapat juga di definisikan sebagai komponen elektronika yang berfungsi untuk mengubah perubahan temperature yang diterima dalam perubahan besaran elektrik. Sensor suhu IC LM35 dapat mengubah perubahan temperature menjadi perubahan tegangan pada bagian outputnya. Sensor suhu IC LM35 membutuhkan sumber tegangan DC +5 volt dan konsumsi arus DC sebesar 60 µA dalam beroperasi. Bentuk fisik sensor suhu LM 35 merupakan chip IC dengan kemasan yang berfariasi, pada umumnya kemasan sensor suhu LM35 adalah kemasan TO-92 seperti terlihat pada gambar dibawah.

Read more at: http://elektronika-dasar.web.id/sensor-suhu-ic-lm35/
Copyright © Elektronika Dasar















  4. Rangkaian simulasi[kembali]

 

5. Flowchart[kembali]

6. Listing Program[kembali]



7. Video[kembali]

 


8. Link Download

file Proteus
file Html
file Program
fileVideo  

0 comments:

Copyright © 2013 Praktikum Mikroprocessor