Langsung ke konten utama

Project simulasi lampu lalu lintas (traffic light) simpang 4 menggunakan software proteus



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);
      }
}

 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

Komentar

Postingan populer dari blog ini

Project Running LED dengan IC Shift Register 74HC595 menggunakan arduino uno R3

project kali ini membuat Running LED atau biasa disebut lampu berjalan maksudnya adalah nyala led bergantian satu sama lain Peralatan yang disiapkan dan rangkaiannya adalah: 1. Arduino x 1 2. IC Shift Register 74HC595 x 1 3. LED x 8 4. Resistor dengan nilai seragam x 8 5. Project board x 1 6. Kabel jumper secukupnya  sambungan pin Arduino dengan IC 74HC595, dan komponen lainnya yaitu : Program LED Berjalan dengan Shift Register /* * Program LED Berjalan dengan Shift Register */ // konfigurasi pin Arduino const byte DataPin = 2; // DS data serial const byte LatchPin = 3; // ST_CP const byte ClockPin = 4; // SH_CP // menampung data byte data = 0; void setup() {  // konfigurasi pin sebagai ouput  pinMode(LatchPin, OUTPUT);  pinMode(ClockPin, OUTPUT);  pinMode(DataPin, OUTPUT); } void loop() {  // delay 200ms  if ( nonblocking_delay(200) ){  // geser kiri  data <<= 1;  // jika data == 0 (gesernya sudah habis)  // ulangi dari ...

Project simulasi sistem pendingin otomatis menggunakan sensor suhu lm35, motor dc, arduino dan LCD 16x2 pada software proteus

project kali ini membuat; sistem pendingin otomatis dengan menggunakan sensor suhu LM35 sebagai pendeteksi temperatur dan motor DC sebagai pendingin (untuk memutar kipas) dengan dispaly LCD 16x2 dan sistem pengendalinya berupa Arduino uno R3    sensor suhu atau temperatur yang umum digunakan dan harganya terjangkau yakni LM 35. LM 35 merupakan sensor suhu dengan hasil yang presisi, sedangkan keluaranya berupa tegangan yang besarnya linier terhadap perubahan suhu dalam derajat celcius.     pada simulasi kali ini sensor LM 35 berfungsi sebagai pengendali nyala atau padam dari sistem pendingin kipas dalam simulasi kali ini menggunkan motor dc. sedangkan nilai atau output dari sensor suhu lm 35 akan ditampilkan oleh lcd 16x2.    sistem kerjanya dari sitem pendingin otomatis ini yakni jika nilai suhu yang dihasilkan lebih besar dari pada 30 derajat celcius kipas akan menyala dan sebaliknya jika suhu lebih kecil dari pada 30 derajat celcius maka kipas atau m...

review microcontroller ATmega 8535

  Tentang ATmega 8535     ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah. Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan. bentuk fisik dari atmega 8535     Arsitektur dan fitur atmega 8535 berikut gambar dari sistem arsitektur dari atmega 8535   keterangan dari gambar diatas yakni sebagi berikut • Saluran I/O sebanyak 32 buah , yang terdiri atas   Port  A, B, C dan D • ADC ( Analog to Digital Converter ) • Tiga buah   Timer/Counter   dengan kemampuan perbandingan • CPU yang terdiri atas 32  register • Watchdog Timer   dengan   osilator ...