// Basic Arduiuno //
// Traffic Light With Timer//
#include <Arduino.h>
#include <TM1637TinyDisplay.h>
// Module connection pins (Digital Pins)
#define CLK 9
#define DIO 10
// The amount of time (in milliseconds) Between tests
unsigned int angka = 0;
TM1637TinyDisplay display(CLK, DIO);
int ledmerah1 = 2;
int ledkuning1 = 3;
int ledhijau1 = 4;
int ledmerah2 = 5;
int ledkuning2 = 6;
int ledhijau2 = 8;
void setup() {
display.setBrightness(0x0f); //maximum brightness
pinMode(ledmerah1,OUTPUT);
pinMode(ledkuning1,OUTPUT);
pinMode(ledhijau1,OUTPUT);
pinMode(ledmerah2, OUTPUT);
pinMode(ledkuning2, OUTPUT);
pinMode(ledhijau2, OUTPUT);
}
void loop() {
for (angka = 20;angka>5; angka--){
display.showNumberDec(angka);
if(angka<=6){
digitalWrite(ledmerah1,LOW);
digitalWrite(ledhijau2, LOW);
}else {
digitalWrite(ledmerah1,HIGH);
digitalWrite(ledhijau2, HIGH);
delay (1000);
}
}
for (angka = 6;angka>0; angka--){
display.showNumberDec(angka);
if(angka<=0){
digitalWrite(ledkuning1,LOW);
digitalWrite(ledkuning2,LOW);
}else {
digitalWrite(ledkuning1,HIGH);
digitalWrite(ledkuning2,HIGH);
delay (1000);
}
}
for (angka = 1;angka>0; angka--){
display.showNumberDec(angka);
if(angka<=-1){
digitalWrite(ledkuning1,LOW);
digitalWrite(ledkuning2,LOW);
delay (1000);
}
}
for (angka = 20;angka>4; angka--){
display.showNumberDec(angka);
if(angka<=5){
digitalWrite(ledhijau1,LOW);
digitalWrite(ledmerah2,LOW);
}else {
digitalWrite(ledhijau1,HIGH);
digitalWrite(ledmerah2,HIGH);
delay (1000);
}
}
for (angka = 5;angka>0; angka--){
display.showNumberDec(angka);
if(angka<=0){
digitalWrite(ledkuning1,LOW);
digitalWrite(ledkuning2,LOW);
}else {
digitalWrite(ledkuning1,HIGH);
digitalWrite(ledkuning2,HIGH);
delay (1000);
}
}
for (angka = 1;angka>0; angka--){
display.showNumberDec(angka);
if(angka<=-1){
digitalWrite(ledkuning1,LOW);
digitalWrite(ledkuning2,LOW);
delay (1000);
}
}
}