Professional Documents
Culture Documents
NIM: 6706192095
MODUL 07 MENUS
int tombol = 0;
const int led1Pin = 7;
const int led2Pin = 6;
const int led3Pin = 5;
void setup()
{
Serial.begin(9600);
Serial.println ();
Serial.print ("_______"); Serial.println ();
Serial.print ("| ACTIVE |"); Serial.println ();
Serial.print ("________"); Serial.println ();
//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();
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();
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);
}