Arduino Sosyal Mesafe Projesi

Arduino Sosyal Mesafe projemizde, mesafe sensörü kullanarak sosyal mesafeyi aşan durumlarda uyarı veren bir sistem kuruyoruz.

Covid-19 ile mücadelede en etkili yöntemlerden biri sosyal mesafedir. Sosyal mesafe ile ilgili bir çok proje görmüş olabilirsiniz. Sosyal mesafe rozeti, Sosyal mesafe kaskı vs… Ama tüm cihazların mekanizması aynı şekilde çalışır. Bu yazımıda bu tür cihazların çalışma prensibi kavramaya çalışıyoruz. Bunu yapmak için bir mikrodenetleyiciye (biz Arduino Nano kullandık), mesafe sensörüne (HC-SR 04), enerji kaynağına yani pile ve son olarak, piezo buzzer’a ihtiyacımız var.

Ayrıca daha önce hazırladığımız NodeMCU ESP8266 ile Koronavirüs verilerini takip etme projesine göz atmanızı öneririz.

Çalışma Mantığı

Burada mesafeyi ölçmek için ultrasonik sensör kullanıyoruz ve Arduino bu mesafeyi sürekli olarak analiz ediyor. Mesafe 1 metreden daha az ölçüldüğünde, Arduino buzzer’ı açacak ve uyarı sesi çıkaracaktır.

Başlamadan önce bu devrede kullanılan bazı bileşenleri anlamamız gerekiyor.

Bağlantı Şeması

Arduino Nano D4HC-SR 04 Echo Pini
Arduino Nano D3HC-SR 04 Trig Pini
Arduino Nano GNDHC-SR 04 GND
Arduino Nano 5VHC-SR 04 Vcc
Arduino Nano GNDBuzzer Negatif (-)
Arduino Nano D13Buzzer Pozitif (+)
Arduino Nano GND9V Pilin – Kutbuna
Arduino Nano Vin9V Pilin + Kutbuna
Bağlantı Şeması
Arduino Sosyal Mesafe Projesi arduino sosyal mesafe,arduino ile sosyal mesafe,sosyal mesafe koruycu,arduino uzaklık sensörü,arduino koronavirüs

Arduino Nano

Arduino Nano, Arduino ailesindeki küçük geliştirme kartlarından biridir. Ve ATmega328 (Arduino Nano 3.x) tabanlı breadboard dostu bir geliştirme kartıdır. Arduino UNO ile aşağı yukarı aynı işlevselliğe sahiptir, ancak daha küçük boyutlara sahiptit. Yalnızca bir DC güç jakından yoksundur ve standart kablo yerine Mini-B USB kablosuyla çalışır.

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

Mesafe Sensörü HC-SR 04

Ultrasonik ses tabanlı bir mesafe sensörüdür. Bir vericisi ve bir alıcısı vardır. Bu bileşenden daha önceki yazılarımızın birinde ayrıntılı olarak bahsetmiştik. HC-SR 04’ü daha iyi anlamak için lütfen buradaki yazıyı okuyun.

Arduino Sosyal Mesafe Projesi arduino sosyal mesafe,arduino ile sosyal mesafe,sosyal mesafe koruycu,arduino uzaklık sensörü,arduino koronavirüs
Mesafe Sensörü HC-SR 04

Piezo Buzzer

Piezo buzzer, bazı frekanslarda ses üretebilen bir çıkış cihazıdır. Esas olarak piezo elektrik malzemesinden oluşur. Sadece iki terminali vardır ve farklı çalışma voltajlarında türleri vardır. Burada 5V modelini kullandık.

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

9V Pil (Tercihe bağlı şarj edilebilir)

Burada bu “Sosyal mesafe projesini” taşınabilir bir cihaz olarak tasarlıyoruz. Bu yüzden pil sistemi önemli bir şeydir. Sizde 9V şarj edilebilir pil kullanabilirsiniz. Alternatif olarak, genel bir 9V pil kullanabilirsiniz. Ancak şarj edilebilir pili tavsiye ederiz.

Proje Kodu

#define buzzerPini 4
#define mesafeSensoruPini 3

long int surec;
int uzaklik;
void setup() {

  pinMode(mesafeSensoruPini, OUTPUT);
  pinMode(buzzerPini, INPUT);
  pinMode(13, OUTPUT);


}
void loop() {
  digitalWrite(mesafeSensoruPini, LOW);
  delayMicroseconds(2);
  digitalWrite(mesafeSensoruPini, HIGH);
  delayMicroseconds(10);
  digitalWrite(mesafeSensoruPini, LOW);

  surec = pulseIn(buzzerPini, HIGH);
  uzaklik = (surec * 0.034 / 2);

  if (uzaklik < 100) {
    digitalWrite(13, HIGH);
    delay(500);
    digitalWrite(13, LOW);
    delay(500);
  }
  else {
    digitalWrite(7, LOW);
  }
}

Kod Açıklaması

4 numaralı pinde buzzerPini ve 3 numaralı pinde mesafeSensoruPini tanımladık. Ardından iki değişken tanımladık. Birincisi süre(surec), ikinci değişken ise mesafedir(uzaklik).

#define buzzerPini 4
#define mesafeSensoruPini 3

long int surec;
int uzaklik;

Ardından kurulum bölümünüde;. mesafeSensoruPini “OUTPUT” ve buzzerPini “INPUT” olarak ayarladık. Burada buzzer’ı pin 13’e takıyoruz, bu yüzden pin 13’ü “OUTPUT” olarak ayarlamamız gerekiyor.

void setup() {

  pinMode(mesafeSensoruPini, OUTPUT);
  pinMode(buzzerPini, INPUT);
  pinMode(13, OUTPUT);
}

Kurulum kısmı tamamlandı.

Daha sonra döngü bölümünü programladık. Döngü bölümünü ikiye bölebiliriz. Birincisi 1. bölüm, ikincisi 2. bölüm.

1. Bölüm

Bu kısım sensör ile nesne veya kişi arasındaki mesafeyi almak için kullanılır.

Önce mesafeSensoruPini 2 mikrosaniye boyunca “LOW” olarak ayarladık. Ardından 10 mikrosaniye için “HIGH” olarak ayarladık. mesafeSensoruPini tekrar “LOW” olarak ayarlaDIK. Ardından, “pulseIn()” işlevini kullanarak ultrasonik ses dalgasının toplam seyahat süresini değişken süreye kaydettik. Ardından süreyi 0.034 ile çarptık ve 2’ye böldük. Ardından, elde edilen değeri “uzaklik” değişkenine kaydettik. Şimdi, “uzaklik” değişkeninde sensör ve nesne arasındaki gerçek mesafeye sahibiz.

  digitalWrite(mesafeSensoruPini, LOW);
  delayMicroseconds(2);
  digitalWrite(mesafeSensoruPini, HIGH);
  delayMicroseconds(10);
  digitalWrite(mesafeSensoruPini, LOW);

  surec = pulseIn(buzzerPini, HIGH);
  uzaklik = (surec * 0.034 / 2);

2. Bölüm

Bu kısım, mesafe 1 metreden veya 100 santimetreden az olduğunda sesli uyarıyı açmak için kullanılır.

Mesafe 100 santimetreden azsa, pin 13’ü (Buzzer pini) 500 milisaniye için “HIGH” ve ardından 500 milisaniye için “LOW” olarak ayarladık..

Aksi takdirde pin 13’ü “LOW” olarak tuttuk.

  if (uzaklik < 100) {
    digitalWrite(13, HIGH);
    delay(500);
    digitalWrite(13, LOW);
    delay(500);
  }
  else {
    digitalWrite(7, LOW);
  }

Kodlama tamamlandı. Kodun tamamını Arduino Nano’ya yükleyin.