laporan potensio pada mcu

19
LAPORAN SISTEM MIKROKONTROLER DASAR SEMESTER 4 Project Potensio & 7 segmen Pembimbing : Ir. Azam Muzakhim Imammudin, MT Penyusun : Aulia Pratama Riwayanto 1341160002 – JTD 2C Jaringan Telekomunikasi Digital POLITEKNIK NEGERI MALANG Jalan Soekarno-Hatta No. 9, PO BOX 04, Malang 65141 Tel. (0341) 404424, 404425, FAX. (0341) 404420 2015 1

Upload: lhily-thiita

Post on 18-Dec-2015

16 views

Category:

Documents


0 download

DESCRIPTION

LAPORAN pratikum modul mikrokontroler..

TRANSCRIPT

LAPORANSISTEM MIKROKONTROLER DASARSEMESTER 4Project Potensio & 7 segmenPembimbing :Ir. Azam Muzakhim Imammudin, MT

Penyusun : Aulia Pratama Riwayanto1341160002 JTD 2C

Jaringan Telekomunikasi DigitalPOLITEKNIK NEGERI MALANGJalan Soekarno-Hatta No. 9, PO BOX 04, Malang 65141Tel. (0341) 404424, 404425, FAX. (0341) 4044202015

BAB IPENDAHULUAN

1.1 Latar BelakangMikrokontroleradalah sebuah sistem komputer lengkap dalam satu chip. Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa port masukan maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog converter) dan serial komunikasi. Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC (Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fiturnya Seperti mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu serta komponen kendali lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam chip yang sama dengen prosesornya (inchip).Dan disini saya kana mencoba membuat cek pintu otomatis menggunakan USART pada sebuah toko.1.2Rumusan MasalahBerdasarkan latar belakang masalah tersebut maka dapat ditentukan rumusan masalah sebagai berikut :1. Membuat project mikrokontroler dengan program C AVR Usart berbasis ATMega16 dengan tema sesuai keinginan masing-masing mahasiswa dan disini saya akan membuat aplikasi smart button dengan output berupda graphic led,lcd,motor dc dan heater oven.

1.3 Maksud dan Tujuan Maksud dari makalah ini adalah untuk menjelaskan bagaimana USART dapat bekerja pada ATMega16 dengan output sesuai aplikasi yg akan dibuat mahasiswa.

BAB IIDASAR TEORI

2.1Mikrokontroler Atmega 16Mikrokontroler adalah sebuah system computer lengkap dalam satu chip. Mikrokontroler ATMega16 ini menggunakan arsitektur Harvard yang memisahkan memori program dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program dan data dapat dilakukan secara bersamaan (concurrent). Secara garis besar mikrokontroler ATMega16 terdiri dari :1. Arsitektur RSIC dengan throughput 16 MIPS pada frekuensi 16MHz2. Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte.3. Saluran I/O 32 buah, yaitu Port A, Port B, Port C, dan Port D.4. CPU yang terdiri dari 32 buah register.5. User interupsi internal dan eksternal6. Port antarmuka SPI dan Port USART sebagai komunikasi serial7. Fitur pheriperal Dua buah 8-bit timer/counterdengan prescaler terpisah dan mode compare Satu buah 16-bit timer/counter dengan prescaler terpisah, mode compare, dan mode capture Real time counter dengan osilator tersendiri Empat kanal PWM dan Antarmuka komparator analog 8 kanal, 10 bit ADC Byte-oriented Two-wire Serial Interface 8. Non-volatile program memory

2.2 Konfigurasi Pena (PIN) Atmega16

Konfigurasi pin ATMEGA16 dengan kemasan 40 pin Dual In-line Package (DIP) dapat dilihat pada Gambar 2.13. dari gambar diatas dapat dijelaskan fungsi dari masing-masing pin ATMEGA16 sebagai berikut.1. VCC merupakan pin yang brfungsi sebagai masukan catu daya2. GND merupakan pin Ground3. Port A (PA0 PA7) merupakan pin input/output dua arah (full duplex) dan selain itu merupakan pin masukan ADC. 4. Pin B adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).

5. Pin C adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit.

6. Pin D adalah suatu pin I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit).Pin D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis. 1) Reset (Reset Input)2) Xtal1 (Input Osilator)3) Xtal2 (Output Osilator)4) AVCC (Pin penyedia tegangan untuk port A dan converter A/D)5) AREF (Pin refrensi analog untuk converter A/D)Port D (PD0 PD7) merupakan pin input/output dua arah (full duplex) dan selain itu merupakan pin khusus, seperti dapat dilihat pada tabel dibawah ini.

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler8. XTAL1 dan XTAL2, merupakan pin masukan external clock9. AVCC merupakan pin masukan tegangan untuk ADC10. AREF merupakan pin masukan tegangan referensi untuk ADC

2.3Seven SegmentDisplay 7 segment merupakan komponen yang berfungsi sebagai penampil karakter angka dan karakter huruf. Display 7 segment sering juga disebut sebgai penampil 7 ruas. Pada display 7 segment juga dilengkapi karakter titik (dot) yang sering dibutuhkan untuk karakter koma atau titik pada saat menampilkan suatu bilangan.

Pada dasarnya penampil 7 segment merupakan rangkaian 7 buah dioda LED (Light Emiting Diode).Terdapat 2 (dua) jenis rangkaian dasar dari display 7 segment yang dikenal sebagai display 7 segment common anoda (CA) dan common cathoda (CC). Pada display common anoda untuk mengaktifkan karakter display 7 segment diperlukan logika rendah (0) pada jalur A-F dan Dot dan sebaliknya untuk display 7 segment common cathoda (CA) logika tinggi (1) .Rangkaian internal display 7 segment common anoda dan common cathoda (CC) dapat dilihat pada gambar berikutRangkaian Internal Display 7 Segment Common Anoda

Rangkaian Internal Display 7 Segment Common Cathoda

Prinsip Kerja Seven SegmentPrinsip kerja seven segmen ialah input biner pada switch dikonversikan masuk ke dalam decoder, baru kemudian decoder mengkonversi bilangan biner tersebut menjadi decimal, yang nantinya akan ditampilkan pada seven segment.Seven segment dapat menampilkan angka-angka desimal dan beberapa karakter tertentu melalui kombinasi aktif atau tidaknya LED penyusunan dalam seven segment.

2.4Light Emitting Diode (LED) Bargraph

Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.

LED terdiri dari sebuah chip semikonduktor yang di doping sehingga menciptakan junction P dan N. Yang dimaksud dengan proses doping dalam semikonduktor adalah proses untuk menambahkan ketidakmurnian (impurity) pada semikonduktor yang murni sehingga menghasilkan karakteristik kelistrikan yang diinginkan. Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan Elektron pada N-Type material akan berpindah ke wilayah yang kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif (P-Type material). Saat Elektron berjumpa dengan Hole akan melepaskan photon dan memancarkan cahaya monokromatik (satu warna).

LED atau Light Emitting Diode yang memancarkan cahaya ketika dialiri tegangan maju ini juga dapat digolongkan sebagai Transduser yang dapat mengubah Energi Listrik menjadi Energi Cahaya.

2.5Potensio

Potensiometer adalah sebuah jenis resistor yang nilai tahanannya atau hambatannya (resistansi) dapat dirubah atau diatur (adjustable). Potensiometer memiliki 3 terminal, 2 terminal terhubung ke kedua ujung elemen resistif, dan terminal ketiga terhubung ke kontak geser yang disebut wiper. Posisi wiper menentukan tegangan keluaran dari potensiometer. Berikut ini simbol dari potensiometer, simbol potensiometer dengan standar IEC dan standar ANSI.

Simbol potensiometer standar IEC

Simbol potensiometer standar ANSI

Potensiometer pada dasarnya berfungsi sebagai pembagi tegangan variabel. Unsur resistif dapat dilihat sebagai dua resistor seri, dimana posisi wiper menentukan rasio resistensi dari resistor pertama ke resistor kedua. Potensiometer juga dikenal sebagai potmeter atau pot. Bentuk paling umum dari potmeter adalah potmeter putar. Jenis pot sering digunakan dalam kontrol volume suara audio dan berbagai aplikasi lainnya. Unsur resistif pada potensiometer biasanya terbuat dari bahan seperti karbon, keramik logam, gulungan kawat (wirewound), plastik konduktif, atau film logam.

BAB IIIISI3.1 FLOWCHART

3.2 Skematik Rangkaian Aplikasi pada Proteus ISISGambar kematik rangkaian pada proteus yang saya buat

3.3 SCRIPT Program Aplikasi pada AVRChip type : ATmega16Program type : ApplicationAVR Core Clock frequency: 12,000000 MHzMemory model : SmallExternal RAM size : 0Data Stack size : 256*****************************************************/

#include

#include

#define ADC_VREF_TYPE 0x60int i;unsigned char data_adc;unsigned char Nama [5] = {0x88,0xC1,0xC7,0xF9,0x88};unsigned char NIM [10] = {0xF9,0xB0,0x99,0xF9,0xF9,0x83,0xC0,0xc0,0xc0,0xA4};unsigned char NoHP [12] = {0xC0,0x80,0x92,0xF8,0xB0,0xC0,0xF9,0xF9,0xC0,0xC0,0x80,0xA4}; unsigned char TTL [20] = {0x92,0x86,0xc8,0xc8,0x88,0xce,0x88,0xc8,0x90,0xbF,0xf9,0xa4,0xbf,0xc0,0xf9,0xbf,0xf9,0x90,0x90,0x92};unsigned char NoUrut [8] = {0xc0,0x92,0xbf,0xe1,0x87,0xa1,0xa4,0xc6};

// Read the 8 most significant bits// of the AD conversion resultunsigned char read_adc(unsigned char adc_input){ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);// Delay needed for the stabilization of the ADC input voltagedelay_us(10);// Start the AD conversionADCSRA|=0x40;// Wait for the AD conversion to completewhile ((ADCSRA & 0x10)==0);ADCSRA|=0x10;return ADCH;}

// Declare your global variables here

void main(void){// Declare your local variables here

// Input/Output Ports initialization// Port A initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;DDRA=0x00;

// Port B initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;DDRB=0x00;

// Port C initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;DDRC=0x00;

// Port D initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0xff;DDRD=0xff;

// Timer/Counter 0 initialization// Clock source: System Clock// Clock value: Timer 0 Stopped// Mode: Normal top=FFh// OC0 output: DisconnectedTCCR0=0x00;TCNT0=0x00;OCR0=0x00;

// Timer/Counter 1 initialization// Clock source: System Clock// Clock value: Timer1 Stopped// Mode: Normal top=FFFFh// OC1A output: Discon.// OC1B output: Discon.// Noise Canceler: Off// Input Capture on Falling Edge// Timer1 Overflow Interrupt: Off// Input Capture Interrupt: Off// Compare A Match Interrupt: Off// Compare B Match Interrupt: OffTCCR1A=0x00;TCCR1B=0x00;TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;

// Timer/Counter 2 initialization// Clock source: System Clock// Clock value: Timer2 Stopped// Mode: Normal top=FFh// OC2 output: DisconnectedASSR=0x00;TCCR2=0x00;TCNT2=0x00;OCR2=0x00;

// External Interrupt(s) initialization// INT0: Off// INT1: Off// INT2: OffMCUCR=0x00;MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initializationTIMSK=0x00;

// Analog Comparator initialization// Analog Comparator: Off// Analog Comparator Input Capture by Timer/Counter 1: OffACSR=0x80;SFIOR=0x00;

// ADC initialization// ADC Clock frequency: 750,000 kHz// ADC Voltage Reference: AVCC pin// ADC Auto Trigger Source: None// Only the 8 most significant bits of// the AD conversion result are usedADMUX=ADC_VREF_TYPE & 0xff;ADCSRA=0x84;

while (1) { data_adc = read_adc(0); //0-17% if (data_adc