buzzer etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Arduino ile Park Sensörü Yapımı: Buzzer ve Mesafe Sensörü Kullanımı

Arduino ile Park Sensörü Yapımı: Buzzer ve Mesafe Sensörü Kullanımı

Arduino ile Park Sensörü Yapımı: Buzzer ve Mesafe Sensörü Kullanımı

Merhaba sevgili Arduino meraklıları!

Bu yazımızda, günlük hayatta oldukça işimize yarayan bir projeye, Arduino ile park sensörü yapımına odaklanacağız. Özellikle yeni sürücüler veya park etme konusunda hassas olanlar için bu proje, hem eğlenceli bir öğrenme deneyimi sunacak, hem de pratik bir çözüm olacaktır. Projemizde, HC-SR04 ultrasonik mesafe sensörü ve bir buzzer (sesli uyarıcı) kullanarak, aracımızın arkasındaki engelleri tespit edip, mesafeye göre farklı sesli uyarılar vermesini sağlayacağız.

Gerekli Malzemeler

Bu projeyi hayata geçirmek için ihtiyacımız olan malzemeler oldukça basit ve kolayca temin edilebilir:

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • HC-SR04 Ultrasonik Mesafe Sensörü
  • Buzzer (Aktif veya Pasif fark etmez, aktif buzzer kullanımı daha basittir)
  • Jumper kablolar (erkek-dişi ve erkek-erkek)
  • Breadboard (isteğe bağlı, ancak önerilir)

Devre Şeması ve Bağlantılar

Şimdi de malzemelerimizi nasıl bağlayacağımıza geçelim. Bağlantıları dikkatlice yaparak herhangi bir hatanın önüne geçebiliriz:

  • HC-SR04 Mesafe Sensörü:
    • VCC pini -> Arduino 5V pinine
    • GND pini -> Arduino GND pinine
    • Trig pini -> Arduino Dijital Pin 9'a
    • Echo pini -> Arduino Dijital Pin 10'a
  • Buzzer:
    • (+) bacağı -> Arduino Dijital Pin 8'e (direkt olarak veya bir dirençle)
    • (-) bacağı -> Arduino GND pinine

Eğer aktif buzzer kullanıyorsanız, genellikle bir direnç kullanmanıza gerek kalmaz. Ancak pasif buzzer kullanıyorsanız, 220Ω - 1kΩ arasında bir direnç kullanmanız buzzer'ınızın zarar görmesini engelleyebilir.

Arduino Kodu

Gelelim projemizin beyni olan Arduino koduna. Aşağıdaki kodu Arduino IDE'sine kopyalayıp, Arduino kartınıza yükleyebilirsiniz:


 // Tanımlamalar
 const int trigPin = 9;
 const int echoPin = 10;
 const int buzzerPin = 8;

 // Değişkenler
 long sure;
 int mesafe;

 void setup() {
  // Pinleri tanımla
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);

  // Seri iletişimi başlat (isteğe bağlı, değerleri görmek için)
  Serial.begin(9600);
 }

 void loop() {
  // Mesafe ölçümü
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  sure = pulseIn(echoPin, HIGH);
  mesafe = sure * 0.034 / 2;

  // Mesafe kontrolü ve buzzer uyarıları
  if (mesafe <= 30) {
   tone(buzzerPin, 1000); // Yüksek ton
   delay(100);
  } else if (mesafe <= 60) {
   tone(buzzerPin, 500); // Orta ton
   delay(200);
  } else if (mesafe <= 100) {
   tone(buzzerPin, 250); // Düşük ton
   delay(300);
  } else {
   noTone(buzzerPin); // Ses yok
  }

  // Seri porttan mesafeyi yazdır (isteğe bağlı)
  Serial.print("Mesafe: ");
  Serial.print(mesafe);
  Serial.println(" cm");

  delay(50); // Gecikme
 }
 

Kodun Açıklaması

  • Tanımlamalar: Hangi pinlerin hangi bileşenlere bağlı olduğunu tanımlıyoruz.
  • Mesafe Ölçümü: Mesafe sensörünü kullanarak mesafeyi ölçüyoruz.
  • Mesafe Kontrolü ve Buzzer Uyarıları: Ölçülen mesafeye göre buzzer'dan farklı tonlarda sesler çıkarıyoruz. Mesafe azaldıkça, sesin frekansını artırıyoruz.
  • Seri Porttan Mesafeyi Yazdır: (İsteğe bağlı) Ölçülen mesafeyi seri port ekranında görüntüleyerek, sensörün doğru çalışıp çalışmadığını kontrol edebiliriz.

Projenin Çalışması

Kodu Arduino'ya yükledikten sonra, mesafe sensörünü bir engele doğru tuttuğunuzda, sensörün mesafeyi ölçüp buzzer'dan uygun tonlarda ses çıkardığını göreceksiniz. Mesafe azaldıkça sesin şiddeti ve frekansı artacaktır.

İpuçları ve Geliştirmeler

  • Mesafe sensörünü aracınızın arkasına monte ederek, gerçek bir park sensörü haline getirebilirsiniz.
  • Buzzer yerine farklı sesler çıkaran bir hoparlör kullanabilirsiniz.
  • LCD ekran kullanarak mesafeyi sayısal olarak da görüntüleyebilirsiniz.
  • Mesafe aralıklarını ve ses tonlarını kendi zevkinize göre ayarlayabilirsiniz.

Sonuç

Bu yazımızda, Arduino ile basit bir park sensörü yapımını adım adım inceledik. Umarım bu proje, Arduino dünyasına giriş yapmanız ve elektronik projeler geliştirmeniz için size ilham verir. Unutmayın, elektronik projeler sadece bilgi birikimi değil, aynı zamanda yaratıcılığınızı da geliştirmenize yardımcı olur.

Herkese iyi kodlamalar!

Etiketler: Arduino, Park Sensörü, HC-SR04, Buzzer, Mesafe Sensörü, Elektronik Proje, DIY, Kendin Yap, Arduino Projeleri, Arduino Dersleri

```

Arduino ile Akıllı Geri Sayım Sayacı: Sınavlar ve Egzersizler için İdeal

Arduino ile Akıllı Geri Sayım Sayacı: Sınavlar ve Egzersizler için İdeal

Arduino ile Akıllı Geri Sayım Sayacı: Sınavlar ve Egzersizler için İdeal

Merhaba sevgili Arduino meraklıları!

Bugün sizlere Arduino ile nasıl akıllı bir geri sayım sayacı yapabileceğinizi anlatacağım. Bu proje, özellikle sınavlara hazırlanan öğrenciler veya egzersiz yapanlar için çok kullanışlı olabilir. Hatta mutfakta yemek yaparken bile size yardımcı olacak bir zamanlayıcıya dönüştürebilirsiniz.

Projenin Amacı

Bu projenin amacı, Arduino kullanarak belirli bir süre geri sayım yapabilen ve süre dolduğunda sesli veya görsel bir uyarı verebilen bir cihaz oluşturmaktır. Bu cihazı ihtiyacınıza göre özelleştirebilirsiniz.

Gerekli Malzemeler

İhtiyacımız olan malzemeler oldukça basit:

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • Bir adet 16x2 LCD ekran
  • 4 adet buton (veya push button)
  • 1 adet buzzer (sesli uyarı için)
  • 10k potansiyometre (LCD ekran kontrast ayarı için)
  • Birkaç adet jumper kablo
  • Breadboard (isteğe bağlı, ama önerilir)

Bağlantı Şeması

Şimdi de malzemeleri Arduino'ya nasıl bağlayacağımıza bakalım:

  1. LCD Ekran Bağlantısı:
    • LCD VSS pin -> Arduino GND
    • LCD VDD pin -> Arduino 5V
    • LCD VO pin -> Potansiyometrenin orta pini (Potansiyometrenin diğer iki pini GND ve 5V'a bağlanacak)
    • LCD RS pin -> Arduino Dijital Pin 12
    • LCD Enable pin -> Arduino Dijital Pin 11
    • LCD D4 pin -> Arduino Dijital Pin 5
    • LCD D5 pin -> Arduino Dijital Pin 4
    • LCD D6 pin -> Arduino Dijital Pin 3
    • LCD D7 pin -> Arduino Dijital Pin 2
    • LCD A pin (Arka ışık anot) -> Arduino 5V (direnç ile bağlanması önerilir, örneğin 220 ohm)
    • LCD K pin (Arka ışık katot) -> Arduino GND
  2. Buton Bağlantıları:

    Her bir buton bir ucu Arduino'nun bir dijital pinine (örneğin 6, 7, 8, 9) bağlanacak. Diğer ucu ise GND'ye bir 10k ohm'luk direnç ile bağlanacak. Butona basıldığında, dijital pin HIGH sinyali alacak.

    • 1. Buton -> Arduino Dijital Pin 6
    • 2. Buton -> Arduino Dijital Pin 7
    • 3. Buton -> Arduino Dijital Pin 8
    • 4. Buton -> Arduino Dijital Pin 9
    • Her butonun GND tarafına 10k direnç
  3. Buzzer Bağlantısı:
    • Buzzer pozitif (+) ucu -> Arduino Dijital Pin 10
    • Buzzer negatif (-) ucu -> Arduino GND

Arduino Kodu

Aşağıdaki kod, temel bir geri sayım sayacı işlevini yerine getirir. Butonlar ile süreyi ayarlayabilir, başlatıp durdurabilirsiniz. LCD ekran üzerinde kalan süre gösterilir ve süre bittiğinde buzzer çalar.


#include <LiquidCrystal.h>

// LCD pin tanımlamaları
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

// Buton pin tanımlamaları
const int button1Pin = 6; // Süreyi artırma
const int button2Pin = 7; // Süreyi azaltma
const int button3Pin = 8; // Başlat/Durdur
const int button4Pin = 9; // Reset
const int buzzerPin = 10;   // Buzzer pini

int timeLeft = 60;          // Geri sayım süresi (saniye)
bool timerRunning = false;  // Zamanlayıcının çalışıp çalışmadığı

void setup() {
  lcd.begin(16, 2);
  pinMode(button1Pin, INPUT_PULLUP);
  pinMode(button2Pin, INPUT_PULLUP);
  pinMode(button3Pin, INPUT_PULLUP);
  pinMode(button4Pin, INPUT_PULLUP);
  pinMode(buzzerPin, OUTPUT);

  updateDisplay();
}

void loop() {
  if (digitalRead(button1Pin) == LOW) { // Süreyi artır
    timeLeft += 10;
    if (timeLeft > 3600) timeLeft = 3600; // Maksimum 1 saat
    updateDisplay();
    delay(200); // Buton debounce
  }

  if (digitalRead(button2Pin) == LOW) { // Süreyi azalt
    timeLeft -= 10;
    if (timeLeft < 0) timeLeft = 0;
    updateDisplay();
    delay(200); // Buton debounce
  }

  if (digitalRead(button3Pin) == LOW) { // Başlat/Durdur
    timerRunning = !timerRunning;
    delay(200); // Buton debounce
  }
    if (digitalRead(button4Pin) == LOW) { // Reset
    timeLeft = 60;
    timerRunning = false;
    updateDisplay();
    delay(200); // Buton debounce
  }

  if (timerRunning) {
    delay(1000);
    timeLeft--;
    updateDisplay();

    if (timeLeft <= 0) {
      timerRunning = false;
      buzzerAlarm();
      timeLeft = 0; // Süre negatif olmasın
      updateDisplay();
    }
  }
}

void updateDisplay() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Kalan Sure:");
  lcd.setCursor(0, 1);
  lcd.print(timeLeft / 60);
  lcd.print(":");
  if (timeLeft % 60 < 10) lcd.print("0"); // Saniyeyi iki haneli gösterme
  lcd.print(timeLeft % 60);
}

void buzzerAlarm() {
  for (int i = 0; i < 5; i++) {
    tone(buzzerPin, 1000); // 1 kHz ton
    delay(500);
    noTone(buzzerPin);
    delay(500);
  }
}

Bu kodu Arduino IDE'sine kopyalayın ve kartınıza yükleyin.

Kod Açıklaması

  • #include <LiquidCrystal.h>: LCD kütüphanesini projeye dahil eder.
  • LiquidCrystal lcd(rs, en, d4, d5, d6, d7);: LCD ekranın pin bağlantılarını tanımlar.
  • pinMode(buttonPin, INPUT_PULLUP);: Buton pinlerini giriş olarak ayarlar ve dahili pull-up dirençlerini etkinleştirir. Bu, butonlara harici direnç bağlamamıza gerek kalmadan çalışmasını sağlar.
  • updateDisplay(): LCD ekranı günceller ve kalan süreyi gösterir.
  • buzzerAlarm(): Süre bittiğinde buzzer'ı çaldırır.

Projenin Geliştirilmesi

Bu projeyi daha da geliştirmek isterseniz, şunları ekleyebilirsiniz:

  • Farklı alarm sesleri
  • Menü sistemi ile süre ayarlama
  • Bluetooth modülü ile uzaktan kontrol
  • Gerçek zamanlı saat modülü (RTC) ile doğru zaman takibi

Sonuç

Arduino ile akıllı bir geri sayım sayacı yapmak oldukça kolay ve eğlenceli. Bu proje, elektronik ve programlama becerilerinizi geliştirmenize yardımcı olurken, aynı zamanda günlük hayatınızda kullanabileceğiniz pratik bir araç sunar. Umarım bu blog yazısı size ilham vermiştir. Bir sonraki projede görüşmek üzere!

Etiketler: Arduino, geri sayım sayacı, sınav, egzersiz, timer, proje, kod, elektronik, DIY, zamanlayıcı, lcd ekran, buzzer

```