Arduino : Ultrasonik Mesafe Sensörü Ledli Seviye Göstergesi

Bu uygulamada Arduino Uno ile HC-SR04 Ultrasonik sensör kullanarak 5 adet LED ile 20cm-100cm arasındaki mesafenin seviyesini gösteren uygulama yaptık. 20cm’den küçük olduğunda ve 100cm’den büyük olduğunda bütün ledler sönük olacaktır.

Ultrasonik sensör ile ilgili ayrıntılı bilgi için;

https://elektrokod.wordpress.com/2014/01/17/ultrasonik-mesafe-sensoru-uygulamasi/

Arduino Kodları

#define TETIK  9
#define YANKI  8

long sure, mesafe;
byte seviye;

void setup() {
  pinMode(TETIK,OUTPUT);
  pinMode(YANKI,INPUT);
  DDRD |=0xF8; // Seviye göstergesi için ledler çıkış olarak ayarlandı
  Serial.begin(9600); 

}

void loop() {
  digitalWrite(TETIK,HIGH);
  delayMicroseconds(10);
  digitalWrite(TETIK,LOW);
  while(!(PORTB|=1<<0)); // Echo pini LOW da kaldığı sürece bekle
  sure=pulseIn(YANKI,HIGH);
  mesafe=(sure*34)/2000;
  Serial.print(mesafe);Serial.print("\t");
  seviye=map(mesafe,0,100,0,6);
  Serial.println(seviye);
  switch(seviye)
  {
    case 0: PORTD&=0x03;break;
    case 1: PORTD&=0x03;PORTD|=0x08;break;
    case 2: PORTD&=0x03;PORTD|=0x18;break;
    case 3: PORTD&=0x03;PORTD|=0x38;break;
    case 4: PORTD&=0x03;PORTD|=0x78;break;
    case 5: PORTD&=0x03;PORTD|=0xF8;break;
    default:PORTD&=0x03;break;
  }
  delay(100);

}

 

 

Kaynaklar:

https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/

Yorum bırakın