#include <Arduino.h>
#include <Servo.h>
Servo ServoMasuk;
Servo ServoKeluar;
#define ledA 10
#define ledB 12
#define ledF 9
#define ledG 8
#define ledE 5
#define ledD 6
#define ledC 7
#define ButtonHijau 13
#define ButtonMerah 0
#define LampuMerah 4
#define LampuHijau 2
#define servoMerah 3
#define servoHijau 11
int Counter = 9;
void setup() {
ServoMasuk.attach(servoHijau);
ServoKeluar.attach(servoMerah);
ServoMasuk.write(0);
ServoKeluar.write(0);
Serial.begin(9600);
pinMode(ledA, OUTPUT);
pinMode(ledB, OUTPUT);
pinMode(ledC, OUTPUT);
pinMode(ledD, OUTPUT);
pinMode(ledE, OUTPUT);
pinMode(ledF, OUTPUT);
pinMode(ledG, OUTPUT);
pinMode(ButtonHijau, INPUT_PULLUP);
pinMode(ButtonMerah, INPUT_PULLUP);
pinMode(LampuHijau, OUTPUT);
pinMode(LampuMerah, OUTPUT);
pinMode(servoHijau, OUTPUT);
pinMode(servoMerah, OUTPUT);
}
void loop() {
if (Counter == 0) {
digitalWrite(LampuMerah, HIGH);
digitalWrite(LampuHijau, LOW);
}
Serial.println(Counter);
if (Counter > 0) {
digitalWrite(LampuHijau, HIGH);
digitalWrite(LampuMerah, LOW);
}
if (digitalRead(ButtonHijau) == LOW ) {
delay(1000);
Counter = Counter-1;
ServoMasuk.write(90);
delay(3000);
ServoMasuk.write(0);
}
if (Counter == -1) {
Counter=0;
}
if (digitalRead(ButtonMerah) == LOW ) {
delay(1000);
Counter = Counter+1;
ServoKeluar.write(90);
delay(3000);
ServoKeluar.write(0);
}
if (Counter == 10) {
Counter=9;
}
if (Counter == 9) {
angka9();
}
if (Counter == 8) {
angka8();
}
if (Counter == 7) {
angka7();
}
if (Counter == 6) {
angka6();
}
if (Counter == 5) {
angka5();
}
if (Counter == 4) {
angka4();
}
if (Counter == 3) {
angka3();
}
if (Counter == 2) {
angka2();
}
if (Counter == 1) {
angka1();
}
if (Counter == 0) {
angka0();
}
}
void angka9 ()
{
digitalWrite(ledA, HIGH);
digitalWrite(ledB, HIGH);
digitalWrite(ledC, HIGH);
digitalWrite(ledD, HIGH);
digitalWrite(ledE, LOW);
digitalWrite(ledF, HIGH);
digitalWrite(ledG, HIGH);
}
void angka8 ()
{
digitalWrite(ledA, HIGH);
digitalWrite(ledB, HIGH);
digitalWrite(ledC, HIGH);
digitalWrite(ledD, HIGH);
digitalWrite(ledE, HIGH);
digitalWrite(ledF, HIGH);
digitalWrite(ledG, HIGH);
}
void angka7 ()
{
digitalWrite(ledA, HIGH);
digitalWrite(ledB, HIGH);
digitalWrite(ledC, HIGH);
digitalWrite(ledD, LOW);
digitalWrite(ledE, LOW);
digitalWrite(ledF, LOW);
digitalWrite(ledG, LOW);
}
void angka6 ()
{
digitalWrite(ledA, HIGH);
digitalWrite(ledB, LOW);
digitalWrite(ledC, HIGH);
digitalWrite(ledD, HIGH);
digitalWrite(ledE, HIGH);
digitalWrite(ledF, HIGH);
digitalWrite(ledG, HIGH);
}
void angka5 ()
{
digitalWrite(ledA, HIGH);
digitalWrite(ledB, LOW);
digitalWrite(ledC, HIGH);
digitalWrite(ledD, HIGH);
digitalWrite(ledE, LOW);
digitalWrite(ledF, HIGH);
digitalWrite(ledG, HIGH);
}
void angka4 ()
{
digitalWrite(ledA, LOW);
digitalWrite(ledB, HIGH);
digitalWrite(ledC, HIGH);
digitalWrite(ledD, LOW);
digitalWrite(ledE, LOW);
digitalWrite(ledF, HIGH);
digitalWrite(ledG, HIGH);
}
void angka3 ()
{
digitalWrite(ledA, HIGH);
digitalWrite(ledB, HIGH);
digitalWrite(ledC, HIGH);
digitalWrite(ledD, HIGH);
digitalWrite(ledE, LOW);
digitalWrite(ledF, LOW);
digitalWrite(ledG, HIGH);
}
void angka2 ()
{
digitalWrite(ledA, HIGH);
digitalWrite(ledB, HIGH);
digitalWrite(ledC, LOW);
digitalWrite(ledD, HIGH);
digitalWrite(ledE, HIGH);
digitalWrite(ledF, LOW);
digitalWrite(ledG, HIGH);
}
void angka1 ()
{
digitalWrite(ledA, LOW);
digitalWrite(ledB, HIGH);
digitalWrite(ledC, HIGH);
digitalWrite(ledD, LOW);
digitalWrite(ledE, LOW);
digitalWrite(ledF, LOW);
digitalWrite(ledG, LOW);
}
void angka0 ()
{
digitalWrite(ledA, HIGH);
digitalWrite(ledB, HIGH);
digitalWrite(ledC, HIGH);
digitalWrite(ledD, HIGH);
digitalWrite(ledE, HIGH);
digitalWrite(ledF, HIGH);
digitalWrite(ledG, LOW);
}