Kamis, 29 Oktober 2015

Rancangan Sistem Penghitung Parkir Kendaraan Otomatis ATmega8535

| Kamis, 29 Oktober 2015
 Mikrokontroler merupakan komponen elektronika yang penting digunakan pada suatu rancangan sistem. semakin berkembang memiliki banyak manfaat, dapat diprogram sesuai dengan kebutuhan. Mikrokontroler merupakan mikroprosesor kecil yang di dalamnya memiliki fungsi khusus.
       Mikrokontroler ini umumnya dapat diprogram melalui komputer dengan interface seperti COM atau LPT bahkan yang terbaru melalui USB (Universal Serial Bus). Mikrokontroler ini dapat digunakan sesuai dengan kebutuhan karena dapat diprogram dengan banyak bahasa.

aplikasi Seven Segment yang digunakan untuk menampilkan hasil sebagai outputnya dan berjalan berdasarkan sensor yang dikendalikan oleh mikrokontroler ATMega8535.Sensor yang digunakan alat ini menggunakan sensor infra red (Led Infrared) sebagai pendeteksi ada tidaknya kendaraan dan dua tampilan seven segment sebagai keluaran (output)nya.
Sistem ini dirancang menggunakan Mikrokontroler ATMega8535 dan Dua buah sensor infra red. Sensor infra red, akan memeriksa segala kondisi yang terdapat pada lingkungan atau keadaan dihadapannya. Apabila sinar infra red tersebut mengenai sebuah Kendaraan maka akan menghasilkan logika low dan ketika tidak ada kendaraan maka sensor akan menghasilkan logika high, yaitu tegangan 5 volt dan 0 untuk tegangan 0 volt, yang kemudian akan masuk ke PortB,0 pada mikrokontroler sebagai input yang kemudian data diproses sedemikian rupa untuk menampilkan output pada sevensegment dengan menggunakan PortA,0 dan PortC,0 sebagai output untuk menentukan Hasil pada sevensegment.

Cara kerja sistem secara umum yaitu, rangkaian Powersupply memberikan tegangan 5 volt pada rangkaian mikrokontroler, sensor infra red dan Sevensegment. Pada rangkaian mikrokontroller yang telah diprogram akan menerima masukkan dari sensor infra red yang akan menampilkan output pada sevensegment.


Pembahasan Program



Dalam pembuatan program terlebih dahulu dimasukkan file include, dan pengalamatan awal .Untuk lebih jelasnya tampak seperti dibawah ini :
.include "C:\Robot Pemadam Api\m8535def.inc"
.org 0x0000
rjmp main

Pada potongan program tersebut dapat dijelaskan bahwa m8535.def.inc merupakan file include yang digunakan untuk mikrokontroler ATMega8535. .org 0x0000 merupakan pengalamatan awal.

Selanjutnya adalah inisialisasi Stack Pointer. Stack Pointer merupakan suatu bagian dari AVR yang berguna untuk menyimpan data sementara, variable lokal, dan alamat kembali dari suatu interupsi ataupun subrutin. Stack Pointer diwujudkan sebagai dua buah register, yaitu SPH dan SPL. Pada awalnya, SPH dan SPL akan bernilai 0 sehingga setiap program harus terdapat inisialisai ini agar setiap pemanggilan subrutin ataupun interupsi program dapat kembali ke subrutin program semula. Berikut potongan dari perintah program untuk inisialisasi Stack Pointer :
Main :
#include 
#include "count.h"
#define sen1 0
#define sen2 3
#define read PORTB

int main()
{
DDRB=0xf0;
DDRC=DDRA=0x0f;
PINB=0x0f;
PORTA=PORTC=0;
while(1)
{
if(bit_is_clear(PINB,0))
hitung();
else if(bit_is_clear(PINB,3))
pengurang();
}
}

Setelah inisialisasi Stack Pointer selesai langkah selanjutnya adalah pensetingan Counter. Counter adalah Penambahan waktu yang digunakan mikrokontroler untuk memberikan waktu bertambah dalam mengeksekusi intruksi program selanjutnya. Dalam pembuatan aplikasi ini menggunakan counter,puluhan=0; untuk Counter pada seven segment, Adapun listing programnya seperti dibawah ini :
#ifndef COUNT_H
#define COUNT_H
#include 
uint8_t counter,puluhan=0;
void hitung()
{
counter++;
PORTC=counter;
if(counter==9){
counter=0;
PORTC=counter;
puluhan++;
PORTA=puluhan;
}
}

void pengurang()
{
if(PORTC==0){
PORTC=9;
PORTC--;
}
else
PORTC--;
PORTC=counter;
puluhan--;
PORTA=puluhan;

}
#endif

Pada program tersebut dapat dijelaskan bahwa pembacaan awal dimulai dari1 label Mulai_Berjalan. PINB=0x0f; berarti periksa apakah PinB,0 berlogika 0, jika ya Maka seven segment akan menampilkan angka 1, jika tidak maka Seven segment akan menampilkan angka 0. dan seterusnya.

Related Posts

Tidak ada komentar: