Project kali ini membuat simulasi menggunakan software proteus untuk sistem lampu lalu lintas atau traffic light simpang 4 berbasis microcontrollerAtmega 16. Pada sistem simulasi ini ditampilkan lcd 16x2 sebagai informasi tambahan bagi para pengendara mengenai nama simpang dan sebagainya. Terdapat pula seven segment sebagai penanda berapa lama lagi waktu atau detik yang tersisa baik itu merah atau hijau. Dan terdapat lampu LED sebagai penanda, untuk warna merah artinya berhenti, kuning untuk siap-siap/ hati hati dan hijau untuk jalan. Berikut desain simulasinya menggunakan software proteus
gambar simulasi proteus untuk sistem lampu lalu lintas 4 simpang
Sistem kerjanya sebagai berikut. Pada sistem lampu lalu lintas tersebut akan diberlakukan waktu nyala lampu merah dan nyala lampu hijau yakni 10 detik. Dimana waktu akan berjalan mundur dari 9 sampai 0 yang dapat terlihat pada 7 segment yang menyala. Untuk semua simpang waktu nyala hijau dan merah sama yakni 9 detik. sedangkan lampu kuning yang artinya siap-siap atau hati-hati, akan aktif selama 3 detik. Dalam sistem ini terdapat sebuah lcd 16x2 yang digunakan sebagai pusat informasi tambahan mengenai nama simpang terkini dan sebagainya.
Komponen untuk membuat simulasi ini yakni yang perlu disiapkan adalah software proteus untuk membuat desain simulasinya, software codevisionavr untuk membuat program yang akan diupload ke microcontroller atmega 16, tentunya untuk display menggunakan lcd 16x2, 7 segment common catode, LED warna merah, kuning dan hijau, serta sistem minimum disini saya menggunakan atmega 16. Dan berikut ini code atau program yang digunakan untuk menjalankan sistem lampu lalu lintas 4 simpang ini sebagai berikut.
#include <mega16.h>
#include <delay.h>
#include <alcd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;
// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 16
lcd_init(16);
lcd_clear();
while (1)
{
// Place your code here
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("======_++_======");
PORTD.0=1; PORTD.1=0; PORTD.2=0;
PORTD.3=0; PORTD.4=0; PORTD.5=1;
delay_ms(50);
lcd_clear();
PORTA=0b1101111;
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Patuhilah!!!");
delay_ms(50);
PORTA=0b11111111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Rambu lalulintas ");
delay_ms(50);
PORTA=0b0000111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("kiri>jalan terus");
delay_ms(50);
PORTA=0b1111101;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("hati-hati...");
delay_ms(50);
PORTA=0b1101101;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("fokus dan berdoa");
delay_ms(50);
PORTA=0b1100110;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("ngntuk istirahat");
delay_ms(50);
PORTA=0b1001111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("by. Dwinanjar");
delay_ms(50);
PORTA=0b1011011;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Selamat jalan");
delay_ms(50);
PORTA=0b0000110;
lcd_gotoxy(0,1);lcd_putsf("sisa waktu : 1 ");
delay_ms(50);
PORTA=0b0111111;
lcd_gotoxy(0,1);lcd_putsf("sisa waktu : 0 ");
delay_ms(50);
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("kuning -> Siap2");
lcd_gotoxy(0,1);lcd_putsf("Hati-hati dijalan");
PORTD.0=0;PORTD.1=1;PORTD.2=0;
PORTD.3=0;PORTD.4=1;PORTD.5=0;
delay_ms(60);
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("hijau -> Jalan");
lcd_gotoxy(0,1);lcd_putsf("Merah -> stop");
delay_ms(50);
PORTD.0=0;PORTD.1=0;PORTD.2=1;
PORTD.3=1;PORTD.4=0;PORTD.5=0;
lcd_clear();
PORTA=0b1101111;
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Patuhilah!!!");
delay_ms(50);
PORTA=0b11111111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Rambu lalulintas ");
delay_ms(50);
PORTA=0b0000111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("kiri>jalan terus");
delay_ms(50);
PORTA=0b1111101;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("hati-hati...");
delay_ms(50);
PORTA=0b1101101;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("fokus dan berdoa");
delay_ms(50);
PORTA=0b1100110;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("ngntuk istirahat");
delay_ms(50);
PORTA=0b1001111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("by. Dwinanjar");
delay_ms(50);
PORTA=0b1011011;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Selamat jalan");
delay_ms(50);
PORTA=0b0000110;
lcd_gotoxy(0,1);lcd_putsf("sisa waktu : 1 ");
delay_ms(50);
PORTA=0b0111111;
lcd_gotoxy(0,1);lcd_putsf("sisa waktu : 0 ");
delay_ms(50);
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("kuning -> Siap2");
lcd_gotoxy(0,1);lcd_putsf("Hati-hati dijalan");
PORTD.0=0;PORTD.1=1;PORTD.2=0;
PORTD.3=0;PORTD.4=1;PORTD.5=0;
delay_ms(60);
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("hijau -> Jalan");
lcd_gotoxy(0,1);lcd_putsf("Merah -> stop");
delay_ms(50);
}
}
#include <delay.h>
#include <alcd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0xFF;
PORTD=0x00;
DDRD=0xFF;
// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 16
lcd_init(16);
lcd_clear();
while (1)
{
// Place your code here
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("======_++_======");
PORTD.0=1; PORTD.1=0; PORTD.2=0;
PORTD.3=0; PORTD.4=0; PORTD.5=1;
delay_ms(50);
lcd_clear();
PORTA=0b1101111;
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Patuhilah!!!");
delay_ms(50);
PORTA=0b11111111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Rambu lalulintas ");
delay_ms(50);
PORTA=0b0000111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("kiri>jalan terus");
delay_ms(50);
PORTA=0b1111101;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("hati-hati...");
delay_ms(50);
PORTA=0b1101101;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("fokus dan berdoa");
delay_ms(50);
PORTA=0b1100110;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("ngntuk istirahat");
delay_ms(50);
PORTA=0b1001111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("by. Dwinanjar");
delay_ms(50);
PORTA=0b1011011;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Selamat jalan");
delay_ms(50);
PORTA=0b0000110;
lcd_gotoxy(0,1);lcd_putsf("sisa waktu : 1 ");
delay_ms(50);
PORTA=0b0111111;
lcd_gotoxy(0,1);lcd_putsf("sisa waktu : 0 ");
delay_ms(50);
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("kuning -> Siap2");
lcd_gotoxy(0,1);lcd_putsf("Hati-hati dijalan");
PORTD.0=0;PORTD.1=1;PORTD.2=0;
PORTD.3=0;PORTD.4=1;PORTD.5=0;
delay_ms(60);
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("hijau -> Jalan");
lcd_gotoxy(0,1);lcd_putsf("Merah -> stop");
delay_ms(50);
PORTD.0=0;PORTD.1=0;PORTD.2=1;
PORTD.3=1;PORTD.4=0;PORTD.5=0;
lcd_clear();
PORTA=0b1101111;
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Patuhilah!!!");
delay_ms(50);
PORTA=0b11111111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Rambu lalulintas ");
delay_ms(50);
PORTA=0b0000111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("kiri>jalan terus");
delay_ms(50);
PORTA=0b1111101;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("hati-hati...");
delay_ms(50);
PORTA=0b1101101;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("fokus dan berdoa");
delay_ms(50);
PORTA=0b1100110;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("ngntuk istirahat");
delay_ms(50);
PORTA=0b1001111;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("by. Dwinanjar");
delay_ms(50);
PORTA=0b1011011;
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("simpang_pwkerto");
lcd_gotoxy(0,1);lcd_putsf("Selamat jalan");
delay_ms(50);
PORTA=0b0000110;
lcd_gotoxy(0,1);lcd_putsf("sisa waktu : 1 ");
delay_ms(50);
PORTA=0b0111111;
lcd_gotoxy(0,1);lcd_putsf("sisa waktu : 0 ");
delay_ms(50);
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("kuning -> Siap2");
lcd_gotoxy(0,1);lcd_putsf("Hati-hati dijalan");
PORTD.0=0;PORTD.1=1;PORTD.2=0;
PORTD.3=0;PORTD.4=1;PORTD.5=0;
delay_ms(60);
lcd_clear();
lcd_gotoxy(0,0);lcd_putsf("hijau -> Jalan");
lcd_gotoxy(0,1);lcd_putsf("Merah -> stop");
delay_ms(50);
}
}
silakhan berkreasi dan mencoba hal baru gaes...
simulasi proteus dapat didownload DISINI
program codevision avr dapat didownload DISINI
referensi
penulis dan pengarang dwinanjar aji santoso
E-mail purwokertorobotic@gmail.com
E-mail purwokertorobotic@gmail.com
Komentar
Posting Komentar