You are on page 1of 5

NAMA: IQBAL APIPAH NOER

NIM: 6706192095

MODUL 07 MENUS

int tombol = 0;
const int led1Pin = 7;
const int led2Pin = 6;
const int led3Pin = 5;

const int trigPin = 12;


const int echoPin = 13;

long duration, cm;

void setup()
{
Serial.begin(9600);
Serial.println ();
Serial.print ("_______"); Serial.println ();
Serial.print ("| ACTIVE |"); Serial.println ();
Serial.print ("________"); Serial.println ();

// set ultrasonic sensor


pinMode(trigPin, OUTPUT); //trigger pin
pinMode(echoPin, INPUT); //echo pin

//set LED
pinMode(led1Pin, OUTPUT); // set this pin as output
pinMode(led2Pin, OUTPUT); // set this pin as output
pinMode(led3Pin, OUTPUT); // set this pin as output

} void loop(){
autoTrafficLights();
manualTrafficLights();
ultrasonicSensor();
mainMenu();

// if(Serial.available() > 0) { //read


// tombol = Serial.read() - 48 ;
// if(tombol >= 1 && tombol <= 9){
// Serial.print("Input pilihan: ");
// Serial.println(tombol);
// }
// }
}

void autoTrafficLights()
{
digitalWrite(led1Pin, HIGH);
delay(500);
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, HIGH);
delay(500);
digitalWrite(led2Pin, LOW);

digitalWrite(led3Pin, HIGH);
delay(500);
digitalWrite(led3Pin, LOW);
}

void manualTrafficLights()
{
if (tombol == 1){
digitalWrite(led1Pin, HIGH);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, LOW);
}if(tombol == 2){
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, HIGH);
digitalWrite(led3Pin, LOW);
}if(tombol == 3){
digitalWrite(led1Pin, LOW);
digitalWrite(led2Pin, LOW);
digitalWrite(led3Pin, HIGH);
}
}

void ultrasonicSensor()
{
long duration, cm;
distmtr();
pinMode(trigPin,OUTPUT);
digitalWrite(trigPin, LOW); delayMicroseconds(2);
digitalWrite(trigPin, HIGH); delayMicroseconds(10);
digitalWrite(trigPin,LOW);
pinMode(echoPin, INPUT); duration =
pulseIn(echoPin, HIGH); cm =
microsecondsToCentimeters(duration);

Serial.println("");
Serial.print("Ultrasonic Sensor Active");
Serial.println("");
Serial.print("Detecting Distance...");
Serial.println("");
delay(2000);

Serial.print("Jarak :");
Serial.print("\t");
Serial.print(cm); Serial.print("cm");
Serial.println();

if(cm <= 50){


digitalWrite(led1Pin,HIGH);
digitalWrite(led2Pin,LOW);
digitalWrite(led3Pin,LOW);
}
if (cm > 50)
{
digitalWrite(led1Pin,LOW);
digitalWrite(led2Pin,HIGH);
digitalWrite(led3Pin,LOW);
}
if (cm > 100)
{
digitalWrite(led1Pin,LOW);
digitalWrite(led2Pin,LOW);
digitalWrite(led3Pin,HIGH);
}
}

void mainMenu()
{
Serial.println ();
Serial.print ("___MENU___"); Serial.println ();
Serial.print ("| 1. Automatic Traffic Light|"); Serial.println ();
Serial.print ("| 2. Manual Traffic Light |"); Serial.println ();
Serial.print ("| 3. Ultrasonic Sensor|"); Serial.println ();
Serial.print ("| 4. Main Menu |"); Serial.println ();
Serial.print ("________"); Serial.println ();
}

long distmtr() {
// Ultrasound Start
digitalWrite(trigPin, LOW); delayMicroseconds(2);
digitalWrite(trigPin, HIGH); delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Read Start
duration = pulseIn(echoPin, HIGH);
// conversion to inch and cm
cm = microsecondsToCentimeters(duration);
return (cm);
}

long microsecondsToCentimeters(long microseconds)


{
return microseconds / 29 / 2;
}

You might also like