Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //const int LED_BUILTIN = 2;
  2. const int merah1 = 2;
  3. const int kuning1 = 4;
  4. const int hijau1 = 19;
  5.  
  6. const int merah2 = 21;
  7. const int kuning2 = 22;
  8. const int hijau2 = 23;
  9.  
  10. const int trigPin = 18;
  11. const int echoPin = 5;
  12.  
  13. void setup() {
  14.   // put your setup code here, to run once:
  15. //  pinMode(LED_BUILTIN, OUTPUT);
  16.   Serial.begin(9600);
  17.   pinMode(merah1, OUTPUT);
  18.   pinMode(kuning1, OUTPUT);
  19.   pinMode(hijau1, OUTPUT);
  20.   pinMode(trigPin, OUTPUT);
  21.   pinMode(echoPin, OUTPUT);
  22.  
  23.  
  24.   pinMode(merah2, OUTPUT);
  25.   pinMode(kuning2, OUTPUT);
  26.   pinMode(hijau2, OUTPUT);
  27.  
  28. }
  29.  
  30. void loop() {
  31.   // put your main code here, to run repeatedly:
  32. //  digitalWrite(LED_BUILTIN, HIGH);
  33.   digitalWrite(merah1, HIGH);
  34.   digitalWrite(kuning1, LOW);
  35.   digitalWrite(hijau2, HIGH);
  36.   digitalWrite(merah2, LOW);
  37.   delay(5000);
  38.   if (detectMove()){
  39.     digitalWrite(hijau2, LOW);
  40.     dimKuning2();
  41.     digitalWrite(merah2, HIGH);
  42.     delay(500);
  43.     digitalWrite(hijau1, HIGH);      
  44.   } else{    
  45.     digitalWrite(hijau2, LOW);
  46.     dimKuning2();
  47.     digitalWrite(kuning2, LOW);
  48.     digitalWrite(merah2, HIGH);
  49.     digitalWrite(merah1, LOW);
  50.     digitalWrite(hijau1, HIGH);
  51.   }
  52.   delay(5000);
  53.   if (detectMove()){
  54.     digitalWrite(hijau1, LOW);
  55.     dimKuning1();
  56.     digitalWrite(merah1, HIGH);
  57.     delay(500);
  58.     digitalWrite(hijau2, HIGH);      
  59.   }
  60.   delay(5000);
  61.  
  62.   digitalWrite(hijau1, LOW);
  63.   dimKuning1();
  64. }
  65.  
  66. void dimKuning1(){
  67.   for(int i=0; i<3; i++){
  68.     digitalWrite(kuning1, HIGH);
  69.     delay(500);
  70.     digitalWrite(kuning1, LOW);
  71.     delay(500);
  72.   }  
  73. }
  74.  
  75. void dimKuning2(){
  76.   for(int i=0; i<3; i++){
  77.     digitalWrite(kuning2, HIGH);
  78.     delay(500);
  79.     digitalWrite(kuning2, LOW);
  80.     delay(500);
  81.   }  
  82. }
  83.  
  84. bool detectMove(){
  85.   long duration, distance;
  86.   digitalWrite(trigPin, LOW);
  87.   delayMicroseconds(2);
  88.   digitalWrite(trigPin, HIGH);
  89.   delayMicroseconds(10);
  90.   digitalWrite(trigPin, LOW);
  91.   duration = pulseIn(echoPin, HIGH);
  92.   distance = (duration/2) / 29.1;
  93.   Serial.println(distance);
  94.   if (distance <= 30){
  95. //    if (traffic == 1){      
  96. ////      digitalWrite(hijau2, LOW);
  97. ////      dimKuning();
  98. ////      digitalWrite(merah2, HIGH);
  99. ////      delay(500);
  100. ////      digitalWrite(hijau1, HIGH);      
  101. //    }
  102.     return true;
  103.   }
  104.   else{
  105.     return false;
  106.   }
  107. //  delay(1000);
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement