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

pengertian modul Relay dalam Arduino dan mikrokontroller

Relay adalah komponen yang dapat digunakan sebagai saklar elektronik. Secara singkat, cara kerja relay adalah memanfaatkan magnet buatan untuk memicu kontaktor dari keadaan off menjadi on, atau sebaliknya. Ibaratnya begini, jika ingin menghidupkan lampu, kita harus pencet saklar yang nempel di tembok. Tapi jika  menggunakan relay, kita bisa menghidupkan atau  mematikan lampu tanpa menyentuh saklar lagi. Relay disebut juga sebagai saklar elektronik, yaitu saklar dapat  dikontrol dengan alat elektronik lainnya seperti Arduino Relay umumnya punya 5 pin atau kaki., yang terdiri dari: Dua kaki untuk listrik + dan GND, jika arus dan tegangannya cukup, maka relay akan aktif yang ditandai dengan bunyi „tek‟. Satu kaki sumber C (common), kaki ini yang akan dihubungkan ke kaki NC atau NO. Jika relay akan  digunakan untuk mengontrol lampu rumah, maka  kaki C disambung ke salah satu jalur listrik dari PLN.  Kaki NC (Normally Close), sebelum relay aktif, kaki NC ...

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...

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 ...