Ses Komutlu Cihaz Kontrolü
Proje Amacı
Basit bir ses tanıma modülüyle önceden eğitilmiş sözcük komutlarına (örn. 'aç'/'kapat') göre bir LED'i kontrol eder — bu proje bilinçli olarak iskelet halinde bırakıldı çünkü komut kodları kullanılan modüle göre değişir (bkz. Çalışma Açıklaması).
Gerekli Malzemeler
- Arduino Uno
- Ses Tanıma Modülü (örn. Elechouse V3)
- LED
- 220Ω direnç
- Breadboard
Gerekli Kütüphaneler
Gerekli ek kütüphane yok, SoftwareSerial Arduino IDE ile birlikte gelir. (Kullandığınız ses modülüne özel bir kütüphane gerekiyorsa üreticinin dokümantasyonuna bakın.)
Pin Bağlantıları
| Bileşen Pini | Bağlantı |
|---|---|
| Ses Modülü VCC | 5V |
| Ses Modülü GND | GND |
| Ses Modülü TX | D2 (RX) |
| Ses Modülü RX | D3 (TX) |
| LED Anot (220Ω üzerinden) | D9 |
Devre Şeması
Arduino Kodu
| 1 | #include <SoftwareSerial.h> |
| 2 | SoftwareSerial sesModulu(2, 3); |
| 3 | const int led = 9; |
| 4 | |
| 5 | void setup(){ |
| 6 | pinMode(led, OUTPUT); |
| 7 | sesModulu.begin(9600); |
| 8 | Serial.begin(9600); |
| 9 | } |
| 10 | |
| 11 | void loop(){ |
| 12 | if(sesModulu.available()){ |
| 13 | int komut = sesModulu.read(); |
| 14 | if(komut == 1){ |
| 15 | digitalWrite(led, HIGH); |
| 16 | Serial.println("LED açıldı"); |
| 17 | } else if(komut == 2){ |
| 18 | digitalWrite(led, LOW); |
| 19 | Serial.println("LED kapandı"); |
| 20 | } |
| 21 | } |
| 22 | } |
Çalışma Açıklaması
Bu kod örnek bir iskelet niteliğindedir; gerçek komut kodları kullandığınız modülün kütüphanesine ve eğitim sürecine göre değişir, modülün kendi dokümantasyonunu mutlaka inceleyin.
Test Bilgisi
Ses modülünün kendi eğitim yazılımıyla 'aç' ve 'kapat' kelimelerini kaydedin (modülün dokümantasyonuna göre komut numaraları değişebilir). Sonra bu kodu yükleyip sesli komut vererek LED'in tepki verdiğini doğrulayın.
Olası Sorunlar ve Çözümleri
Komutlar tanınmıyorsa: modülün kendi eğitim yazılımıyla kelimelerin doğru kaydedildiğinden ve komut numaralarının kodla eşleştiğinden emin olun. Yanlış tetiklemeler oluyorsa: modülün hassasiyet ayarını (varsa) düşürün veya sessiz bir ortamda eğitim yapın. Modül hiç yanıt vermiyorsa: baud hızını ve TX/RX bağlantısının çapraz olduğunu kontrol edin.
Alternatif Çözümler
LED yerine röle eklenerek gerçek ev aletleri (lamba, fan) sesle kontrol edilebilir hale getirilebilir. Birden fazla komutla (aç/kapat/parlaklık artır/azalt) daha zengin bir kontrol seti oluşturulabilir. Daha gelişmiş ses tanıma için ESP32 + Google/Amazon ses servisleri entegrasyonuna geçilebilir (ileri seviye).
Benzer Projeler
MQ-2 Gaz Alarmı
Ortamdaki yanıcı gaz/duman yoğunluğunu ölçüp tehlikeli seviyede LED ve buzzer ile alarm verir — ama bir uyarı: bu bir eğitim projesidir, sertifikalı bir ev tipi gaz alarmının yerini tutmaz (bkz. Çalışma Açıklaması).
PIR Hareket Alarmı
PIR sensörle hareketi algılayıp LED ve buzzer ile alarm verir. PIR'lar aslında sıcaklık farkı ölçer (pasif kızılötesi) — bu yüzden ilk 30-60 saniye kalibrasyon ister ve kalorifer gibi sıcak hava akımlarına karşı hassastır.
Servo Kontrollü Kilit
Potansiyometreyi çevirerek servo motorun açısını 0-180° arasında kontrol eder; aynı mantık gerçek bir kilit mekanizmasına bağlandığında servo tabanlı bir erişim sistemine dönüşür.