Ses Tanıma Modülü Arduino Uyumlu 15 Komut - Mikrofonlu
Ses Tanıma modülü, kullanıcının önceden kaydettiği sesli komutları algılayarak UART üzerinden bir Arduino veya uyumlu kontrolcüye sonuç ileten ses tanıma kartıdır. Modül toplam 15 ses komutunu hafızasında saklayabilir. Komutlar 5'er komuttan oluşan 3 ayrı gruba ayrılır ve çalışma sırasında bu gruplardan biri aktif edilerek aynı anda 5 komut tanınabilir.
Modül doğrudan motor, röle veya başka bir yükü sürmek yerine tanınan ses komutunun sonucunu kontrolcüye iletir. Arduino tarafında hazırlanan program bu sonuca göre LED yakma, röle kontrolü, robot hareketi veya başka bir işlemi gerçekleştirebilir. Geeetech'in resmi örneğinde modül, beş farklı ses komutuyla RGB LED renklerini kontrol etmek için kullanılmaktadır.
Öne Çıkan Özellikler
- Toplam 15 ses komutu kaydedebilme
- 3 grup × 5 komut hafıza yapısı
- Aynı anda seçili gruptaki 5 komutu tanıma
- Arduino ile seri haberleşmeye uygun yapı
- 5 V TTL UART dijital arayüz
- Varsayılan 9600 baud seri haberleşme
- 3,5 mm mono mikrofon bağlantısı
- Ses komutlarının kullanıcı tarafından kaydedilebilmesi
- Kayıtlı ses komutlarının güç kesildikten sonra korunması
- Komut algılandığında sonucu seri port üzerinden iletme
Teknik Özellikler
| Özellik |
Değer |
|---|---|
| Marka | Geeetech |
| Ürün Türü | Ses Tanıma Modülü |
| Toplam Ses Komutu | 15 |
| Grup Sayısı | 3 |
| Grup Başına Komut | 5 |
| Aynı Anda Tanınabilen Komut | 5 |
| Çalışma Gerilimi | 4,5–5,5 V DC |
| Akım Tüketimi | <40 mA |
| Dijital Arayüz | 5 V TTL UART |
| Varsayılan Baud Hızı | 9600 baud |
| Seri Veri Formatı | 8 data bit, parity yok, 1 stop bit |
| Mikrofon Arayüzü | 3,5 mm mono mikrofon konektörü + mikrofon pin arayüzü |
| Maksimum Ses Komutu Süresi | 1300 ms |
| Kart Ölçüsü | 30 × 47,5 mm |
| Arduino Uyumluluğu | Var |
Kullanım Alanları
- Arduino tabanlı sesli kontrol projeleri
- Robot hareket kontrolü
- Ses komutlu LED ve aydınlatma uygulamaları
- Röle ve çıkış kontrol projeleri
- Hobi elektroniği ve prototipleme
- Sesle çalışan otomasyon uygulamaları
- Eğitim ve mikrodenetleyici projeleri
Ses Tanıma Modülü Nasıl Çalışır?
Modül kullanılmadan önce tanımasını istediğiniz kelimelerin veya kısa komutların karta kaydedilmesi gerekir. Her grup içerisinde 5 farklı ses komutu bulunur.
Örneğin bir robot uygulamasında Grup 1 şu şekilde oluşturulabilir:
- İleri
- Geri
- Sağ
- Sol
- Dur
Bu beş komut kaydedildikten sonra Grup 1 tanıma için aktif edilir. Kullanıcı örneğin “ileri” dediğinde modül sesi değerlendirir. Kayıtlı komutla eşleşme sağlanırsa ilgili komut sonucu UART üzerinden Arduino'ya gönderilir. Arduino programı da bu sonuca göre motor sürücüsünü veya başka bir çıkışı kontrol edebilir.
Bu nedenle Ses Tanıma modülü kontrol edilecek yükü doğrudan sürmez; sesli komutu algılar ve kontrol sistemine hangi komutun tanındığını bildirir.
15 Komut ve 3 Grup Sistemi
Modül toplam 15 komutu şu şekilde saklar:
| Grup |
Komut Kapasitesi |
| Grup 1 | 5 komut |
| Grup 2 | 5 komut |
| Grup 3 | 5 komut |
| Toplam | 15 komut |
Önemli nokta, 15 komutun tamamının aynı anda aktif olmamasıdır. Modül çalışma sırasında bir grubu aktif eder ve o gruptaki 5 komutu tanır. Başka bir gruptaki komutların kullanılabilmesi için ilgili grubun seri komutla yüklenmesi gerekir.
Ses Komutları Nasıl Kaydedilir?
Modülün komut sistemi 0xAA başlangıç baytı ve ardından işlem kodu gönderilerek çalışır.
Grup kaydı için temel komutlar:
| İşlem |
Komut |
| Grup 1'i Kaydet | 0xAA11 |
| Grup 2'yi Kaydet | 0xAA12 |
| Grup 3'ü Kaydet | 0xAA13 |
Örneğin 0xAA11 komutu gönderildiğinde Grup 1 kayıt işlemi başlar. Modül sırasıyla 5 ses komutunun kaydedilmesini ister. Her komutun doğru şekilde doğrulanabilmesi için aynı ses komutu iki kez söylenir. İki kayıt birbiriyle uyuşmazsa kayıt tekrar edilmelidir.
Bir grubun kayıt işlemi başlatıldığında o grupta daha önce bulunan ses komutlarının silineceği unutulmamalıdır. Bir grubun kayıt işlemi başladıktan sonra 5 komutun tamamının kaydedilmesi gerekir. Her bir ses komutunun maksimum süresi 1300 ms olarak belirtilmiştir.
Kaydedilen Grup Nasıl Aktif Edilir?
Ses komutlarını kaydetmek tek başına yeterli değildir. Kullanılacak grubun ayrıca tanıma için yüklenmesi gerekir.
| Aktif Edilecek Grup | Komut |
| Grup 1 | 0xAA21 |
| Grup 2 | 0xAA22 |
| Grup 3 | 0xAA23 |
Örneğin Grup 1 içerisinde “ileri, geri, sağ, sol, dur” komutları kayıtlıysa 0xAA21 gönderildiğinde bu grup tanıma için aktif hale gelir.
Modül kapatılıp tekrar açıldığında kayıtlı ses komutları korunur ancak kullanılacak grubun yeniden yüklenmesi gerekir.
Arduino ile Kullanım Mantığı
Modül Arduino ile 5 V TTL seviyesinde UART seri haberleşme üzerinden iletişim kurar. Varsayılan haberleşme ayarları 9600 baud, 8 data bit, parity yok ve 1 stop bit şeklindedir.
Temel çalışma sırası şöyledir:
- Modül beslenir ve mikrofon bağlanır.
- Kullanılacak ses komutları modüle kaydedilir.
- İstenen komut grubu aktif edilir.
- Modül mikrofon üzerinden sesi dinler.
- Kayıtlı komutlardan biri algılandığında sonucu UART üzerinden gönderir.
- Arduino gelen sonuca göre programlanan işlemi gerçekleştirir.
Örneğin Compact Mode içerisinde 0x11 sonucu, Grup 1 içerisindeki ilk ses komutunun tanındığını belirtir. Arduino programında bu değer okunarak istenilen fonksiyon çalıştırılabilir.
Geeetech'in resmi Arduino örneğinde Grup 1 içerisinde WHITE, RED, GREEN, BLUE ve OFF komutları kaydedilerek RGB LED kontrolü gerçekleştirilmektedir.
Common Mode ve Compact Mode
Modül iki farklı seri cevap formatını destekler:
- Common Mode: Sonuçları daha uzun ve okunabilir metin şeklinde döndürür.
- Compact Mode: Sonuçları kısa bayt değerleri halinde döndürür ve mikrodenetleyici uygulamalarında daha pratik kullanılabilir.
Common Mode için 0xAA36, Compact Mode için 0xAA37 komutu kullanılabilir.
Daha İyi Ses Tanıma İçin Kullanım Notları
Ses tanıma performansı ortam koşullarından ve mikrofon kullanımından etkilenebilir. Üreticinin kullanım kılavuzunda kayıt ve kullanım ortamlarının mümkün olduğunca benzer olması önerilmektedir.
- Komutları mümkün olduğunca sessiz bir ortamda kaydedin.
- Kayıt ve kullanım sırasında benzer ses seviyesinde konuşmaya çalışın.
- Birbirine çok benzeyen kelimeler yerine belirgin şekilde farklı komutlar tercih edin.
- Mikrofon ile modül arasındaki bağlantıyı mümkün olduğunca kısa tutun.
- Gürültülü ortamların tanıma performansını düşürebileceğini dikkate alın.
- Aynı komutu kayıt sırasında iki kez mümkün olduğunca benzer şekilde söyleyin.
Geeetech ayrıca Arduino'ya program yüklenirken donanımsal seri port kullanılıyorsa TX ve RX bağlantılarının ayrılmasını önermektedir; Arduino program yükleme işlemi de seri arayüzü kullanabilir.
Bilgisayar üzerinden seri terminal kullanılarak kayıt veya yapılandırma yapılacaksa uygun bir USB-TTL dönüştürücü gerekebilir. USB-TTL dönüştürücü bu ürünün paketine dahil değildir.
Paket İçeriği
- 1 adet Ses Tanıma Modülü
- 1 adet Mikrofon
- 5 adet Jumper Bağlantı Kablosu
Kaynaklar ve Dokümanlar
Geeetech Arduino Voice Recognition Module Resmi Ürün Sayfası 