Dokumen ini membahas tentang rancangan simulasi traffic light menggunakan mikrokontroler ATmega32A dan bahasa pemrograman C. Simulasi ini dirancang untuk mengatur lalu lintas di persimpangan dengan empat grup lampu. Program yang dirancang terlebih dahulu diuji simulasi menggunakan software Code Vision untuk memastikan fungsi dan alur kerjanya sesuai dengan yang diharapkan.
1 of 18
More Related Content
Traffic Light Berbasis ATMega32A
1. TUGAS MIKROPROSESSOR
Traffic Light Berbasis Mikrocontroller
ATMEGA 32A
Disusun Oleh:
Ammazizzaky Tarigan
(131421089)
Syahrial Affandi
(131421084)
Yakhdi Perari Pinem
(131421088)
Masita
(131421071)
Dosen:
Dahlan RP. Sitompul
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATRA UTARA
MEDAN
2013
1
2. Perkembangan teknologi semakin hari semakin bertambah modern, tidak
terkecuali peralatan electronik. Hampir semua menggunakan peralatan serba otomatis,
misal smart reley/PLC. Smart reley yaitu alat yang dapat di program oleh suatu bahasa
tertentu yang digunakan pada proses otomasi. Alat ini memiliki dua tipe yakni tipe
compact dan modular. Smart reley ini memiliki fungsi yaitu pengontrol berbasis
mokrokontroler yang memanfaatkan memori yang dapat di program untuk menyimpan
instruksi dengan aturan tertentu dan dapat mengimplementasikan fungsi khhusus yakni
seperti fungsi logika, pewaktu, pencacahan. Cara kerja smart reley ini adalah memeriksa
kondisi input.
Perancangan simulasi traffic light ini dirancang secara miniatur. Dalam hal
pemrogramannya, digunakan bahasa pemrograman yaitu dengan Bahasa C, dengan
menggunakan Aplikasi Code Vision. Dari hasil pembahasan dan pengujian simulasi
traffic light berbasis mikrokontroler atmega32A. Program yang dirancang sebelum
dimasukkan ke mikrokontroler terlebih dahulu dilakukan uji simulasi dan telah sesuai
dengan apa yang diperlukan. Berdasarkan uji coba yang telah dilakukan bahwa, alat ini
bekerja sesuai dengan instruksi atau program yang telah di program.
Prinsip kerja alat ini yaitu dimulai dari group satu, dimana lampu penyeberangan
akan hijau dan lampu di grup dua, grup tiga, grup empat merah dan sebaliknya di mana
di grup satu merah maka salah satu dari grup lainnya menjadi hijau.
Pendahuluan
Jumlah kendaraan bermotor dari tahun ke tahun semakin bertambah. Demikian
pula dengan kemacetan kendaraan bermotor juga mengalami kenaikan dan seringnya
terjadi kecelakaan bermotor yang disebabkan lengahnya pemilik kendaraan saat memakai
kendaraannya. Kondisi ini membuat traffic light menjadi sangat penting, maka diperlukan
suatu alat yang dapat membantu pencegah terjadinya kemacetan dan kecelakaan
2
3. kendaraan bermotor. Salah satunya adalah dengan menggunakan teknologi singlechip
yang sering disebut dengan mikrokontroler. Pada perancangan dan pembuatan proyek
madya alat ini dibuat berupa sistem simulasi.
Di karenakan Dewasa ini pengguna jalan meningkat dengan pesat, baik
pengendara sepeda motor maupun pengendara mobil. Dengan banyaknya kendaraan yang
melintas diperlukan suatu pengaturan di sebuah persimpangan, baik pertigaan,
perempatan dan banyak lagi. Dengan traffic light yang dipasang diharapkan tidak terjadi
kemacetan, dengan sistem yang diatur oleh lampu lalu lintas traffic light. Traffic light ini
juga mencegah terjadinya kecelakaan. Juga keadaan dari jalan tidak menentu, di pagi hari
ramai orang-orang yang berangkat bekerja atau siswa berangkat ke sekolah, saat siang
hari sedikit lengang, kemudian sore harinya mulai ramai kembali. Dengan keadaan
tersebut maka dibutuhkan traffic light untuk mengatur lalu lintas supaya berjalan lancar
Untuk membuat traffic light kita membutuhkan beberapa alat dan software
simulasi untuk perancangannya ,Dimana sistem simulasi ini menggunakan salah satu
software simulasi PROTEUS 7.9. Software yang dapat membuat simulasi dengan
mikrokontroler. Dengan adanya software ini kita bisa membuat rangkaian dengan cara
simulasi sebelum kita membuat rancangan alat hardware dalam suatu bentuk yang nyata.
1.2 Tujuan dan Manfaat
1.2.1 Tujuan
1. Merancang dan membuat alat untuk dapat bisa mengetahui cara kerja traffic light
3
4. 2. Dapat mengetahui pemakaian software simulasi sebelum membuat hardware
sebenarnya
1.2.2 Manfaat
1. Dengan adanya software simulasi ini akan dapat memudahkan pembuatan
hardware
2. Memperoleh pengetahuan tentang software simulasi dan cara kerja traffic light
Alat dan Bahan
1. Mikrokontroller ATMEGA 32A
merupakan sebuah mikrokontroler low power CMOS 8 bit berdasarkan arsitektur
AVR RISC.
Secara fungsional konfigurasi pin ATMega32 adalah sebagai berikut:
a.
b.
c.
VCC - Tegangan sumber
GND (Ground) - Ground
Port A (PA7 PA0)
4
5. Port A adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin
memilki internal pull-up resistor. Output buffer port A dapat mengalirkan
arus sebesar 20 mA. Ketika port A digunakan sebagai input dan di pull-up
secara langsung, maka port A akan mengeluarkan arus jika internal pull-up
resistor diaktifkan. Pin-pin dari port A memiliki fungsi khusus yaitu dapat
berfungsi sebagai channel ADC (Analog to Digital Converter) sebesar 10
bit. Fungsi-fungsi khusus pin-pin port A dapat ditabelkan seperti yang
tertera pada tabel .
Fungsi khusus port A
Port
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
d.
Alternate Function
ADC7 (ADC input channel 7)
ADC6 (ADC input channel 6)
ADC5 (ADC input channel 5)
ADC4 (ADC input channel 4)
ADC3 (ADC input channel 3)
ADC2 (ADC input channel 2)
ADC1 (ADC input channel 1)
ADC0 (ADC input channel 0)
Port B (PB7 PB0)
Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin
mengandung internal pull-up resistor. Output buffer port B dapat
mengalirkan arus sebesar 20 mA. Ketika port B digunakan sebagai input
dan di pull-down secara external, port B akan mengalirkan arus jika internal
pull-up resistor diaktifkan.
Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya :
揃 SCK port B, bit 7
Input pin clock untuk up/downloading memory.
揃 MISO port B, bit 6
Pin output data untuk uploading memory.
揃 MOSI port B, bit 5
Pin input data untuk downloading memory.
Fungsi-fungsi khusus pin-pin port B dapat ditabelkan seperti pada tabel
Port
PB7
PB6
PB6
PB5
PB3
OCO
PB2
INT2
Alternate Function
SCK (SPI Bus Serial Clock)
MISO (SPI Bus Master Input/Slave Output)
MOSI (SPI Bus Master Output/Slave Input)
SS (SPI Slave Select Input)
AIN1 (Analog Comparator Negative Input)
(Timer/Counter0 Output Compare Match Output)
AIN0 (Analog Comparator Positive Input)
(External Interrupt 2 Input)
5
6. PB1
PB0
e.
Port
PC7
PC6
PC6
PC5
PC3
PC2
PC1
PC0
f.
Port
PD7
PD6
PD6
PD5
PD3
PD2
PD1
PD0
2.
3.
4.
5.
6.
7.
8.
T1 (Timer/Counter1 External Counter Input)
T0 (Timer/Counter External Counter Input) XCK (USART External
Clock Input/Output)
Port C (PC7 PC0)
Port C adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin
memiliki internal pull-up resistor. Output buffer port C dapat mengalirkan
arus sebesar 20 mA. Ketika port C digunakan sebagai input dan di pulldown secara langsung, maka port C akan mengeluarkan arus jika internal
pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port C dapat
ditabelkan seperti yang tertera pada tabel dibawah ini.
Alternate Function
TOSC2 (Timer Oscillator Pin 2)
TOSC1 (Timer Oscillator Pin 1)
TD1 (JTAG Test Data In)
TD0 (JTAG Test Data Out)
TMS (JTAG Test Mode Select)
TCK (JTAG Test Clock)
SDA (Two-wire Serial Bus Data Input/Output Line)
SCL (Two-wire Serial Bus Clock Line)
Port D (PD7 PD0)
Port D adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin
memiliki internal pull-up resistor. Output buffer port D dapat mengalirkan
arus sebesar 20 mA. Ketika port D digunakan sebagai input dan di pulldown secara langsung, maka port D akan mengeluarkan arus jika internal
pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port D dapat
ditabelkan seperti yang tertera pada tabel dibawah ini.
Alternate Function
OC2 (Timer / Counter2 Output Compare Match Output)
ICP1 (Timer/Counter1 Input Capture Pin)
OCIB (Timer/Counter1 Output Compare B Match Output)
TD0 (JTAG Test Data Out)
INT1 (External Interrupt 1 Input)
INT0 (External Interrupt 0 Input)
TXD (USART Output Pin)
RXD (USART Input Pin)
Crystal
Resistor
Lampu Led
Kabel
IC
Saklar Button
Reset Botton
6
9. /
This program was created by the
CodeWizardAVR V3.04 Evaluation
Automatic Program Generator
息 Copyright 1998-2013 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date
:
Author :
Company :
Comments:
LAMPU RAMBU
1.0
05/01/2014
IS9
Chip type
: ATmega32A
Program type
: Application
AVR Core Clock frequency: 12,000000 MHz
Memory model
: Small
External RAM size
: 0
Data Stack size
: 512
/
#include <mega32a.h>
atmega32a.
#include <delay.h>
#define M1
ke 1)
#define K1
ke 1)
#define H1
ke 1), dst
// mengaktifkan library mega32a.h , karena menggunakan
// mengaktifkan library fungsi penundaan
PORTC.0
// mendefinisikan PORT C bit ke 0 sebagai M1 (Merah led
PORTC.1
// mendefinisikan PORT C bit ke 1 sebagai K1 (Kuning led
PORTC.2
// mendefinisikan PORT C bit ke 2 sebagai H1 (Hijau led
#define M2
#define K2
#define H2
PORTC.3
PORTC.4
PORTC.5
#define M3
#define K3
#define H3
PORTC.6
PORTC.7
PORTA.7
#define M4
#define K4
#define H4
PORTA.6
PORTA.5
PORTA.4
void a()
// membuat fungsi a (lampu pertama)
{
// isi fungsi di mulai dengan buka kurung kurawal "{" , dan
di tutup dengan tutup kurung kurawal "}".
unsigned int t=8500;
// mendeklarasikan variabel bernama "t" dan berjenis unsigned
int, dengan nilai awal 8500 (desimal)
unsigned int kedip=500;
// mendeklarasikan variabel bernama "t" dan berjenis unsigned
int, dengan nilai awal 500 (desimal)
M1=1;
// M1 (atau nama lain dari PORTC.0), di beri nilai logika 1
(biner) atau sinyal high.{karena rangkaian menggunakan active low (saat di beri logika 0,
maka led menyala, dan logika 1 maka led akan padam}
K1=1;
// K1 (atau nama lain dari PORTC.1), di beri nilai logika 1
(biner) atau sinyal high.(active low di pilih untuk meringankan kerja microcontroller)
H1=0;
M2=0;
K2=1;
H2=1;
//merah
//kuning
//hijau
M3=0;
K3=1;
H3=1;
M4=0;
K4=1;
H4=1;
delay_ms(t);
// beri tunda selama t ms, nilai t telah di definisikan di
9
10. awal saat pendeklarasian variabel.
K1=0;
K2=1;
K3=0;
K4=1;
delay_ms(kedip); // beri tunda selama kedip ms, nilai kedip telah di
definisikan di awal saat pendeklarasian variabel.
K1=1;
// led kuning di padamkan seluruhnya.
K2=1;
K3=1;
K4=1;
delay_ms(kedip);
K1=0;
// di nyalakan saja led kuning ke 2 dan ke 4 (karena penyalaan
lampu yang memiliki urutan 1-3-2-4.
K2=1;
K3=0;
K4=1;
delay_ms(kedip);
}
void b()
{
unsigned int t=85000;
unsigned int kedip=500;
M1=0;
K1=1;
H1=1;
M2=1;
K2=1;
H2=0;
M3=0;
K3=1;
H3=1;
M4=0;
K4=1;
H4=1;
delay_ms(t);
K1=1;
K2=0;
K3=1;
K4=0;
delay_ms(kedip);
K1=1;
K2=1;
K3=1;
K4=1;
delay_ms(kedip);
K1=1;
K2=0;
K3=1;
K4=0;
delay_ms(kedip);
}
void c()
{
unsigned int t=85000;
unsigned int kedip=500;
M1=0;
K1=1;
H1=1;
M2=0;
K2=1;
H2=1;
M3=1;
K3=1;
H3=0;
10
11. M4=0;
K4=1;
H4=1;
delay_ms(t);
K1=1;
K2=0;
K3=0;
K4=1;
delay_ms(kedip);
K1=1;
K2=1;
K3=1;
K4=1;
delay_ms(kedip);
K1=1;
K2=0;
K3=0;
K4=1;
delay_ms(kedip);
}
void d()
{
unsigned int t=85000;
unsigned int kedip=500;
M1=0;
K1=1;
H1=1;
M2=0;
K2=1;
H2=1;
M3=0;
K3=1;
H3=1;
M4=1;
K4=1;
H4=0;
delay_ms(t);
K1=0;
K2=1;
K3=1;
K4=0;
delay_ms(kedip);
K1=1;
K2=1;
K3=1;
K4=1;
delay_ms(kedip);
K1=0;
K2=1;
K3=1;
K4=0;
delay_ms(kedip);
}
// Declare your global variables here
void main(void)
{
// Declare your local variables here
//Dalam program INI YANG DI JADIKAN SEBAGAI OUTPUT ADALAH SELURUH PORT C DAN NIBLE ATAS
PORT A.
// Input/Output Ports initialization
// Port A initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=In Bit2=In Bit1=In Bit0=In
DDRA=(1<<DDA7) | (1<<DDA6) | (1<<DDA5) | (1<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) |
(0<<DDA0);
//port A nibble atas di jadikan output
11
18. Biografi Penulis
Ammazizzaky Tarigan, A.Md adalah alumni dari D3
Teknik Informatika USU dari kota Medan, setelah lulus
melanjutkan kuliah untuk mengambil S1 di Ilmu Komputer
USU. Penulis sedang bekerja sebagai Guru Teknologi
Informatika & Komputer di Yayasan Istiqlal Medan.
Syahrial Affandi, A.Md adalah alumni dari D3 Statistika
USU dari kota Medan, setelah lulus melanjutkan kuliah
untuk mengambil S1 di Ilmu Komputer USU. Penulis aktif
di organisasi keagamaan dan bekerja sebagai Perancang
Grafis di Rifandesign.
Yakhdi Perari Pinem, A.Md adalah alumni dari D3
Teknik Informatika USU dari kota Medan, setelah lulus
melanjutkan kuliah untuk mengambil S1 di Ilmu Komputer
USU. Penulis sedang bekerja sebagai pegawai di
perusahaan swasta.
Masita, A.Md adalah alumni dari D3 Teknik Informatika
USU dari kota Medan, setelah lulus melanjutkan kuliah
untuk mengambil S1 di Ilmu Komputer USU. Penulis
sedang bekerja sebagai pegawai di perusahaan swasta.
18