HC-SR04 ULTRASONİK SENSÖR

Başlatan eprom_20, 23 Mart 2019, 12:32:19

eprom_20

Arkadaşlar merhaba,HC-SR04 sensörü ile su seviyesi ölçümü yapmak istedim araştırmamda farklı ölçüm teknikleri ile karşılaştım;

1-(Sensörün çalışma mantığı şu;
Trigger(tetikleme) pininden en az 10us lik 5v pulse görderildiğinde sensör Ultrasonik verici (Tx) den 40KHz de 8 adet pulse gönderiyor ve ECHO pinini "H" a çekiyor. Gönderilen bu dalgalar Ultrasonik alıcı (Rx) sensöre ulaştığında ECHO pini "L"'a düşüyor. Ölçüm yaparken ECHO pinin "H" da kaldığı süre ölçülerek sesin havada yayılma hızına göre hesap yapılarak mesafe bulunuyor

2-digitalWrite(TrigPin, HIGH);
delayMicroseconds(50);
digitalWrite(TrigPin, LOW);
Time_Echo_us = pulseIn(EchoPin, HIGH);
if((Time_Echo_us < 60000) && (Time_Echo_us > 1))

3-mikrodenetleyicinin, HC-SR04 Trig Pin'e en az 10 adet tetikleyici puls vermesi gerekiyor.
Tetik darbesini aldıktan sonra, HC-SR04 otomatik olarak sekiz adet 40 kHz ses dalgası gönderir ve Echo pininde kenar çıktısının artmasını bekler.
PIC18F4550 girişine bağlı Echo piminde yükselen kenar yakalama gerçekleştiğinde, PIC18F4550 Zamanlayıcı'yı başlatın ve tekrar Echo piminde düşen kenarı bekleyin.
Düşen kenar Yankı piminde yakalanır yakalanmaz mikrodenetleyici Zamanlayıcı sayısını okur. Bu zaman sayımı, bir nesneye olan mesafeyi hesaplamak için kullanılır.
Hesaplama (cm cinsinden uzaklık)

ECHO dönüşünde kesme ile TMR1 sayacını başlatıp bitiminde süre hesabı yapmam için yardımcı olursanız sevinirim,şema ve kodu ekledim


Powered by EzPortal