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

Arduino ile Uyan: Titreşimli Bileklik Alarm Sistemi

Arduino ile Uyan: Titreşimli Bileklik Alarm Sistemi

Arduino ile Uyan: Titreşimli Bileklik Alarm Sistemi

Günaydın arkadaşlar! Bugün sizlere Arduino kullanarak nasıl titreşimli bir bileklik alarm sistemi yapacağımızı anlatacağım. Bu proje, özellikle sabahları uyanmakta zorlananlar veya sessiz bir alarm arayanlar için harika bir çözüm olabilir. Gelin, adım adım bu projeyi nasıl hayata geçirebileceğimize birlikte bakalım.

Proje Amacı

Amacımız, belirlenen saatte titreşim motorunu çalıştırarak kullanıcıyı uyandırmak. Bu sayede, hem gürültüsüz bir alarm elde edeceğiz, hem de Arduino'nun potansiyelini kullanarak eğlenceli bir proje geliştirmiş olacağız.

Gerekli Malzemeler

İşte projemiz için ihtiyacımız olan malzemeler:

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • Titreşim motoru
  • DS3231 Gerçek Zaman Saati (RTC) modülü
  • 16x2 LCD ekran (isteğe bağlı, saat bilgisini göstermek için)
  • Buton (alarmı ayarlamak için)
  • 10k ohm direnç (butona bağlamak için)
  • Jumper kablolar
  • Bileklik (Titreşim motorunu ve diğer komponentleri sabitlemek için)

Devre Şeması

Devremizi kurarken aşağıdaki bağlantıları dikkatlice yapalım:

  • Titreşim Motoru:
    • Titreşim Motoru (+) -> Arduino Dijital Pin 8
    • Titreşim Motoru (-) -> Arduino GND
  • DS3231 RTC Modülü:
    • RTC VCC -> Arduino 5V
    • RTC GND -> Arduino GND
    • RTC SDA -> Arduino A4 (SDA)
    • RTC SCL -> Arduino A5 (SCL)
  • LCD Ekran (isteğe bağlı):
    • LCD VSS -> Arduino GND
    • LCD VDD -> Arduino 5V
    • LCD VO -> Potansiyometre orta bacağı (kontrast ayarı için)
    • LCD RS -> Arduino Dijital Pin 12
    • LCD EN -> Arduino Dijital Pin 11
    • LCD D4 -> Arduino Dijital Pin 5
    • LCD D5 -> Arduino Dijital Pin 4
    • LCD D6 -> Arduino Dijital Pin 3
    • LCD D7 -> Arduino Dijital Pin 2
    • LCD A -> Arduino 5V (direnç üzerinden)
    • LCD K -> Arduino GND
  • Buton:
    • Buton bir bacağı -> Arduino Dijital Pin 9
    • Buton diğer bacağı -> Arduino 5V (10k ohm direnç ile GND'ye çekilir)

Arduino Kodu

Şimdi de Arduino kodumuzu inceleyelim. Bu kod, RTC modülünden saat bilgisini alacak, belirlenen alarm saatine ulaşıldığında titreşim motorunu çalıştıracak ve LCD ekranda (isteğe bağlı) saat bilgisini gösterecektir.


#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal.h> // LCD ekran kullanıyorsanız bu kütüphaneyi ekleyin

// RTC modülü için nesne oluştur
RTC_DS3231 rtc;

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

// Titreşim motoru pini
const int vibrationPin = 8;

// Buton pini
const int buttonPin = 9;

// Alarm saati
int alarmHour = 7;
int alarmMinute = 0;

void setup() {
  Serial.begin(9600);

  // RTC modülünü başlat
  if (! rtc.begin()) {
    Serial.println("RTC bulunamadı!");
    while (1);
  }

  // LCD ekranı başlat (isteğe bağlı)
  lcd.begin(16, 2);
  lcd.print("Titreşimli Alarm");

  // Titreşim motoru pinini çıkış olarak ayarla
  pinMode(vibrationPin, OUTPUT);

  // Buton pinini giriş olarak ayarla ve pull-up direncini etkinleştir
  pinMode(buttonPin, INPUT_PULLUP);

  // İlk alarm saatini ayarla (isteğe bağlı)
  // rtc.adjust(DateTime(2024, 10, 27, 7, 0, 0)); // Yıl, Ay, Gün, Saat, Dakika, Saniye
}

void loop() {
  // Saat bilgisini al
  DateTime now = rtc.now();

  // Saat bilgisini seri port ekranında göster (isteğe bağlı)
  Serial.print(now.year(), DEC);
  Serial.print('/');
  Serial.print(now.month(), DEC);
  Serial.print('/');
  Serial.print(now.day(), DEC);
  Serial.print(" (");
  Serial.print(dayStr(now.dayOfTheWeek()));
  Serial.print(") ");
  Serial.print(now.hour(), DEC);
  Serial.print(':');
  Serial.print(now.minute(), DEC);
  Serial.print(':');
  Serial.println(now.second(), DEC);

  // Saat bilgisini LCD ekranda göster (isteğe bağlı)
  lcd.setCursor(0, 1);
  lcd.print(now.hour());
  lcd.print(":");
  if (now.minute() < 10) {
    lcd.print("0");
  }
  lcd.print(now.minute());
  lcd.print(":");
  if (now.second() < 10) {
    lcd.print("0");
  }
  lcd.print(now.second());

  // Alarm kontrolü
  if (now.hour() == alarmHour && now.minute() == alarmMinute && now.second() == 0) {
    // Alarmı çal (titreşim motorunu çalıştır)
    Serial.println("Alarm Çalıyor!");
    digitalWrite(vibrationPin, HIGH);
    delay(5000); // 5 saniye titreşim
    digitalWrite(vibrationPin, LOW);

    // Butona basılana kadar bekle
    while (digitalRead(buttonPin) == HIGH) {
      delay(100);
    }
    Serial.println("Alarm Susturuldu!");
  }

  delay(1000);
}

// Gün isimlerini döndüren fonksiyon
char* dayStr(int day) {
  switch (day) {
    case 0: return "Pazar";
    case 1: return "Pazartesi";
    case 2: return "Salı";
    case 3: return "Çarşamba";
    case 4: return "Perşembe";
    case 5: return "Cuma";
    case 6: return "Cumartesi";
    default: return "Bilinmiyor";
  }
}

Kodu Açıklayalım

  • Kütüphaneler: `Wire.h` (I2C iletişimi için), `RTClib.h` (RTC modülü için), `LiquidCrystal.h` (LCD ekran için).
  • Pin Tanımlamaları: Kullanılan pinlerin tanımları yapılıyor.
  • RTC Başlatma: `setup()` fonksiyonunda RTC modülü başlatılıyor ve eğer bulunamazsa hata mesajı veriliyor.
  • LCD Başlatma: Eğer LCD kullanılıyorsa, LCD ekran başlatılıyor.
  • Alarm Kontrolü: `loop()` fonksiyonunda sürekli olarak saat bilgisi kontrol ediliyor ve alarm saatine ulaşıldığında titreşim motoru çalıştırılıyor.
  • Buton Kontrolü: Alarm çaldıktan sonra butona basılana kadar bekleniyor ve butona basıldığında alarm susturuluyor.

Proje Uygulaması ve İpuçları

Projeyi bilekliğe monte ederken, titreşim motorunun cilde temas etmesini sağlayın. Bu, titreşimin daha iyi hissedilmesini sağlayacaktır. Ayrıca, kabloların sağlam bir şekilde bağlandığından emin olun. Pil ömrünü uzatmak için, Arduino'nun uyku modunu kullanabilirsiniz.

Bu proje, Arduino ile basit bir alarm sistemi yapmanın güzel bir örneği. Umarım beğenirsiniz ve kendi projelerinizde kullanırsınız. Başarılar dilerim!

Etiketler: Arduino, Titreşimli Bileklik, Alarm, RTC, DS3231, Proje, Elektronik, Hobi, Öğrenci, DIY, Titreşim Motoru, Saat, Alarm Sistemi

```

Arduino ile Basit Bir Hırsız Alarmı Sistemi: PIR Sensörlü Arduino Güvenliği

Arduino ile Basit Bir Hırsız Alarmı Sistemi: PIR Sensörlü Arduino Güvenliği

Arduino ile Basit Bir Hırsız Alarmı Sistemi: PIR Sensörlü Arduino Güvenliği

Merhaba sevgili Arduino severler!

Bu yazımızda, Arduino kullanarak basit ama etkili bir hırsız alarmı sistemi nasıl kuracağımızı öğreneceğiz. Bu proje hem yeni başlayanlar için uygun, hem de Arduino'nun potansiyelini anlamak için harika bir fırsat.

Neden Bu Proje?

Ev veya ofis güvenliğini artırmak, pahalı güvenlik sistemlerine bağımlı kalmadan da mümkün. Bu proje sayesinde, hareket algılayan bir PIR (Passive Infrared) sensörü kullanarak, istenmeyen bir hareket algılandığında uyarı veren bir alarm sistemi oluşturabileceksiniz. Üstelik bu sistemi kişisel ihtiyaçlarınıza göre kolayca özelleştirebilirsiniz.

Gerekli Malzemeler

  • Arduino Uno (veya benzeri bir Arduino kartı)
  • PIR Hareket Sensörü
  • Buzzer (sesli uyarı için)
  • Jumper kablolar
  • 1 adet 220 ohm direnç (buzzer için)
  • Breadboard (isteğe bağlı, bağlantıları kolaylaştırmak için)

Bağlantı Şeması

Şimdi de malzemeleri nasıl bağlayacağımıza bakalım. Dikkatlice uygulayın, yanlış bağlantılar donanımınıza zarar verebilir!

  • PIR Sensörü VCC pini -> Arduino 5V pinine
  • PIR Sensörü GND pini -> Arduino GND pinine
  • PIR Sensörü OUT pini -> Arduino Dijital 2 pinine
  • Buzzer (+) pini -> 220 ohm direnç üzerinden Arduino Dijital 8 pinine
  • Buzzer (-) pini -> Arduino GND pinine

Arduino Kodu

Bağlantıları tamamladıktan sonra, sıra geldi Arduino kodunu yüklemeye. Aşağıdaki kodu Arduino IDE'sine kopyalayın ve Arduino kartınıza yükleyin.


const int pirPin = 2;    // PIR sensörünün bağlı olduğu pin
const int buzzerPin = 8; // Buzzer'ın bağlı olduğu pin

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  Serial.begin(9600); // Seri port iletişimi başlatılıyor (debug için)
}

void loop() {
  int pirDegeri = digitalRead(pirPin);

  if (pirDegeri == HIGH) {
    // Hareket algılandı!
    Serial.println("Hareket Algılandı!");
    digitalWrite(buzzerPin, HIGH); // Buzzer'ı çal
    delay(1000);                   // 1 saniye çal
    digitalWrite(buzzerPin, LOW);  // Buzzer'ı kapat
    delay(5000);                   // 5 saniye bekle
  } else {
    // Hareket yok
    digitalWrite(buzzerPin, LOW); // Buzzer'ı kapalı tut
  }
}

Kod Açıklaması:

  • pirPin ve buzzerPin değişkenleri, PIR sensörünün ve buzzer'ın hangi pinlere bağlı olduğunu belirtir.
  • setup() fonksiyonu, pin modlarını ayarlar (PIR sensörü giriş, buzzer çıkış).
  • loop() fonksiyonu sürekli olarak PIR sensöründen veri okur. Eğer hareket algılanırsa, buzzer çalınır.

Test Etme ve İyileştirmeler

Kodu yükledikten sonra sistemi test edebilirsiniz. PIR sensörünün önüne geçerek hareketi tetikleyin ve buzzer'ın çaldığını kontrol edin. Eğer her şey yolundaysa, tebrikler! Başarılı bir hırsız alarmı sistemi kurdunuz.

Bu projeyi daha da geliştirmek için aşağıdaki fikirleri deneyebilirsiniz:

  • LCD ekran ekleyerek uyarı mesajlarını görüntüleyebilirsiniz.
  • GSM modülü kullanarak SMS ile uyarı gönderebilirsiniz.
  • Farklı sensörler (örneğin, duman sensörü) ekleyerek sistemi daha kapsamlı hale getirebilirsiniz.

Umarım bu proje, Arduino dünyasına güzel bir giriş yapmanıza yardımcı olur. Sorularınız ve yorumlarınız için aşağıdaki bölümü kullanmaktan çekinmeyin.

Herkese keyifli projeler!

Etiketler: arduino, hırsız alarmı, pir sensör, güvenlik, proje, sensör, alarm sistemi, kolay kurulum, adım adım rehber, elektronik, diy, kendin yap