Arduino Akıllı Yaya Geçidi

Merhabalar,Bir yaya geçidi düşünün yayaların geldiğini otonom anlayacak ve trafik lambalarını yayanın kişi sayısına göre ayarlayacak ve yayalara öncelik tanıyacak… Hayal ettiniz mi ? O zaman buyrun yapalım..

#include "hx711.h"

Hx711 scale(A1, A0);



int araba_k = 3;
int araba_s = 4;
int araba_y = 5;

int yaya_k = 6;
int yaya_s = 7;
int yaya_y = 12;
int yaya_m = 13;
int buzzer = A2;

int gram = 0;

int gelen = 0;
int say = 0;
void setup() {
  Serial.begin(9600);

  pinMode(araba_k, OUTPUT);
  pinMode(araba_s, OUTPUT);
  pinMode(araba_y, OUTPUT);

  pinMode(yaya_k, OUTPUT);
  pinMode(yaya_s, OUTPUT);
  pinMode(yaya_y, OUTPUT);
  pinMode(yaya_m, OUTPUT);
  pinMode(buzzer, OUTPUT);



  digitalWrite(araba_k, LOW);
  digitalWrite(araba_s, LOW);
  digitalWrite(araba_y, LOW);

  digitalWrite(yaya_k, LOW);
  digitalWrite(yaya_s, LOW);
  digitalWrite(yaya_y, LOW);
  digitalWrite(yaya_m, LOW);

  /*
    scale.setOffset("ölçtüğünüz offset değeri"); ******
    scale.setScale("hesapladığınız ratio değeri"); ******
  */

  scale.setOffset(7666496);
  scale.setScale(103.27f);
  //  scale.setScale(1000);


  digitalWrite(araba_y, HIGH);
  digitalWrite(yaya_k, HIGH);

}

void loop() {
basa:
  gram = (scale.getGram());
  Serial.print("say ");
  Serial.print(say);
  Serial.print(" gram ");
  Serial.println(gram);
  //boşta=6780
  // 1 kişi= 6847
  // 2 kişi= 6900
  // 3 kişi= 6980


  if ( gram < 6800)
  {
    digitalWrite(araba_y, HIGH);
    digitalWrite(yaya_k, HIGH);
    digitalWrite(yaya_m, LOW);
    goto basa;
  }

  else if ( gram > 6800 && gram < 6890)
  {
    digitalWrite(yaya_m, HIGH);
    gelen = 6;
  }

  else if ( gram > 6890 && gram < 6950)
  {
    digitalWrite(yaya_m, HIGH);
    gelen = 4;
  }

  else if ( gram > 6950 )
  {
    digitalWrite(yaya_m, HIGH);
    gelen = 2;
  }

  say++;




  if (say == 3)
  {

    digitalWrite(yaya_m, LOW);
    delay(500);
    for (gelen > 0; gelen--;)
    {

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


    digitalWrite(yaya_m, LOW);
    digitalWrite(araba_y, LOW);
    digitalWrite(araba_s, HIGH);
    delay(2000);
    digitalWrite(araba_s, LOW);
    digitalWrite(araba_k, HIGH);
    digitalWrite(yaya_k, HIGH);
    digitalWrite(yaya_s, HIGH);
    delay(2000);
    digitalWrite(yaya_k, LOW);
    digitalWrite(yaya_s, LOW);
    digitalWrite(yaya_y, HIGH);


    for (int a = 1000; a > 0; a = a - 50)
    {

      digitalWrite(buzzer, HIGH);
      delay(100);
      digitalWrite(buzzer, LOW);
      delay(a);
    }

    digitalWrite(yaya_k, LOW);
    digitalWrite(yaya_s, LOW);
    digitalWrite(yaya_y, HIGH);
    delay(2000);

    digitalWrite(yaya_k, LOW);
    digitalWrite(yaya_s, HIGH);
    digitalWrite(yaya_y, LOW);
    delay(2000);

    digitalWrite(yaya_k, HIGH);
    digitalWrite(yaya_s, LOW);
    digitalWrite(yaya_y, LOW);

    digitalWrite(araba_k, HIGH);
    digitalWrite(araba_s, HIGH);
    digitalWrite(araba_y, LOW);
    delay(2000);

    digitalWrite(araba_k, LOW);
    digitalWrite(araba_s, LOW);
    digitalWrite(araba_y, HIGH);









    say = 0;
  }



}
Sosyal Medyada Paylaş Facebook Twitter Google+

Etiketler: , , , , , , , , , ,
Eklenme Tarihi: 20 Mayıs 2020

Konu hakkında yorumunuzu yazın

HOŞ GELDİNİZ

Youtube kanalıma Abone Olabilirsiniz.