Arduino Sosyal Mesafe Projesi

Arduino Sosyal Mesafe Projesi arduino sosyal mesafe,arduino ile sosyal mesafe,sosyal mesafe koruycu,arduino uzaklık sensörü,arduino koronavirüs

Bu projemizde, taşınabilir ve pratik bir giyilebilir teknoloji prototipi olan Arduino Sosyal Mesafe / Uyarı Sistemi tasarlıyoruz. Projenin temel amacı; ultrasonik mesafe sensörü aracılığıyla çevredeki insanlarla olan fiziksel mesafeyi gerçek zamanlı olarak izlemek ve güvenli sınır olan 1 metrenin altına inildiğinde sesli (Buzzer) bir alarm üreterek kullanıcıyı uyarmaktır.

Küresel salgın dönemlerinde ve kalabalık kamusal alanlarda bulaş riskini en aza indirgemek amacıyla geliştirilen sosyal mesafe kuralları, günümüzde akıllı uyarı sistemleriyle denetlenmektedir.

Giyilebilir sosyal mesafe cihazları, kasklar veya akıllı rozetler temel olarak aynı donanımsal mantıkla çalışır. Bu rehberimizde, kompakt yapısı nedeniyle breadboard dostu ve taşınabilir projelere en uygun gömülü platformlardan biri olan Arduino Kart Modelleri ve Karşılaştırma Kılavuzumuzdan yararlanarak seçtiğimiz Arduino Nano kartını, popüler HC-SR04 Ultrasonik Mesafe Sensörünü ve piezo buzzer bileşenlerini bir araya getireceğiz.

Ayrıca, IoT tabanlı daha geniş veri izleme projelerine ilgi duyuyorsanız, önceden hazırlamış olduğumuz internet bağlantılı NodeMCU ESP8266 ve OLED Ekran ile Koronavirüs Takip Cihazı projesine de göz atabilirsiniz.

Yazı İçeriği

Arduino Sosyal Mesafe Sistemi: Çalışma Mantığı

Sistem, insan kulağının duyamayacağı frekansta (40\text{ kHz}) ultrasonik ses dalgaları yayarak çalışır. Sensörün tetik (Trigger) pimi mikrodenetleyici tarafından aktif edildiğinde yayılan ses dalgaları, karşıdaki bir engele (insan veya nesne) çarparak geri döner ve alıcı (Echo) pimi tarafından yakalanır. Arduino Nano, bu dalganın gidiş-dönüş süresini mikrosaniyeler seviyesinde ölçer ve ses hızı sabitini kullanarak mesafeyi santimetre cinsinden hesaplar. Eğer ölçülen anlık fiziksel mesafe 100\text{ cm} (1 metre) sınırının altına düşerse, Arduino buzzer çıkışını aktif ederek kesikli bir alarm sesi üretir.

Donanım Bağlantı ve Arayüz Tablosu

Arduino Nano ve HC-SR04 mesafe sensörünün elektriksel kablolama bağlantılarını kurmak için aşağıdaki pin eşleme tablosundan yararlanabilirsiniz:

Arduino Nano PinHC-SR04 / Buzzer / Pil Bağlantısı
D4HC-SR04 Echo Pini
D3HC-SR04 Trig Pini
GNDHC-SR04 GND Pini
5VHC-SR04 VCC Pini
GNDBuzzer Katot (Eksi / -) Bacağı
D13Buzzer Anot (Artı / +) Bacağı
GND9V Pil Negatif Kutbu (GND)
VIN9V Pil Pozitif Kutbu (7\text{ V} - 12\text{ V} regüle edilmemiş giriş)

Ana Donanım Bileşenlerinin İncelenmesi

1. Arduino Nano

Arduino Nano, klasik Arduino Uno ile neredeyse aynı elektriksel özelliklere ve donanımsal çevre birimlerine sahip olan, Breadboard uyumlu minyatür bir geliştirme kartıdır. Kalbinde 8-bitlik ATmega328P ve ATmega8 Mikrodenetleyici Programlama Kılavuzu içinde ele aldığımız ATmega328P entegresi yer alır. Uno’dan farklı olarak harici DC güç soketi barındırmaz ve bilgisayar bağlantısı için Mini-B USB arayüzünü kullanır. Küçük ebatları sayesinde kıyafete veya şapkaya monte edilecek giyilebilir rozet tasarımları için en ideal gömülü karttır.

Arduino Sosyal Mesafe Projesi
Arduino Sosyal Mesafe Projesi

2. HC-SR04 Ultrasonik Mesafe Sensörü

HC-SR04, 2\text{ cm} ile 400\text{ cm} arasında temassız mesafe ölçümü yapabilen, 3\text{ mm} hassasiyete sahip akustik bir sensördür. Üzerinde yerleşik ultrasonik verici (transmitter) ve alıcı (receiver) dönüştürücüler barındırır. Modülün algılama algoritması ve çalışma karakteristikleri hakkında daha kapsamlı bilgi edinmek için Ultrasonik Mesafe Sensörü ve mBlock Algoritmaları rehberimizden yararlanabilirsiniz.

HC-SR04 Ultrasonik Mesafe Ölçüm Sensörü Modülü
Mesafe Sensörü HC-SR04

3. Piezo Buzzer

Piezo buzzerlar, üzerlerine uygulanan alternatif gerilimin frekansına bağlı olarak mekanik titreşim üreten ve bu sayede ses dalgası yayan piezoelektrik seramik malzemeden oluşur. Düşük akım tüketimiyle direkt olarak Arduino dijital pinlerinden sürülebilen 5\text{ V} aktif buzzer modelleri, bu tür uyarı sistemlerinde sesli ikaz üretmek için mükemmel bir çözümdür.

Piezo Elektrik Buzzer Alarm Hoparlörü
Piezo Buzzer

4. Taşınabilir Güç Kaynağı (Pil)

Sistemin giyilebilir bir rozet olarak kullanılabilmesi için bağımsız bir güç kaynağına ihtiyacı vardır. Projeyi beslemek için standart 9\text{ V} piller veya şarj edilebilir lityum iyon piller (pil gerilimi regüle edilmek üzere Arduino Nano’nun VIN pinine uygulanır) kullanılabilir. Uzun ömürlü kullanım için şarj edilebilir NiMH 9\text{ V} piller veya regülatörlü LiPo bataryalar tercih edilmelidir.

Akustik Mesafe Hesaplama Matematiği

HC-SR04 sensörünün tetiklenmesiyle yayılan ses dalgasının havada 20\text{°C} sıcaklıktaki yayılma hızı yaklaşık 343\text{ m/s} (mikrosaniye başına 0.0343\text{ cm/}\mu\text{s}) olarak kabul edilir. Ses dalgası hedefe gidip geri döndüğü için, ölçülen toplam uçuş süresi (seyahat süresi) ikiye bölünmelidir. Buradan yola çıkarak fiziksel mesafe (d_{cm}) şu matematiksel formülle hesaplanır:

    \[d_{cm} = \frac{\text{Süre } (\mu\text{s}) \times 0.0343\text{ cm/}\mu\text{s}}{2}\]

Bu formül, gömülü yazılım içerisinde uygulanarak milimetre seviyesinde kararlı mesafe verileri elde edilmesini sağlar.

Arduino Nano Sosyal Mesafe Projesi Kaynak Kodları

Aşağıda yer alan program kodu, Trig pininden 10\text{ }\mu\text{s} süresince tetikleme sinyali gönderir, Echo pininden dönen yansıma süresini ölçer, akustik formülü uygulayarak mesafeyi hesaplar ve 100\text{ cm}‘den daha yakın durumlarda Buzzer’ı 500\text{ ms} aralıklarla kesikli olarak öttürür:

Adım Adım Gömülü Kod Açıklaması

Yazılımın temel fonksiyon blokları ve değişken tanımlamaları şu şekildedir:

  • Değişkenler: Ses dalgasının gidiş-dönüş süresini saklamak için surec, hesaplanan fiziksel mesafeyi kaydetmek için ise uzaklik isimli uzun tamsayı (long) değişkenleri tanımlanmıştır.
  • setup() Yapılandırması: Donanımsal UART birimi hata ayıklama için 9600 baud hızında başlatılır. Mesafe sensörünün tetikleme pini (trigPin) çıkış (OUTPUT), yansımayı algılayan pini (echoPin) ise giriş (INPUT) olarak yapılandırılır. Buzzer’ın bağlı olduğu Pin 13 ise çıkış olarak atanır.
  • loop() Döngüsü ve Sinyal Analizi: Tetikleme pini anlık gürültülerden temizlenmesi için önce 2\text{ }\mu\text{s} süresince düşük seviyeye (LOW) çekilir. Hemen ardından 10\text{ }\mu\text{s} boyunca yüksek seviye (HIGH) uygulanarak sensörün akustik dalga yayması sağlanır. `pulseIn()` fonksiyonu Echo pininin HIGH kalma süresini ölçerek seyahat süresini tespit eder. Elde edilen süre formüle tabi tutulup mesafe hesaplandıktan sonra if-else karar mekanizmasıyla mesafe 100\text{ cm}‘den küçükse buzzer aktif edilir, değilse kapatılır.

Arduino Nano resmi veri sayfasına buradan erişebilirsiniz.

Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.