titreşimli bileklik 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 Uyan: Titreşimli Bileklik Alarm Sistemi

Arduino ile Uyan: Titreşimli Bileklik Alarm Sistemi

Arduino ile Uyan: Titreşimli Bileklik Alarm Sistemi

Merhaba sevgili Arduino dostları!

Sabahları alarm sesinden nefret mi ediyorsunuz? Belki de etrafınızdakileri uyandırmadan kendinizi nazikçe uyandırmak istiyorsunuz. O zaman bu proje tam size göre! Bu yazımızda, Arduino kullanarak titreşimli bir bileklik alarm sistemi nasıl yapacağımızı adım adım inceleyeceğiz. Projemiz hem eğlenceli hem de pratik, özellikle öğrenci arkadaşlarımızın yurt odalarında kullanabileceği harika bir alternatif.

Neye İhtiyacımız Var?

Projemize başlamadan önce aşağıdaki malzemelere ihtiyacımız olacak:

  • Arduino Uno (veya benzeri bir Arduino geliştirme kartı)
  • Titreşim motoru (küçük boyutlu, bilekliğe sığabilecek)
  • DS3231 RTC (Gerçek Zamanlı Saat) Modülü
  • 330 Ohm direnç
  • NPN Transistör (örn. 2N2222 veya BC547)
  • Bileklik (Saat kayışı veya benzeri)
  • Jumper kablolar
  • Breadboard (isteğe bağlı, ama işleri kolaylaştırır)
  • Pil veya güç kaynağı (Arduino için)

Bağlantılar ve Şema

Şimdi de devre bağlantılarımızı nasıl yapacağımıza bakalım. Aşağıdaki bağlantıları dikkatlice uygulayın:

  • DS3231 RTC Modülü:
    • VCC -> Arduino 5V
    • GND -> Arduino GND
    • SDA -> Arduino A4
    • SCL -> Arduino A5
  • Titreşim Motoru:
    • Titreşim Motoru (+) -> 330 Ohm Direnç -> Transistör Base (Orta bacak)
    • Titreşim Motoru (-) -> Transistör Collector (Genellikle sağdaki bacak)
    • Transistör Emitter (Genellikle soldaki bacak) -> Arduino GND
    • Arduino Dijital Pin 9 -> 330 Ohm Direncin diğer ucu (direkt olarak transistörün base'ine gidiyor)

Açıklama: Titreşim motorunu doğrudan Arduino pinine bağlamak yerine transistör kullanmamızın sebebi, motorun Arduino'dan çok fazla akım çekmesini engellemektir. Transistör, motor için bir anahtar görevi görür ve motorun ihtiyacı olan akımı Arduino'ya zarar vermeden sağlar.

Arduino Kodu

Şimdi de Arduino kodumuza geçelim. Aşağıdaki kodu Arduino IDE'nize kopyalayın ve Arduino'nuza yükleyin. Kodu yüklemeden önce DS3231 RTC modülünün doğru zamanı gösterdiğinden emin olun. Bunun için Arduino Türkiye gibi sitelerdeki RTC modülü ayarlama örneklerine göz atabilirsiniz.

```cpp #include #include RTC_DS3231 rtc; int vibrationPin = 9; // Titreşim motorunun bağlı olduğu pin int alarmHour = 7; // Alarm saati (örneğin, 7:00) int alarmMinute = 0; // Alarm dakikası void setup() { Serial.begin(9600); if (! rtc.begin()) { Serial.println("RTC Modülü Bulunamadı!"); while (1); } pinMode(vibrationPin, OUTPUT); } void loop() { DateTime now = rtc.now(); Serial.print(now.hour(), DEC); Serial.print(':'); Serial.print(now.minute(), DEC); Serial.print(':'); Serial.println(now.second(), DEC); if (now.hour() == alarmHour && now.minute() == alarmMinute && now.second() == 0) { // Alarm çalma zamanı geldi! vibrate(10); // 10 saniye titreşim } delay(1000); // Her saniyede bir kontrol et } void vibrate(int seconds) { for (int i = 0; i < seconds; i++) { digitalWrite(vibrationPin, HIGH); // Titreşimi başlat delay(500); digitalWrite(vibrationPin, LOW); // Titreşimi durdur delay(500); } } ```

Açıklama: Bu kod, RTC modülünden saat ve dakika bilgilerini okur ve önceden belirlenmiş alarm saatiyle karşılaştırır. Saat ve dakika eşleştiğinde, `vibrate()` fonksiyonu çağrılır ve titreşim motoru belirtilen süre boyunca çalışır.

Bilekliği Tasarlama ve Birleştirme

Devremizi kurduktan sonra, bileklik kısmını tasarlamaya geçebiliriz. Arduino'nun ve pilin bileğe rahatça sığması için dikkatli bir tasarım yapmamız gerekiyor. 3D yazıcı kullanarak özel bir kutu tasarlayabilir veya hazır bilekliklerden yararlanabilirsiniz. Titreşim motorunu bileğinizle temas edecek şekilde yerleştirmeniz, titreşimi daha iyi hissetmenizi sağlayacaktır.

Sonuç

Tebrikler! Artık kendi titreşimli bileklik alarm sisteminize sahipsiniz. Bu proje sadece bir başlangıç noktası. Kodu ve tasarımı kendi ihtiyaçlarınıza göre geliştirebilirsiniz. Örneğin, alarm erteleme özelliği ekleyebilir, farklı titreşim desenleri oluşturabilir veya Bluetooth ile telefonunuza bağlayarak alarmı telefonunuzdan kontrol edebilirsiniz.

Umarım bu proje size ilham vermiştir. Arduino ile yaratıcılığınızı kullanarak harika projeler geliştirmeye devam edin!

Bol kodlu günler!

Etiketler: arduino, titreşimli bileklik, alarm, proje, diy, rtc, ds3231, elektronik, hobi, öğrenci

```