timbangan buah digital berbasis atmega16

42
Timbangan Buah Digital Berbasis Atmega16 TagElektronika BAB I PENDAHULUAN 1.1. Latar Belakang Dewasa ini, di butuhkan peralatan – peralatan elektronik yang dapat memudahkan / membantu manusia untuk melakukan dan mengenali sesuatu. Dalam kasus ini alat yang akan di kerjakan adalah timbangan digital menggunakan layar LCD. Timbangan ini akan menampilkan berat/angka yang di timbang. Timbangan ini memudahkan para pedagang yang penglihatannya sudah tidak bagus lagi. Dengan adanya alat ini, maka pedagang dapat mengetahui berapa berat dagangannya yang di timbang dari layar LCD. Tentu saja alat ini sangat memudahkan kita. Pembuatan alat

Upload: jovan-roy-villiardhy

Post on 24-Oct-2015

72 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Timbangan Buah Digital Berbasis Atmega16

Timbangan Buah Digital Berbasis Atmega16

TagElektronika

BAB I

PENDAHULUAN

1.1. Latar Belakang

Dewasa ini, di butuhkan peralatan – peralatan elektronik yang dapat memudahkan

/ membantu manusia untuk melakukan dan mengenali sesuatu. Dalam kasus ini alat yang

akan di kerjakan adalah timbangan digital menggunakan layar LCD. Timbangan ini akan

menampilkan berat/angka yang di timbang. Timbangan ini memudahkan para pedagang

yang penglihatannya sudah tidak bagus lagi.

Dengan adanya alat ini, maka pedagang dapat mengetahui berapa berat dagangannya

yang di timbang dari layar LCD. Tentu saja alat ini sangat memudahkan kita. Pembuatan

alat ini diharapkan dapat membantu mengatasi masalah – masalah di atas.

1.2. Perumusan Masalah

Permasalahan yang perlu diperhatikan :

Page 2: Timbangan Buah Digital Berbasis Atmega16

1. Penggunaan Mikrokontroler ATMEGA16 untuk sistem kontrol berat

timbangan.

2. Program mikrokontroler ATMEGA16 sebagai pengatur delay.

.

1.3. Batasan Masalah

Perancangan sistem kontrol dibatasi :

1. Mikrokontroler ATMEGA16

2. Pembatasan pada berat timbangan dengan berat paling rendah 0 Kg dan berat

paling tinggi 15 Kg.

1.4. Tujuan

Tujuan Tugas Akhir adalah merancang bangun timbangan digital adalah untuk alat bantu

menimbang berat berbasis mikrokontroller ATMEGA16

1.5. Metode Penyelesaian Masalah

1. Studi Literatur

Penelusuran informasi tentang mikrokontroler, display LCD dan browsing

internet.

2. Perencanaan

Merancang mekanik dan pembuatan program sistem kontrol.

3. Pengujian

Menguji fungsi pada potensiometer

4. Pengolahan Data

Menghimpun, mengolah, dan menganalisis data yang diperoleh dari

pengujian.

Page 3: Timbangan Buah Digital Berbasis Atmega16

5. Pembuatan Laporan

Penyusunan hasil kegiatan Tugas Akhir.

BAB II

LANDASAN TEORI

2.1 Mikrokontroler ATMEGA16

Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih (chip).

Page 4: Timbangan Buah Digital Berbasis Atmega16

Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau

berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa bandar

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 mikrokontrolerATMega16

terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan

register kerja, register dan dekoder instruksi, dan pewaktubeserta komponen kendali

lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam

serpih yang sama dengen prosesornya (in chip).

2.1.1. Arsitektur ATMEGA16

Mikrokontroler 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 RISC dengan throughput mencapai 16 MIPS pada frekuensi 16Mhz.

2. Saluran I/O 32 buah, yaitu Bandar A, Bandar B, Bandar C, dan Bandar D.

3. CPU yang terdiri dari 32 buah register.

Page 5: Timbangan Buah Digital Berbasis Atmega16

2. User interupsi internal dan eksternal

3. Bandar antarmuka SPI dan Bandar USART sebagai komunikasi serial

4. Fitur Peripheral

• Dua buah 8-bit timer/counter dengan 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

• Watchdog timer dengan osilator internal

2.1.3. DESKRIPSI MIKROKONTROLER ATMEGA16

• VCC (Power Supply) dan GND(Ground)

• Bandar A (PA7..PA0)

Bandar A berfungsi sebagai input analog pada konverter A/D. Bandar A juga sebagai

suatu bandar I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pena - pena Bandar

dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit).

Bandar A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink

tinggi dan kemampuan sumber. Ketika pena PA0 ke PA7 digunakan sebagai input dan

Page 6: Timbangan Buah Digital Berbasis Atmega16

secara eksternal ditarik rendah, pena–pena akan memungkinkan arus sumber jika resistor

internal pull-up diaktifkan. Pena Bandar A adalah tri-stated manakala suatu kondisi reset

menjadi aktif, sekalipun waktu habis.

• Bandar B (PB7..PB0)

Bandar B adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up (yang

dipilih untuk beberapa bit). Bandar B output buffer mempunyaikarakteristik gerakan

simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena

Bandar B yang secara eksternal ditarik rendah akanarus sumber jika resistor pull-up

diaktifkan. Pena Bandar B adalah tri-statedmanakala suatu kondisi reset menjadi aktif,

sekalipun waktu habis.

• Bandar C (PC7..PC0)

Bandar C adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up (yang

dipilih untuk beberapa bit). Bandar C output buffer mempunyaikarakteristik gerakan

simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena bandar

C yang secara eksternal ditarik rendah akanarus sumber jika resistor pull-up diaktifkan.

Pena bandar C adalah tri-statedmanakala suatu kondisi reset menjadi aktif, sekalipun

waktu habis.

• Bandar D (PD7..PD0)

Bandar D adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up (yang

dipilih untuk beberapa bit). Bandar D output buffer mempunyaikarakteristik gerakan

simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena bandar

D yang secara eksternal ditarik rendah akan

arus sumber jika resistor pull-up diaktifkan. Pena Bandar D adalah tri-stated manakala

suatu kondisi reset menjadi aktif, sekalipun waktu habis.

• AVCC adalah pena penyedia tegangan untuk bandar A dan Konverter A/D.

Page 7: Timbangan Buah Digital Berbasis Atmega16

• AREF adalah pena referensi analog untuk konverter A/D.

2.1.4.1. Memori Program

Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data dan memori

program. Selain itu, ATMega16 memiliki memori EEPROM untuk menyimpan data.

ATMega16 memiliki 16K byte On-chip In-System Reprogrammable Flash Memory untuk

menyimpan program. Instruksi ATMega16 semuanya memiliki format 16 atau 32 bit,

maka memori flash diatur dalam 8K x 16 bit. Memori flash dibagi kedalam dua bagian,

yaitu bagian program boot dan aplikasi. Bootloader adalah program kecil yang bekerja

pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam

memori prosesor.

2.2 LCD

LCD (Liquid Crystal Display) adalah modul penampil yang banyak digunakan

karena tampilannya menarik. LCD yang paling banyak digunakan saat ini ialah LCD

M1632 refurbish karena harganya cukup murah. LCD M1632 merupakan modul LCD

dengan tampilan 2x16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul

tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan

LCD.

LCD yang umum, ada yang panjangnya hingga 40 karakter (2x40 dan 4x40),

dimana kita menggunakan DDRAM untuk mengatur tempat penyimpanan karakter

tersebut.

Page 8: Timbangan Buah Digital Berbasis Atmega16

2.2.1 Susunan Alamat Pada LCD

Alamat awal karakter 00H dan alamat akhir 39H. Jadi, alamat awal di baris kedua

dimulai dari 40H. Jika Anda ingin meletakkan suatu karakter pada baris ke-2 kolom

pertama, maka harus diset pada alamat 40H. Jadi, meskipun LCD yang digunakan 2x16

atau 2x24, atau bahkan 2x40, maka penulisan programnya sama saja.

CGRAM merupakan memori untuk menggambarkan pola sebuah karakter, dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan. Namun, memori akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang. Berikut tabel pin untuk LCD M1632. Perbedaannya dengan LCD standar adalah pada kaki 1 VCC, dan kaki 2 Gnd. Ini kebalikan dengan LCD standar.

Perlu diketahui, driver LCD seperti HD44780 memiliki dua

register yang aksesnya diatur menggunakan pin RS. Pada saat RS

Page 9: Timbangan Buah Digital Berbasis Atmega16

berlogika 0, register yang diakses adalah perintah, sedangkan pada

saat RS berlogika 1, register yang diakses adalah register data.

Agar dapat mengaktifkan LCD, proses inisialisasi harus

dilakukan dengan cara mengeset bit RS dan meng-clear-kan bit E

dengan delay minimal 15 ms. Kemudian mengirimkan data 30H dan

ditunda lagi selama 5 ms. Proses ini harus dilakukan tiga kali, lalu

mengirim inisial 20H dan interface data length dengan lebar 4 bit saja

(28H). Setelah itu display dimatikan (08H) dan di-clear-kan (01H).

Selanjutnya dilakukan pengesetan display dan cursor, serta blinking

apakah ON atau OFF.

BAB III

PERENCANAAN DAN REALISASI

Spesifikasi Alat

Berikut ini adalah spesifikasi dari sistem yang akan direalisasikan :

1. Tegangan Operasional Sistem : 12VDC

2. Sumber : Adaptor

3. Mikrokontroler : ATMEGA16

4. Output : Layar LCD

5. Range Berat : 0 – 50 Kg

Page 10: Timbangan Buah Digital Berbasis Atmega16

Diagram Blok

Gambar 3.1 Diagram Blok Sistem Kontrol Alat Bantu Penyebrangan

Minsis ATMEGA16 berfungsi sebagai pengendali utama untuk

mengendalikan system secara keseluruhan. Ketika potensiometer

berubah posisinya, maka masukan input dari ADC internal yang di

miliki Atmega16 juga berubah yang menyebabkan perubahan nilai

berat yang ditampilkan LCD. Potensiomter berfungsi untuk

menentukan nilai berat yang akan ditampilkan oleh LCD

3.1 Cara kerja Rangkaian

Jenis timbangan yang digunakan adalah jenis timbangan pegas.

Timbangan berfungsi sebagai alat pokok dalam sistem ini. Di dalam

timbangan ini dipasang sebuah potensiometer geser. Ketika

Page 11: Timbangan Buah Digital Berbasis Atmega16

timbangan mendapatkan beban, jarum yang ada di timbangan akan

berputar dan mengubah resistansi pada potensiometer. Karena

adanya perubahan pada resistansi, berubah pula tegangan yang di

berikan ke AVR Atmega 16. Di dalam AVR sudah terintegrasi

rangkaian ADC yang mengubah data analog menjadi data digital yang

nantinya bisa di program di dalam AVR. Output dari AVR masuk ke

dalam LCD. Nilai berat yang diterima ditampilkan oleh LCD

3.2 Perancangan Hardware

3.2.1 Timbangan dan Potensiometer

Jenis timbangan yang digunakan adalah jenis timbangan pegas

yang dapat menimbang hingga berat maksimal 30 kg. Timbangan

berfungsi sebagai alat pokok dalam sistem ini. Di dalam timbangan

ini dipasang sebuah potensiometer geser yang biasa digunakan

untuk equalizer pada sebuah pemutar audio seperti tape, radio dan

lain-lain. Potensiometer dipasang secara permanen yang apabila

timbangan diberi beban maka pegas akan menurun dan ikut

menggerakan potensiometer tersebut. Semakin berat beban yang

diberikan semakin besar hambatan yang dihasilkan oleh

potensiometer.

3.2.1 Mikrokontroler

Minimum system yang ingin digunakan adalah berupa modul

mikrokontroler AT8MEGA16, mikrokontroler ini memiliki 4 Port, ( Port

A sampai port D ), semuanya ada 40 pin input output

Page 12: Timbangan Buah Digital Berbasis Atmega16

Gambar 3.1 Skematik Rangkaian

Tabel 3.2 Port – port yang ingin digunakan pada Modul ATMEGA16

Port Fungsi Keterangan

Port A Input Input dari Potensiometer

Port C.0 – C.7 Output Inisial LCD

Foto Alat

Page 13: Timbangan Buah Digital Berbasis Atmega16

3.2 Perancangan Software

3.3.1 Flowchart Program

Sesuai perancangan hardware, maka dapat dirancang flowchart program yang sesuai

dengan fungsi alat yang diinginkan, berikut gambar rancangan flowchart program :

Page 14: Timbangan Buah Digital Berbasis Atmega16

3.3.2 Listing Program

Dari rancangan flowchart program diatas, dapat dirancang program seperti yang

diinginkan, berikut adalah listing program pada mikrokontroler sesuai dengan rancangan

flowchart :

#include <mega16.h>

#include <delay.h>

#include <stdio.h>

#asm

.equ __lcd_port=0x15 ;PORTC

#endasm

#include <lcd.h>

#define ms delay_ms

#define ADC_VREF_TYPE 0x40

unsigned int read_adc(unsigned char adc_input)

{

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

delay_us(10);

ADCSRA|=0x40;

while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

return ADCW;

Page 15: Timbangan Buah Digital Berbasis Atmega16

}

int x,bar;

float berat;

char buf[33];

void baca_sensor(){

x=read_adc(0);

berat=(x-500)*1.3;

if (berat<x) {

berat=x*0 ;}

}

void display_sensor(){

lcd_gotoxy(0,0);lcd_putsf("Beratnya:");

lcd_gotoxy(0,1);sprintf(buf,"%0.0f kilogram",berat);lcd_puts(buf);

}

void opening(){

lcd_gotoxy(0,0);lcd_putsf("Author:");

Page 16: Timbangan Buah Digital Berbasis Atmega16

ms(1000);

lcd_gotoxy(0,1);lcd_putsf("Zali");

ms(1000);

lcd_clear();

lcd_gotoxy(0,0);lcd_putsf("Loading");

for(bar=0;bar<=15;bar++){

lcd_gotoxy(bar,1);

lcd_putsf("\xFF");

lcd_gotoxy(5,0);

delay_ms(40);

}

ms(1000);

lcd_clear();

}

void main(void)

{

PORTA=0x00;

DDRA=0x00;

PORTB=0x00;

DDRB=0x00;

Page 17: Timbangan Buah Digital Berbasis Atmega16

PORTD=0x1C;

DDRD=0xFF;

TCCR1A=0x81;

TCCR1B=0x0D;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

ADMUX=ADC_VREF_TYPE & 0xff;

ADCSRA=0x83;

lcd_init(16);

opening();

while (1)

{

baca_sensor();

Page 18: Timbangan Buah Digital Berbasis Atmega16

display_sensor();

};

}

BAB IV

PENUTUP

1.1 Kesimpulan

Berdasarkan dari pengujian, maka akhirya pembuatan tugas proyek ini dapat

diambil beberapa simpulan diantaranya :

1. Timbangan hanya dapat membaca berat minimal 0 kg dan maksimal 30 kg

2. Apabila beban ditambah 1 sampai dengan 2 ons maka angka pecahan tidak menyala

stabil. Apabila ditambah beban 3 sampai dengan 4 ons maka angka pecahan akan

dibulatkan ke atas.

5.2 Saran

1. Sebaiknya digunakan sensor tekan (berat) yang lebih sensitif sehingga akan terjadi

perubahan nilai tegangan meskipun diberi beban yang ringan.

2. Sebaiknya digunakan jenis timbangan yang menggunakan pegas yang lunak dan skala pembacaan berat yang lebih besar.

Timbangan Buah Digital Berbasis Atmega16

TagElektronika

Page 19: Timbangan Buah Digital Berbasis Atmega16

BAB I

PENDAHULUAN

1.1. Latar Belakang

Dewasa ini, di butuhkan peralatan – peralatan elektronik yang dapat memudahkan

/ membantu manusia untuk melakukan dan mengenali sesuatu. Dalam kasus ini alat yang

akan di kerjakan adalah timbangan digital menggunakan layar LCD. Timbangan ini akan

menampilkan berat/angka yang di timbang. Timbangan ini memudahkan para pedagang

yang penglihatannya sudah tidak bagus lagi.

Dengan adanya alat ini, maka pedagang dapat mengetahui berapa berat dagangannya

yang di timbang dari layar LCD. Tentu saja alat ini sangat memudahkan kita. Pembuatan

alat ini diharapkan dapat membantu mengatasi masalah – masalah di atas.

1.2. Perumusan Masalah

Permasalahan yang perlu diperhatikan :

1. Penggunaan Mikrokontroler ATMEGA16 untuk sistem kontrol berat

timbangan.

Page 20: Timbangan Buah Digital Berbasis Atmega16

2. Program mikrokontroler ATMEGA16 sebagai pengatur delay.

.

1.3. Batasan Masalah

Perancangan sistem kontrol dibatasi :

1. Mikrokontroler ATMEGA16

2. Pembatasan pada berat timbangan dengan berat paling rendah 0 Kg dan berat

paling tinggi 15 Kg.

1.4. Tujuan

Tujuan Tugas Akhir adalah merancang bangun timbangan digital adalah untuk alat bantu

menimbang berat berbasis mikrokontroller ATMEGA16

1.5. Metode Penyelesaian Masalah

1. Studi Literatur

Penelusuran informasi tentang mikrokontroler, display LCD dan browsing

internet.

2. Perencanaan

Merancang mekanik dan pembuatan program sistem kontrol.

3. Pengujian

Menguji fungsi pada potensiometer

4. Pengolahan Data

Menghimpun, mengolah, dan menganalisis data yang diperoleh dari

pengujian.

5. Pembuatan Laporan

Penyusunan hasil kegiatan Tugas Akhir.

Page 21: Timbangan Buah Digital Berbasis Atmega16

BAB II

LANDASAN TEORI

2.1 Mikrokontroler ATMEGA16

Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih (chip).

Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau

berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa bandar

Page 22: Timbangan Buah Digital Berbasis Atmega16

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 mikrokontrolerATMega16

terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan

register kerja, register dan dekoder instruksi, dan pewaktubeserta komponen kendali

lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam

serpih yang sama dengen prosesornya (in chip).

2.1.1. Arsitektur ATMEGA16

Mikrokontroler 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 RISC dengan throughput mencapai 16 MIPS pada frekuensi 16Mhz.

2. Saluran I/O 32 buah, yaitu Bandar A, Bandar B, Bandar C, dan Bandar D.

3. CPU yang terdiri dari 32 buah register.

2. User interupsi internal dan eksternal

3. Bandar antarmuka SPI dan Bandar USART sebagai komunikasi serial

Page 23: Timbangan Buah Digital Berbasis Atmega16

4. Fitur Peripheral

• Dua buah 8-bit timer/counter dengan 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

• Watchdog timer dengan osilator internal

2.1.3. DESKRIPSI MIKROKONTROLER ATMEGA16

• VCC (Power Supply) dan GND(Ground)

• Bandar A (PA7..PA0)

Bandar A berfungsi sebagai input analog pada konverter A/D. Bandar A juga sebagai

suatu bandar I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pena - pena Bandar

dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit).

Bandar A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink

tinggi dan kemampuan sumber. Ketika pena PA0 ke PA7 digunakan sebagai input dan

secara eksternal ditarik rendah, pena–pena akan memungkinkan arus sumber jika resistor

internal pull-up diaktifkan. Pena Bandar A adalah tri-stated manakala suatu kondisi reset

menjadi aktif, sekalipun waktu habis.

Page 24: Timbangan Buah Digital Berbasis Atmega16

• Bandar B (PB7..PB0)

Bandar B adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up (yang

dipilih untuk beberapa bit). Bandar B output buffer mempunyaikarakteristik gerakan

simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena

Bandar B yang secara eksternal ditarik rendah akanarus sumber jika resistor pull-up

diaktifkan. Pena Bandar B adalah tri-statedmanakala suatu kondisi reset menjadi aktif,

sekalipun waktu habis.

• Bandar C (PC7..PC0)

Bandar C adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up (yang

dipilih untuk beberapa bit). Bandar C output buffer mempunyaikarakteristik gerakan

simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena bandar

C yang secara eksternal ditarik rendah akanarus sumber jika resistor pull-up diaktifkan.

Pena bandar C adalah tri-statedmanakala suatu kondisi reset menjadi aktif, sekalipun

waktu habis.

• Bandar D (PD7..PD0)

Bandar D adalah suatu bandar I/O 8-bit dua arah dengan resistor internal pull-up (yang

dipilih untuk beberapa bit). Bandar D output buffer mempunyaikarakteristik gerakan

simetris dengan keduanya sink tinggi dan kemampuansumber. Sebagai input, pena bandar

D yang secara eksternal ditarik rendah akan

arus sumber jika resistor pull-up diaktifkan. Pena Bandar D adalah tri-stated manakala

suatu kondisi reset menjadi aktif, sekalipun waktu habis.

• AVCC adalah pena penyedia tegangan untuk bandar A dan Konverter A/D.

• AREF adalah pena referensi analog untuk konverter A/D.

Page 25: Timbangan Buah Digital Berbasis Atmega16

2.1.4.1. Memori Program

Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data dan memori

program. Selain itu, ATMega16 memiliki memori EEPROM untuk menyimpan data.

ATMega16 memiliki 16K byte On-chip In-System Reprogrammable Flash Memory untuk

menyimpan program. Instruksi ATMega16 semuanya memiliki format 16 atau 32 bit,

maka memori flash diatur dalam 8K x 16 bit. Memori flash dibagi kedalam dua bagian,

yaitu bagian program boot dan aplikasi. Bootloader adalah program kecil yang bekerja

pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam

memori prosesor.

2.2 LCD

LCD (Liquid Crystal Display) adalah modul penampil yang banyak digunakan

karena tampilannya menarik. LCD yang paling banyak digunakan saat ini ialah LCD

M1632 refurbish karena harganya cukup murah. LCD M1632 merupakan modul LCD

dengan tampilan 2x16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul

tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan

LCD.

LCD yang umum, ada yang panjangnya hingga 40 karakter (2x40 dan 4x40),

dimana kita menggunakan DDRAM untuk mengatur tempat penyimpanan karakter

tersebut.

Page 26: Timbangan Buah Digital Berbasis Atmega16

2.2.1 Susunan Alamat Pada LCD

Alamat awal karakter 00H dan alamat akhir 39H. Jadi, alamat awal di baris kedua

dimulai dari 40H. Jika Anda ingin meletakkan suatu karakter pada baris ke-2 kolom

pertama, maka harus diset pada alamat 40H. Jadi, meskipun LCD yang digunakan 2x16

atau 2x24, atau bahkan 2x40, maka penulisan programnya sama saja.

CGRAM merupakan memori untuk menggambarkan pola sebuah karakter, dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan. Namun, memori akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang. Berikut tabel pin untuk LCD M1632. Perbedaannya dengan LCD standar adalah pada kaki 1 VCC, dan kaki 2 Gnd. Ini kebalikan dengan LCD standar.

Perlu diketahui, driver LCD seperti HD44780 memiliki dua

register yang aksesnya diatur menggunakan pin RS. Pada saat RS

berlogika 0, register yang diakses adalah perintah, sedangkan pada

saat RS berlogika 1, register yang diakses adalah register data.

Agar dapat mengaktifkan LCD, proses inisialisasi harus

dilakukan dengan cara mengeset bit RS dan meng-clear-kan bit E

dengan delay minimal 15 ms. Kemudian mengirimkan data 30H dan

ditunda lagi selama 5 ms. Proses ini harus dilakukan tiga kali, lalu

mengirim inisial 20H dan interface data length dengan lebar 4 bit saja

Page 27: Timbangan Buah Digital Berbasis Atmega16

(28H). Setelah itu display dimatikan (08H) dan di-clear-kan (01H).

Selanjutnya dilakukan pengesetan display dan cursor, serta blinking

apakah ON atau OFF.

BAB III

PERENCANAAN DAN REALISASI

Spesifikasi Alat

Berikut ini adalah spesifikasi dari sistem yang akan direalisasikan :

1. Tegangan Operasional Sistem : 12VDC

2. Sumber : Adaptor

3. Mikrokontroler : ATMEGA16

4. Output : Layar LCD

5. Range Berat : 0 – 50 Kg

Diagram Blok

Page 28: Timbangan Buah Digital Berbasis Atmega16

Gambar 3.1 Diagram Blok Sistem Kontrol Alat Bantu Penyebrangan

Minsis ATMEGA16 berfungsi sebagai pengendali utama untuk

mengendalikan system secara keseluruhan. Ketika potensiometer

berubah posisinya, maka masukan input dari ADC internal yang di

miliki Atmega16 juga berubah yang menyebabkan perubahan nilai

berat yang ditampilkan LCD. Potensiomter berfungsi untuk

menentukan nilai berat yang akan ditampilkan oleh LCD

3.1 Cara kerja Rangkaian

Jenis timbangan yang digunakan adalah jenis timbangan pegas.

Timbangan berfungsi sebagai alat pokok dalam sistem ini. Di dalam

timbangan ini dipasang sebuah potensiometer geser. Ketika

timbangan mendapatkan beban, jarum yang ada di timbangan akan

berputar dan mengubah resistansi pada potensiometer. Karena

Page 29: Timbangan Buah Digital Berbasis Atmega16

adanya perubahan pada resistansi, berubah pula tegangan yang di

berikan ke AVR Atmega 16. Di dalam AVR sudah terintegrasi

rangkaian ADC yang mengubah data analog menjadi data digital yang

nantinya bisa di program di dalam AVR. Output dari AVR masuk ke

dalam LCD. Nilai berat yang diterima ditampilkan oleh LCD

3.2 Perancangan Hardware

3.2.1 Timbangan dan Potensiometer

Jenis timbangan yang digunakan adalah jenis timbangan pegas

yang dapat menimbang hingga berat maksimal 30 kg. Timbangan

berfungsi sebagai alat pokok dalam sistem ini. Di dalam timbangan

ini dipasang sebuah potensiometer geser yang biasa digunakan

untuk equalizer pada sebuah pemutar audio seperti tape, radio dan

lain-lain. Potensiometer dipasang secara permanen yang apabila

timbangan diberi beban maka pegas akan menurun dan ikut

menggerakan potensiometer tersebut. Semakin berat beban yang

diberikan semakin besar hambatan yang dihasilkan oleh

potensiometer.

3.2.1 Mikrokontroler

Minimum system yang ingin digunakan adalah berupa modul

mikrokontroler AT8MEGA16, mikrokontroler ini memiliki 4 Port, ( Port

A sampai port D ), semuanya ada 40 pin input output

Page 30: Timbangan Buah Digital Berbasis Atmega16

Gambar 3.1 Skematik Rangkaian

Tabel 3.2 Port – port yang ingin digunakan pada Modul ATMEGA16

Port Fungsi Keterangan

Port A Input Input dari Potensiometer

Port C.0 – C.7 Output Inisial LCD

Foto Alat

Page 31: Timbangan Buah Digital Berbasis Atmega16

3.2 Perancangan Software

3.3.1 Flowchart Program

Sesuai perancangan hardware, maka dapat dirancang flowchart program yang sesuai

dengan fungsi alat yang diinginkan, berikut gambar rancangan flowchart program :

Page 32: Timbangan Buah Digital Berbasis Atmega16

3.3.2 Listing Program

Dari rancangan flowchart program diatas, dapat dirancang program seperti yang

diinginkan, berikut adalah listing program pada mikrokontroler sesuai dengan rancangan

flowchart :

#include <mega16.h>

#include <delay.h>

#include <stdio.h>

#asm

.equ __lcd_port=0x15 ;PORTC

#endasm

#include <lcd.h>

#define ms delay_ms

#define ADC_VREF_TYPE 0x40

unsigned int read_adc(unsigned char adc_input)

{

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

delay_us(10);

ADCSRA|=0x40;

while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

return ADCW;

Page 33: Timbangan Buah Digital Berbasis Atmega16

}

int x,bar;

float berat;

char buf[33];

void baca_sensor(){

x=read_adc(0);

berat=(x-500)*1.3;

if (berat<x) {

berat=x*0 ;}

}

void display_sensor(){

lcd_gotoxy(0,0);lcd_putsf("Beratnya:");

lcd_gotoxy(0,1);sprintf(buf,"%0.0f kilogram",berat);lcd_puts(buf);

}

void opening(){

lcd_gotoxy(0,0);lcd_putsf("Author:");

Page 34: Timbangan Buah Digital Berbasis Atmega16

ms(1000);

lcd_gotoxy(0,1);lcd_putsf("Zali");

ms(1000);

lcd_clear();

lcd_gotoxy(0,0);lcd_putsf("Loading");

for(bar=0;bar<=15;bar++){

lcd_gotoxy(bar,1);

lcd_putsf("\xFF");

lcd_gotoxy(5,0);

delay_ms(40);

}

ms(1000);

lcd_clear();

}

void main(void)

{

PORTA=0x00;

DDRA=0x00;

PORTB=0x00;

DDRB=0x00;

Page 35: Timbangan Buah Digital Berbasis Atmega16

PORTD=0x1C;

DDRD=0xFF;

TCCR1A=0x81;

TCCR1B=0x0D;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

ADMUX=ADC_VREF_TYPE & 0xff;

ADCSRA=0x83;

lcd_init(16);

opening();

while (1)

{

baca_sensor();

Page 36: Timbangan Buah Digital Berbasis Atmega16

display_sensor();

};

}

BAB IV

PENUTUP

1.1 Kesimpulan

Berdasarkan dari pengujian, maka akhirya pembuatan tugas proyek ini dapat

diambil beberapa simpulan diantaranya :

1. Timbangan hanya dapat membaca berat minimal 0 kg dan maksimal 30 kg

2. Apabila beban ditambah 1 sampai dengan 2 ons maka angka pecahan tidak menyala

stabil. Apabila ditambah beban 3 sampai dengan 4 ons maka angka pecahan akan

dibulatkan ke atas.

5.2 Saran

1. Sebaiknya digunakan sensor tekan (berat) yang lebih sensitif sehingga akan terjadi

perubahan nilai tegangan meskipun diberi beban yang ringan.

2. Sebaiknya digunakan jenis timbangan yang menggunakan pegas yang lunak dan skala pembacaan berat yang lebih besar.