makalah halte bus hemat eergi berbasis mikrokontroler atmega8535
Post on 30-Nov-2015
71 Views
Preview:
DESCRIPTION
TRANSCRIPT
“HALTE BUS HEMAT EERGI BERBASIS MIKROKONTROLER ATMEGA8535”
Handyan Bima P ( 3.39.11.0.10)
Septian Dani P (3.39.11.0.20 )
Annisa Wigati (3.39.11.0.02)
Program studi Teknik Listrik, Jurusan Teknik Elektro, Politeknik Negeri Semarang
Jln. Prof. Sudarto Tembalang Semarang INDONESIA
Abstrak
Mikrokontroler merupakan suatu terobasan teknologi mikroprosesor dan mikrokomputer yang
merupakan teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya
membutuhkan ruang yang sangast kecil, Lebih lanjut, mikrokontroler merupakan system computer
yang mempunyai satu atau beberapa tugas yang sangat spesifik, berbeda dengan PC (Personal
Computer ) yang memiliki beragam fungsi.
Tidak seperti sistem komputer yang mampu menangani berbagai macam program aplikasi,
mikrokontrler hanya bisa digunakan untuk suatu aplikasi tertentu saja, perbedaan lainnya terletak pada
perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM nya besar,
artinya program-program penggunba disimpan dalam ruang RAM yang relative besar, sedangkan
rutin-rutin antar muka perangkat keras disimpan dalam ruang ROM yang kecil, Sedangkan pada
mikrokontroler, perbandingan ROM dan RAM –nya yang besar, artinya program kontrol disimpan
dalm ROM (bias MaskedROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan
RAM digunakan sebagai tempat penyimpanan sementara , termasuk register-register yang digunakn
pada mikrokontroler yang bersangkutan.
I. PENDAHULUAN
Seiring dengan perkembangan zaman, tentunya
kebutuhan hidup manusia akan terus menigkat.
Tidak terkecuali akan pentingnya kebutuhan energi
listrik. Saat ini kita mungkin dapat menikmati
listrik dengan mudah sesuai dengan kebutuhan kita,
namun demikian, apakah beberapa tahun kedepan
kita dapat menggunakannya secara terus-menerus?
Mengingat persediaan bahan bakar energi fosil
yang terus menipis, sedangkan energi-energi
terbarukan, apakah kita hanya akan mengandalkan
itu saja? Untuk kebutuhan kita yang setiap harinya
semakin meningkat.
Salah satu langkah yang dapat kita lakukan adalah
gaya hidup hemat energi dan efisien. Kita dapat
memulai dari hal yang paling kecil dan sederhana
di sekitar kita, misalnya lampu yang kita gunakan
untuk penerangan, sebenranya kita hanya
memerlukan lampu apabila dalam keadaaan yang
gelap saja. Namun pada kenyataanya banyak yang
menyalah gunakannya dengan tidak mematikan
lampu setelah keperluan kita selesai. Ini adalh
contoh kecil, namun bayangkan apabila hal itu
dilakukan berulang-ulang secara terus-menerus dan
dilakukan oleh tidak hanya satu orang melainkan
banyak orang. Tentunya akan terjadi pemborosan
yang mungkin tidak kita sadari langsung
dampaknya sekarang, namun jangka panjang nanti.
Hal-hal kecil seperti inilah yang perlu kita
perhatikan karena banyak orang yang justru tidak
memperhatikannya.
Untuk itu untuk mempermudah dalam berhemat
dan efisiensi energi, dapat digunakan suatu alat
yang dapat mengoptimalkan kapan lampu harus
menyala, dan berapa jumlah nyala lampu yang
dibutuhkan. Alat tersebut adalah Halte Bus Hemat
Energi Berbasis Mikrokontroller Atmega8535.
Seperti yang telah disebutkan maka, alam alat ini
diaplikasikan pada fasilitas umum di masyarakat
yaitu halte bus.
II. DASAR TEORI
Deskripsi Mikrokontroller ATMega8535
Mikrokontroler ATMega8535 merupakan salah
satu keluarga dari AVR keluaran Atmel.
ATMega8535 memiliki fitur yang cukup lengkap.
Mulai dari kapasitas memori program dan memori
data yang cukup besar, interupsi, timer/counter,
analog comparator, EEPROM internal dan juga
ADC internal semuanya ada dalam ATMega 8535.
ATMega8535 juga Memiliki teknologi RISC
dengan kecepatan maksimal 16 MHz. Dengan
fasilitas yang lengkap tersebut menjadikan
ATMega8535 sebagai mikrokontroler yang
powerful. Adapun Fitur-fitur dari ATMega8535:
a) 130 macam instruksi, yang semuanya
dieksekusi dalam satu siklus clock.
b) 32 x 8-bit register serba guna.
c) Kecepatan mencapai 16 MIPS dengan clock 16
MHz..
d) 8 Kbyte Flash Memori, yang memiliki fasilitas
In-System Programing.
e) 512 Byte internal EEPROM.
f) 512 Byte SRAM.
g) Programming Lock, fasilitas untuk
mengamankan kode program..
h) 2 buah timer/counter 8bit dan 1 buah
timer/counter 16bit.
i) 4 channel output PWM
j) 8 channel ADC 10bit.
k) Serial USART.
l) Master/Slave SPI serial interface.
m) Serial TWI atau 12C.
n) On-Chip Analog Computer.
Berikut adalah gambar mikrokontroler dan
konfigurasi PIN pada ATMega8535:
Gambar 2.1 Mikrokontroler ATMega8535
Gambar 2.2 Konfigurasi Pin ATMega8535
Dari gambar tersebut dapat dijelaskan secara
fungsional konfigurasi pin ATMega8535 sebagai
berikut:
1. VCC merupakan pin yang berfungsi sebagai pin
masukan catu daya.
2. GND merupakan pin ground.
3. Port A (PA0..PA7) merupakan pin I/O dua arah
dan pin masukan ADC.
4. Port B (PB0..PB7) merupakan pin I/O dua arah
dan pin fungsi khusus , yaitu Timer/Counter,
komparator analog, dan SPI.
5. Port C (PC0..PC7) merupakan pin I/O dua arah
dan pin fungsi khusus, yaitu TWI, komparator
analog, dan Timer Oscilat.
6. Port D (PD0.. PD7 merupakan pin I/O dua
arah dan fungsi khusus, yaitu komparator analog,
interupsi eksternal, komunikasi serial.
7. RESET merupakan pin yang digunakan untuk
mereset mikrokontroler.
8. XTAL1 dan XTAL2 merupakan pin masukan
clock eksternal.
9. AVCC merupakan pin masukan tegangan untuk
ADC.
10. AREF merupakan pin masukan tegangan
referensi ADC
Mikrokontroler ATMega8535 memiliki arsitetur
Harvard, yakni memisahkan memori untuk kode
program dan memori untuk data sehingga dapat
memaksimalkan untuk kerja dan paralelisme.
Instruksi-instruksi dalam memori program
dieksekusi dalam satu alur tunggal, dimana pada
satu instruksi-instruksi dapat dieksekusi dalam
setiap satu siklus clock.
Gambar 2.2 Arsitektur ATMega8535
32 x 8-bit regsister serba guna digunakan untuk
mendukung operasi pada
arithmetic Logic Unit (ALU) yang dapat
dilakukan dalam satu siklus. 6 dari register serba
guna ini dapat digunakan sebagai 3 buah
register pointer 16-bit pada mode pengalamatan
tak langsung untuk mengambil data pada ruang
memori data. Ketiga register pointer 16bit ini
disebut dengan register X( gabungan R26 dan
R27), register Y(gabungan 28 dan 29), register Z
(gabungan R30 dan R31).Selain reiste serbaguna
di atas, terdapat register lain yang terpetakan
dengan teknik memory mapped I/O sebesar 64
byte. Beberapa register digunakan untuk fungsi
khusus antara lain sebagai register kontrol
timer/counter, interupsi, ADC, EEPROM dan
fungsi I/O(Input/Output) lainnya.
CodeVisionAVR
CodeVisionAVR adalah salah satu
program pengembang / pembuatan program untuk
kemudian ditanamkan dan dijalankan pada
microcontroller terutama mikrokontroller keluarga
AVR. CodeVisionAVR juga bisa disebut sebagai
IDE ( Integrated Development Environment) yaitu
lingkungan kerja yang terintegrasi, karena
disamping tugas utamanya (meng -compile kode
program menjadi file HEX / bahasa mesin).
Kelebihan dari CodeVisionAVR adalah tersedianya
fasilitas untuk mendownload program ke
mikrokontroler yang telah terintegrasi
sehingga dengan demikian CodeVisionAVR ini
selain dapat berfungsi sebagai software compiler
juga berfungsi sebagai software
programmer/downloader. Jadi kitadapat melakukan
proses download program yang telah dikompile
menggunakan software CodeVisionAVR juga.
III. PERANCANGAN ALAT
3.1 SOFTWARE
3.3.1 Listing Program
#include<mega8535.h>
#include<delay.h>
unsigned char counter_berangkat=0;
unsigned char counter_datang=0;
void main (void)
{
DDRA=0Xff;
DDRB=0X00;
DDRC=0Xff;
while(1)
{
counter_berangkat=0;
counter_datang=0;
PINB=0x00;
PORTA=0xff;
PORTC=0xff;
while (PINB.0==1)
{
PORTA.0=0;
PORTC=0xff;
while(PINB.1==1)
{
delay_ms(10);
if(PINB.1==0)
{
delay_ms(10);
counter_berangkat++;
}
}
while(PINB.2==1)
{
delay_ms(10);
if(PINB.2==0)
{
delay_ms(10);
counter_berangkat--;
}
}
while(PINB.3==1)
{
delay_ms(10);
if(PINB.3==0)
{
delay_ms(10);
counter_datang++;
}
}
while(PINB.4==1)
{
delay_ms(10);
if(PINB.4==0)
{
delay_ms(10);
counter_datang--;
}
}
if (counter_berangkat==0)
{
PORTC.0=1;
PORTC.1=1;
PORTC.2=1;
PORTC.3=1;
}
if (counter_berangkat>=1 &&
counter_berangkat<=5)
{
PORTC.0=0;
PORTC.1=1;
PORTC.2=1;
PORTC.3=1;
}
if (counter_berangkat>=6 &&
counter_berangkat<=10) //jika counter
berangkat=6-10
{
PORTC.0=0;
PORTC.1=0;
PORTC.2=1;
PORTC.3=1;
}
if (counter_berangkat>=11 &&
counter_berangkat<=15)
{
PORTC.0=0;
PORTC.1=0;
PORTC.2=0;
PORTC.3=1;
}
if (counter_berangkat>=16)
{
PORTC.0=0;
PORTC.1=0;
PORTC.2=0;
PORTC.3=0;
}
if (counter_datang==0)
{
PORTC.4=1;
PORTC.5=1;
PORTC.6=1;
PORTC.7=1;
}
if (counter_datang>=1 &&
counter_datang<=5)
{
PORTC.4=0;
PORTC.5=1;
PORTC.6=1;
PORTC.7=1;
}
if (counter_datang>=6 &&
counter_datang<=10)
{
PORTC.4=0;
PORTC.5=0;
PORTC.6=1;
PORTC.7=1;
}
if (counter_datang>=11 &&
counter_datang<=15)
{
PORTC.4=0;
PORTC.5=0;
PORTC.6=0;
PORTC.7=1;
}
if (counter_datang>=16)
{
PORTC.4=0;
PORTC.5=0;
PORTC.6=0;
PORTC.7=0;
}
delay_ms(10);
}
}
3.2 HARDWARE
3.2.1. Daftar Komponen dan Fungsi
1. Mikrokontroler ATMega8535
Merupakan komponen yang utama yang digunakan
sebagai otak dari pemroses program dalam bahasa
C yang digunakan untuk menjalankan program
yang diinginkan.
2. Photodioda
Photodioda adalah sensor cahaya yang mengadopsi
prinsip dioda, yaotu hanya akan mengalirkan arus
listrik satu arah saja. Sama seperti LDR, photo
diode juaga akan mengubah besaran cahaya yang
diterima menjadi perubahan konduktansi pada
kedua kakinya, semakin besar cahaya yang
diterima semakin tinggi juga nilai konduktansinya
dan sebaliknya. Pada photo diode walaupun nilai
konduktansi tinggi (resistansi rendah) tetapi arus
listrik hanya dapat dialirkan satu arah saja dari kaki
Anoda ke kaki Katoda.
3. LDR
LDR (Light Dependent Resistor) adalah sensor
cahaya yang dapat mengubah besaran cahaya yang
diterima menjadi besaran konduktansi. Apabila
LDR (Light Dependent Resistor) menerima cahaya
maka nilai konduktansi antara kedua kakinya akan
meningkat (resistansi turun). Semakin besar cahaya
yang diterima maka semakin tinggi nilai
konduktansinya (nilai resistansinya semakin
rendah). Aplikasi LDR salah satunya pada lampu
penerangan jalan yang akan menyala otomatis pada
saat cahaya matahari mulai redup.
4. Dioda N4007
Dioda secara umum berfungsi untuk
memperbolehkan arus listrik
mengalir dalam suatu arah (disebut kondisi bias
maju) dan untuk menahan
arus dari arah sebaliknya (disebut kondisi bias
mundur).
5. Resistor
Resistor adalah komponen elektronik dua saluran
yang didesain untuk
menahan arus listrik dengan memproduksi
penurunan tegangan diantara kedua
salurannya sesuai dengan arus yang mengalirinya.
6. Kapasitor
Kapasitor atau yang sering disebut kondensator
adalah suatu alat yang dapat menyimpan energi di
dalam medan listrik, dengan cara mengumpulkan
ketidakseimbangan internal dari muatan listrik .
7. Transistor
Transistor adalah alat semikonduktor yang dipakai
sebagai penguat,
sebagai sirkuit pemutus dan penyambung
(switching), stabilisasi tegangan,
modulasi sinyal atau sebagai fungsi lainnya.
8. Adaptor
Adaptor merupakan pemyearah dari sumber
tegangan AC ke DC, adaptor pada rangkaian ini
mempunyai tegangan 9V.
3.5 Prinsip Kerja Rangkaian
Prinsip kerja dari rangkaian ini adalah
menggunakan sensor inframerah sebagai pemicu
mengetahui jumlah pengunjung pada halte bis.
Pertama, ketika ada penumpang yang memasuki
halte maka secara otomatis lampu indikator
menyala . Pada hal ini LED inframerah
memancarkan cahaya yang akan mengenai photo
dioda yang kemudian disambungkan pada gerbang
NOT sebelum masuk ke port P2.0, sehingga
masukannya akan 0.
Kemudian, apabila ada orang yang keluar maka
lampu indikator akan mati sesuai jumlah
penumpang yang keluar dari halte bis, maka ketika
pintu dibuka LED inframerah akan bergeser dan
sensor photo dioda tidak terkena cahaya LED,
sehingga masukan pada IC AT89S51 menjadi 1.
Hal ini akan membuat lampu indikator dari output
P0.0 menyala dan mati sesuai dengan program
yang telah dimasukkan pada Atmega 8535.
IV. PEMBAHASAN
#include<mega8535.h>
#include<delay.h>
// LAMPU LUAR=PA.0, LAMPU A1-A4=PC.0-
PC.3,LAMPU B1-B4 = PC4-PC7 (ACTIV low)
//LDR = PB.0 , SENSOR MASUK BERANGKAT
= PB.1, SENSOR KELUAR BERANGKAT=PB.2
( input activ low)
//SENSOR MASUK DATANG = PB.3 , SENSOR
KELUAR DATANG = PB.4
unsigned char counter_berangkat=0;
unsigned char counter_datang=0;
void main (void)
{
DDRA=0Xff;
DDRB=0X00;
DDRC=0Xff;
while(1)
{
counter_berangkat=0;
counter_datang=0;
PINB=0x00;
PORTA=0xff; //lampu luar mati
PORTC=0xff; //semua lampu dalam
mati
while (PINB.0==1) // terang =0 gelap =1
{ //saat gelap
PORTA.0=0; //lampu luar hidup
PORTC=0xff;
while(PINB.1==1) //gerbang
keberangkatan (masuk)gerbang terhalang= 1 , tidak
terhalang=0
{
delay_ms(10);
if(PINB.1==0)
{
delay_ms(10);
counter_berangkat++;
}
}
while(PINB.2==1) //gerbang
keberangkatan (keluar)gerbang terhalang= 1 , tidak
terhalang=0
{
delay_ms(10);
if(PINB.2==0)
{
delay_ms(10);
counter_berangkat--;
}
}
while(PINB.3==1) //gerbang
kedatangan (masuk)gerbang terhalang= 1 , tidak
terhalang=0
{
delay_ms(10);
if(PINB.3==0)
{
delay_ms(10);
counter_datang++;
}
}
while(PINB.4==1) //gerbang
kedatangan (keluar)gerbang terhalang= 1 , tidak
terhalang=0
{
delay_ms(10);
if(PINB.4==0)
{
delay_ms(10);
counter_datang--;
}
}
if (counter_berangkat==0)
{
PORTC.0=1;
PORTC.1=1;
PORTC.2=1;
PORTC.3=1;
}
if (counter_berangkat>=1 &&
counter_berangkat<=5) //jika counter berangkat=1-
5
{
PORTC.0=0; // 1 lampu menyala
PORTC.1=1;
PORTC.2=1;
PORTC.3=1;
}
if (counter_berangkat>=6 &&
counter_berangkat<=10) //jika counter
berangkat=6-10
{
PORTC.0=0; // 2 lampu menyala
PORTC.1=0;
PORTC.2=1;
PORTC.3=1;
}
if (counter_berangkat>=11 &&
counter_berangkat<=15) //jika counter
berangkat=11-15
{
PORTC.0=0; // 3 lampu menyala
PORTC.1=0;
PORTC.2=0;
PORTC.3=1;
}
if (counter_berangkat>=16)
//jika counter berangkat=lebih dari 15
{
PORTC.0=0; //4 lampu menyala
PORTC.1=0;
PORTC.2=0;
PORTC.3=0;
}
if (counter_datang==0)
{
PORTC.4=1;
PORTC.5=1;
PORTC.6=1;
PORTC.7=1;
}
if (counter_datang>=1 &&
counter_datang<=5)
{
PORTC.4=0;
PORTC.5=1;
PORTC.6=1;
PORTC.7=1;
}
if (counter_datang>=6 &&
counter_datang<=10)
{
PORTC.4=0;
PORTC.5=0;
PORTC.6=1;
PORTC.7=1;
}
if (counter_datang>=11 &&
counter_datang<=15)
{
PORTC.4=0;
PORTC.5=0;
PORTC.6=0;
PORTC.7=1;
}
if (counter_datang>=16)
{
PORTC.4=0;
PORTC.5=0;
PORTC.6=0;
PORTC.7=0;
}
delay_ms(10);
}
}
}
BAB IV
PENUTUP
A. KESIMPULAN
Dari hasil percobaan yang telah dirancang
dan dibuat maka hasil yang diperoleh :
1. .alat ini dapat berfungsi apabila ada
pengunjung/penumpang yang
memasuki halte bis maka lampu
indikator akan menyala sesuai jumlah
pengunjung di halte bis tersebut.
2.
B. SARAN
Saran yang dapat penyusun sampaikan
adalah :
1. Dalam merencakan pembuatan
mikrokontroler sebaiknya perlu
direncanakan, diperhitungkan dan
dianalisa dengan cermat, agar hasil
yang diinginkan lebih maksimal.
2. Dalam pembuatan rancangan desain
mikrokontroler sebaiknya dirancang
sesederhana mungkin namun tetap
memiliki fungsi yang bermanfaat
dikehidupan.
top related