Simulasi lampu lalu lintas menggunakan arduino



Pada project ini akan membuat lampu lalu lintas menggunakan arduino dan modul seven segment,  fungsi modul seven segment untuk menampilkan angka dalam bentuk desimal, prinsip kerja dari project tersebut sebenarnya seperti runing led, namun di perlukan tambahan waktu juga supaya bisa mengatur berapa lama lampu merah menyala, kuning menyala, dan hijau menyala


untuk mmbuat pengatur waktu tersebut disini kita menggunakan mikrokontroler arduino uno,  Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. 

untuk alat alatnya
1. Arduino Uno
2. Modul seven segment
3. Modul Trafic light
4. Bread board
5. Kabel Jumper

konfigurasi dengan pin arduino



             CLK = pin 3 arduino
             DIO  = pin 4 arduino
             VCC = pin 5V arduino
             GND = pin gnd arduino

 

                  R = pin 13 arduino
                  Y = pin 12 arduino
                  G = pin 11 arduino
            GND = pin gnd arduino


untuk programnya

#include <Arduino.h>
#include <TM1637Display.h>

// Module connection pins (Digital Pins)
#define CLK 3
#define DIO 4

// The amount of time (in milliseconds) Between tests
unsigned int angka = 0;
TM1637Display display(CLK, DIO);
int ledmerah = 13;
int ledkuning = 12;
int ledhijau = 11;


void setup() {
  display.setBrightness(0x0f);  //maximum brightness
  pinMode(ledmerah,OUTPUT);
  pinMode(ledkuning,OUTPUT);
  pinMode(ledhijau,OUTPUT);


}

void loop() {
  for (angka = 25;angka>5; angka--){
    display.showNumberDec(angka);
    if(angka<=6){
      digitalWrite(ledmerah,LOW);
    }else {
      digitalWrite(ledmerah,HIGH);
      delay (1000);
    }
  }
  for (angka = 4;angka>0; angka--){
    display.showNumberDec(angka);
    if(angka<=1){
      digitalWrite(ledkuning,LOW);
    }else {
      digitalWrite(ledkuning,HIGH);
      delay (1000); 
    }
   }
  for (angka = 10;angka>4; angka--){
    display.showNumberDec(angka);
    if(angka<=5){
      digitalWrite(ledhijau,LOW);
    }else {
      digitalWrite(ledhijau,HIGH);
      delay (1000); 
    }
  }
  for (angka = 5;angka>0; angka--){
    display.showNumberDec(angka);
    if(angka<=1){
      digitalWrite(ledkuning,LOW);
    }else {
      digitalWrite(ledkuning,HIGH);
      delay (1000); 
    }

  }
}





 

Komentar

  1. kok engga sesuai bang codingan nya sama yang di youtube

    BalasHapus

Posting Komentar