//mendefinisikan lampu merah , kuning , dan hijau
#include <Servo.h>
Servo servoku;
byte led1=2;
byte led2=3;
byte led3=4;
byte led4=5;
byte led5=6;
byte led6=7;
byte led7=8;
byte led8=9;
byte led9=10;
int buzzer=11;
int pos=0;
void setup() {
// Mengatur pin sebagai output
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(led6,OUTPUT);
pinMode(led7,OUTPUT);
pinMode(led8,OUTPUT);
pinMode(led9,OUTPUT);
pinMode(buzzer,OUTPUT);
servoku.attach(12);
}
void loop() {
// Mengatur lampu jalur 1
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,HIGH);
servoku.write(90);
tone(buzzer,500.1000);
delay(500);
tone(buzzer,500,100);
delay(500);
tone(buzzer,500,100);
delay(500);
tone(buzzer,300,100);
delay(500);
tone(buzzer,200,100);
delay(500);
servoku.write (0);
// Mengatur lampu jalur 2
digitalWrite(led4,HIGH);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
// Mengatur lampu jalur 3
digitalWrite(led7,HIGH);
digitalWrite(led8,LOW);
digitalWrite(led9,LOW);
//waktu tunggu 5 detik
// Mengatur lampu jalur 1
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
//Mengatur lampu jalur 2
digitalWrite(led4,LOW);
digitalWrite(led5,HIGH);
digitalWrite(led6,LOW);
delay(2000); // waktu tunggu 2 detik
// Mengatur lampu jalur 1
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
// Mengatur lampu jalur 2
digitalWrite(led4,LOW);
digitalWrite(led5,LOW);
digitalWrite(led6,HIGH);
// Mengatur lampu jalur 3
digitalWrite(led7,HIGH);
digitalWrite(led8,LOW);
digitalWrite(led9,LOW);
servoku.write(90);
tone(buzzer,500.1000);
delay(500);
tone(buzzer,500,100);
delay(500);
tone(buzzer,500,100);
delay(500);
tone(buzzer,300,100);
delay(500);
tone(buzzer,200,100);
delay(500);
servoku.write (0);
//waktu tunggu 5 detik
// Mengatur lampu jalur 2
digitalWrite(led4,LOW);
digitalWrite(led5,HIGH);
digitalWrite(led6,LOW);
// Mengatur lampu jalur 3
digitalWrite(led7,LOW);
digitalWrite(led8,HIGH);
digitalWrite(led9,LOW);
delay(2000); // waktu tunggu 2 detik
// Mengatur lampu jalur 1
digitalWrite(led1,HIGH);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
// Mengatur lampu jalur 2
digitalWrite(led4,HIGH);
digitalWrite(led5,LOW);
digitalWrite(led6,LOW);
// Mengatur lampu jalur 3
digitalWrite(led7,LOW);
digitalWrite(led8,LOW);
digitalWrite(led9,HIGH);
servoku.write(90);
tone(buzzer,500.1000);
delay(500);
tone(buzzer,500,100);
delay(500);
tone(buzzer,500,100);
delay(500);
tone(buzzer,300,100);
delay(500);
tone(buzzer,200,100);
delay(500);
servoku.write (0);
// waktu tunggu 5 detik
digitalWrite(led1,LOW);
digitalWrite(led2,HIGH);
digitalWrite(led3,LOW);
digitalWrite(led7,LOW);
digitalWrite(led8,HIGH);
digitalWrite(led9,LOW);
delay(2000);
}