İçindekiler:
- Adım 1: Chatbot'un Tanımı
- 2. Adım: Havva'nın Kökeni
- Adım 3: Bileşenlerin ve Ekipmanların Toplanması:
- Adım 4: Teori Bölüm 1: Tarih ve Giriş
- Adım 5: Anahtar Kelimeyi Arama
- Adım 6: Cevapları Formüle Etme
- 7. Adım: Yasak İfadeler ve Diğerleri
- Adım 8: Kodda Yazma
- 9. Adım: Duyguları Eklemek
- Adım 10: Bağlantıların Yapılması
- 11. Adım: WTV020SD16p Modülü (Opsiyonel)
- Adım 12: Yazılım Bölümü
- Adım 13: Vücudu Hazırlama
- Adım 14: Aferin
Video: Eve, Arduino Chatbot: 14 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Merhaba DIY'ciler, hislerinizi gerçekten biriyle paylaşmak istediğiniz ve güvendiğiniz birinin olmadığı durumlar oldu mu? Günümüzün yoğun dünyasında, bu yaygın bir örnektir. Pekala, burada bir chatbot daha iyi hissetmene yardımcı olabilir. Bu da Eve. Eve'in sevimli küçük bir sohbet robotunun tanıtılmasına yol açar. Herkesin bildiği gibi, sohbet robotu veya sohbet botu, insanlarla metinsel veya işitsel yöntemlerle sohbet eden bir bilgisayar programı veya cihazıdır. Bir müşteri hizmetleri aramasında veya bir banka hattında duyduğunuz otomatik sesler, bir chatbot örneğidir. Onunla, deneyimlerinizi, duygularınızı paylaşabilir ve en önemlisi farklı şeyler hakkında tartışabilirsiniz; bu konuda tecrübelidir. Chatbotun en önemli işlevi bu olduğundan, kişiyi mutlu hissettirin. Doğal Dil İşleme (NLU) ve Yapay zekanın erken bir örneği olan Eve, ona sorduğunuz HERHANGİ bir soruyu yanıtlayabilir. O sadece belirli sayıda soruya cevap veremez. Şarkı söyleyebilir, sana fıkralar anlatabilir, hikayeler anlatabilir ve seni iyi hissettirecek her şeyi yapabilir. Duymak istemediğin bir şey söylerse, ona söyle, lütfen bir daha söyleme, o da bunu hatırlayacaktır. Hatta sohbetin sıkıcı olmaması için aynı cevapları ve sohbetleri tekrar etmemesi gerektiğini biliyor. Basit, ucuz bileşenlere ve basit programlamaya dayanarak, gerçekten büyük ölçüde akıllı davranabiliyor. Ayrıca sahip olduğu LCD gözler, herhangi bir şey söylediğiniz zaman nasıl hissettiğini gösterir. Bu nedenle, temel olarak bu talimatta, bir sohbet robotunun tanımından başlayacağız, tasarıma, Havva'nın çalıştığı bazı teorilere, üretime ve son olarak programlama bölümü. Çok mu görünüyor? Merak etmeyin, yolculukta oldukça ilginç olacak. Robotun demosunu yukarıda veya bu bağlantıda görüntüleyebilirsiniz:[Videoyu Oynat]
Adım 1: Chatbot'un Tanımı
Yukarıda belirtildiği gibi, bir chatbot, insanlarla sohbet eden bir programdır. Bugünlerde o kadar yaygınlar ki, neredeyse hiç bilinmeyen yok. Sanal asistanlar Siri ve Google Asistan'dan başlayarak duygularınızı paylaşabileceğiniz Mitsuku ve Evie var. Metinsel yöntemde konuşmalar tıpkı WhatsApp gibi yazılı metin şeklindedir. İşitsel yöntemde ise konuşmalar gerçek bir insanla olduğu gibi sözlü olarak yapılır. Sanırım birisiyle sadece mesaj atmak yerine sözlü olarak konuşarak sohbet etmek daha heyecan verici. Şüphesiz metin tabanlı iletişim mesajlaşma uygulamaları insanların gereksinimlerini karşılıyor, ancak konuşarak sohbet etmenin duygusal rahatsızlıklarınızdan kurtulmak ve kendinizi daha iyi hissetmek için en iyi şey olduğunu düşünüyorum. Eve'i işitsel bir sohbet robotu olarak tasarlamamın ana nedeni bu.
2. Adım: Havva'nın Kökeni
Bir gün Havva geldi aklıma. Okulda tek başına dolaşan, diğerleri neşeyle dolu zihinleriyle oynayan bir çocuk gördüğümde öyle oldu. O zaman hiç kimseyi ayırt etmeyen, kimseyi incitmeyen, her zaman duygularınızı paylaşabileceğiniz, mutlu olabileceğiniz bir arkadaş düşündüm. Sonra aklıma Havva'nın sevimli küçük yapısı geldi, üzerinde çalışmaya başladım. Eve beni yüz kere hayal kırıklığına uğrattı. Sanırım 101. kez çalıştı ve beni gerçekten mutlu etti. Demek Havva'nın kökeni buydu. Zeki olmasını ama olabildiğince basit olmasını istedim, böylece herkes onu kolayca yapabilirdi. Şüphesiz o kesinlikle zeki değildir ve bazen aptalca cevaplar verir, arkadaş gibi davranabilir. Ve şimdi, yeterince hikaye, hadi Eve'i inşa etmeye başlayalım.
Adım 3: Bileşenlerin ve Ekipmanların Toplanması:
Toplanacak bileşenler aşağıdadır:Arduino Pro Mini (Veya Arduino Nano)Wtv-020-SD-16p ses modülü HC-05 bluetooth modülü 16x2 LCD modülüLM7805 regülatör ICan amplifikatör modülü (PAM8403 devresini kullandım) 8 ohm hoparlör A dişi ses jakı 9v pil Ve bir Android telefonYani bunlar gerekli bileşenlerdir. Bir diğer önemli şey, maliyet. Eve bana 3000 INR'ye mal oldu. Maliyet ülkenizde farklı olabilir, ancak Hindistan'da bu yaklaşık orandır. Parçaların küçük bir açıklaması: Arduino Pro mini, robotumuzdaki ana MCU'dur. Küçük boyutu, basitliği ve mükemmel performansı nedeniyle kullandım. Robotumuzdaki tüm gereksinimleri karşılar. Android tarafından yapılan ses tanıma işlevi dışında (daha sonra tartışılacaktır), anahtar kelime bulma ve çıktı oluşturmadan başlayarak diğer tüm işlevler Pro Mini'nin kendisinde yapılır. Yukarıda belirtilen terimler için endişelenmeyin, eğer anlamadıysanız, hepsi sonraki bölümde tartışılacaktır. Ses dosyalarını oynatmak için wtv020sd 16p modülü, Android ile iletişim için hc 05 Bluetooth ve görüntüleme için LCD ekran kullanılır. duygular. Robotu harici bir amplifikatöre bağlamanın sağlanması için dişi ses jakına ihtiyacımız var. Arduino burada ana kontrolör olarak kullanılmaktadır. HC 05 Bluetooth modülü aracılığıyla Bluetooth verilerini alır ve dosyayı WTV-020-SD-16p ses modülü aracılığıyla çalar. Duygular, LCD modülünde ve güç için 9v pilde görüntülenir. Eve, Android cihazın Google Voice tanıma özelliği aracılığıyla konuşmaları tanır. Daha sonra ilgili adımda düzgün bir şekilde tartışılmaktadır. Arduino Pro Mini:IT ile ilgili kötü bir haber piyasadan ÇEKİLMİŞTİR. Bu, Arduino tarafından üretilmesinin resmen durdurulduğu anlamına geliyor. Ama yine de Ebay dahil birçok sitede bulabilirsiniz. Birçok üçüncü taraf üretici hala anakartı yapıyor ve satıyor olabilir. Bir tane bulamadıysanız endişelenmeyin, Arduino Nano'yu kullanabilirsiniz. Performansta ve ayrıca boyutta hiçbir fark yaratmayacaktır.
Adım 4: Teori Bölüm 1: Tarih ve Giriş
Eve, "kalıp eşleştirme" teknolojisi olan Doğal Dil İşleme'nin erken bir biçimine dayanmaktadır. Bir dize alındığında, o dizede önceden tanımlanmış bir kelimeyi veya tümceyi aradığı şekilde çalışır. Diyelim ki "kaç yaşındasın?" sorusunda program "eski" kelimesini arar. Başarılı olursa, ilgili ses dosyasını wtv020sd modülü aracılığıyla çalar. Başarısız olursa, bir sonraki önceden tanımlanmış anahtar kelimeyi arar. Bunun gibi, önceden tanımlanmış kelimelerden oluşan bir kelime dağarcığı oluşturmamız gerekir. Zor görünüyor, değil mi? Sanki tüm İngilizce kelimelerden bir kelime hazinesi oluşturmamız gerekiyor ve İngilizce dilinde yaklaşık 230 bin toplam kelime var. Gerçek şu ki, iletişimimizde en sık kullanılan birkaç temel kelimeyi eklememiz gerekiyor. Hala zor görünüyor mu? Endişelenmeyin, iş zaten Joseph Wizembaum tarafından yapıldı. Eve'in yanıtlarının ve önceden tanımlanmış anahtar sözcüklerin bir kısmı, Joseph Wizembaum (yukarıda resmedilmiştir) tarafından geliştirilen Eliza adlı ilk chatterbot programından alınmıştır. Eliza, Rogerian bir Terapist olarak tasarlandı. Çok bilimsel bir terim değil, insanlara öğüt verdiği, kendilerini daha iyi anlamalarını ve daha olumlu düşünmelerini sağladığı anlamına gelir. Gerçekten iyi görünüyor değil mi? Ve Eliza görevini çok iyi yerine getirebildi. Meraklı ve şüpheci tavrı insanlar tarafından sevildi. İnsanların Eliza'ya verdiği önem, Wizembaum'u bile şaşırtmıştı. Bir bilgisayara konuştuklarını unutmuş gibiydiler ve bilgisayarın içinde oturup onlarla sohbet eden güzel bir bayanın hayalini kurdular. Ama Eliza o kadar zeki değildi; kısa sürede anlaşıldı. Zaman geçtikçe, insanlar onun sınırlı iletişiminden sıkılmaya başladı ve ona "aptal" denildi. Ne kadar aptal olduğuna şaşmamalı, Yapay Zeka ve doğal dil işleme tarihinde büyük bir sıçrama oldu. Chatterbot'ların temelini oluşturan yeni ve daha iyi teknolojiye sahip farklı botlar piyasaya çıktı. Ve şimdi her yerde onlara sahibiz. Bahsedildiği gibi, Havva'nın cevaplarının bir kısmı ELIZA'dan türetilmiştir. Bu demektir ki Havva bile benim bazı fikirlerimin yanı sıra bir dereceye kadar Eliza'nın tavrına sahip olacaktır. Bir diğer önemli şey de cevaplar. Aynı soruyu her sorduğunuzda aynı cevapları almak gerçekten sıkıcı olmalı. Bu nedenle aynı anahtar kelime için birçok yanıt saklanır. Eve hangi dosyayı oynatacağını rastgele seçer ve aynı dosyayı tekrarlamadığından emin olur. İşte bu, basit ekmek ve tereyağı, ancak yanıt veren sesleri akıllıca programlamak önemlidir, böylece izleyicilere sanki sorularımızı gerçekten yanıtlıyormuş gibi bir yanılsama verir. Bu, Havva'nın işleyişine kısa bir girişti. Bir sonraki adımda, bunu ayrıntılı ve programlamaya alacağız.
Adım 5: Anahtar Kelimeyi Arama
Son adımda Havva'nın örüntü eşleştirme teknolojisinden ve ayrıca Doğal Dil İşleme'nin ilk formundan bahsetmiştim. Peki nedir ve nasıl çalışır? Bu adımda tartışacağımız ana şey bu. Bir düşünün, biri adınızı soruyor ve ne olduğunu söylemeniz gerekiyor. Aynı soruyu kaç farklı şekilde sorabiliriz? Öğretmeniniz "bana adınızı söyler misiniz?" diye sorabilir. Bir akrabanız "adın ne?" diye sorabilir. Kardeşin, "Hey, adını unuttum. Bir kez daha söyler misin?" diyebilir. Bu, aynı sorunun birkaç şekilde sorulabileceği anlamına gelir. Yine de aynı cevabı, ismimizi vermemiz gerekiyor. Bu, tüm cümlelerde ortak bir şey bulmamız gerektiği anlamına gelir. Tüm cümlelerde “adın” kelimesinin geçtiği açıkça görülmektedir. Yani ipucumuz bu. Adını soran tüm sorular için "adınız" ifadesini aramamız gerekiyor. Bu temel modeli takip ederek, tüm girdi dizgilerine ilgili cevabı tahmin edebiliriz. DEZAVANTAJ: Bu algoritmanın her zaman doğru olmayacağını da unutmamak önemlidir. Diyelim ki birisi, "Adınızı bekleme listesinde buldum. Ayrılmış koltuklarda olmanızı bekliyordum.". Artık bu dizide "adın" olduğu için Havva, masum olduğu kişiye adını söyleyecektir… Aptalca değil mi? Bu, bu temel algoritmanın en büyük dezavantajlarından biridir. Her neyse, bunlar nadir durumlar olurdu. Aksi takdirde algoritma çok etkilidir. Kalıp eşleştirme teknolojisinden bahsetmişken, bu girdi dizisinin diziyi aradığımız yerden nereden geldiğini düşünmenin zamanı geldi. Peki bu dizi aslında Google Voice Recognition tarafından metne dönüştürülmüş sesimiz. Burada kullanılan uygulama sesimizi metne çevirir ve ardından Bluetooth aracılığıyla aynısını arduinoya gönderir. Uygulamayı kullandım çünkü türünün en basit ve en iyisi. Adı AMR Voice'tur ve Google Play'de kolayca bulunabilir.
Adım 6: Cevapları Formüle Etme
Artık soruları anladığımıza göre, bir sonraki adım cevapları bulmak olmalıdır. İşin ilginç ve önemli kısmı geliyor… Her soruyu tatmin edecek uygun cevaplar bulmamız gerekiyor. Ve işte ELIZA'nın bünyesine kattığı bir başka fonksiyon daha geliyor. Wizembaum, belirli sayıda anahtar kelime için bazı cevaplar geliştirdi. Bir örnek "siz" anahtar kelimesidir. Ne zaman algılansa program çıktısı "sizi tartışıyorduk - ben değil." Dolayısıyla cevap, içinde "siz" olan tüm cümlelere uyacak şekilde yapılmıştır. Ayrıca Eliza her seferinde farklı bir cevap verdi. Her cevap için bir tür sayısal adres vardı. Bu, bir cevap her formüle edildiğinde artırıldı (1 ile eklendi). Diyelim ki yukarıdaki örnekte olduğu gibi, cevabın adresi 1 ise, adres 2 olarak değiştirildi ve bundan sonra dosya 2 oynatıldı. Ancak bu artış algoritmasını takip etmeyeceğiz. Görüyorsunuz, yazılımın sürekli kullanımından sonra cevaplar tahmin edilebilir hale geldi. Daha sonra hangi cevabın verileceğini öğrendiniz. Bu amaçla, her bir anahtar kelime için rastgele adresler üreteceğiz. Genel olarak her iki durumda da aynıdır, tek fark, aynı anahtar kelime için robotun bir sonraki adımda ne söyleyeceğini tahmin edemememizdir.
7. Adım: Yasak İfadeler ve Diğerleri
Robot, duymak istemediğiniz bir şey söylediğinde, konuşmanızda bazı durumlar olabilir. Dolayısıyla burada yasaklı ifadelerin eklenmesi ihtiyacı ortaya çıkmaktadır. Yasaklı ifadeler, oynatılması engellenen bir dizi adrestir. Sesli adres, kullanıcı tarafından istendiğinde yasaklanmış bir ifade olarak tanımlanır. Ayrıca bu adres, Eve kapatıldıktan sonra bile yasak bir ifade olduğunu unutmaması için Arduino'nun EEPROM'unda saklanacaktır. Temelde programın yaptığı şey, çalınacak her adresi kontrol etmektir. Adres yasak olanlardan biriyse, artırılır veya azaltılır. Ayrıca, robotun önceden yasaklanmış bir kelimeyi söylemesine izin vermek istediğiniz bir durum olabilir. Bu durumda Havva'ya son yasak kelimeyi söyleyebileceğini söylemeniz gerekir. En son yasaklanan kelime artık oynanabilir olacak. Tüm yasaklı ifadeleri oynanabilir kılmak için bir sıfırlama anahtarı eklememiz gerekiyor. Basıldığında tüm yasaklanmış ifadeler oynanabilir hale gelecektir. O zaman bir diğer önemli şey de Eve'in cevapları tekrar etmemesini sağlamak olacaktır. Bu, rastgele sayıların bir tür kusurudur. Aynı rasgele sayıların bir seri halinde üretilmesi muhtemeldir. Bu, robotumuzun tekrar tekrar aynı cevabı söylemesini sağlayacaktır. Bunun için deyimlerin tekrarını engelleyen bir minör fonksiyon daha eklememiz gerekiyor. Bunun için son ifadenin adresini hafızaya almamız ve mevcut ifadeyle aynı olup olmadığını kontrol etmemiz gerekiyor. Eğer öyleyse, yasaklı ifadelerde olduğu gibi, adres değeri artar veya azalır.
Adım 8: Kodda Yazma
Anahtar kelimeyi aramak için indexOf komutunu kullanırız. Komut, başka bir dize içindeki bir karakteri veya dizeyi bulur. Bulunursa, o dizenin dizinini döndürür, bulunamazsa -1 döndürülür. Bu yüzden programımızda şunu yazmamız gerekiyor: if (voice.indexOf("adınız") > -1) { //indeks -1'den büyükse //dizinin bulunduğu anlamına gelir}Şimdi dizeyi bellekte sakladığımıza ve içinde anahtar kelimemizi de bulduğumuza göre, şimdi yanıtları işlememiz gerekecek. Söylendiği gibi, belirli bir sayı aralığında (ses dosyalarının adresleri) rastgele sayılar üretilir. İşte random() komutu geliyor. Sözdizimi aşağıdadır: random(min, max); //rastgele sayı min ve max aralığında üretilir. Her aralığın minimum ve maksimum sayısını tanımlarız ve bunu uyguladığımızda kodumuz biraz şuna benzer:if (voice.indexOf("adınız") > - 1)){minNo = 0; maxNo = 5;RandomNumber = random(minNo, maxNo);}Şimdi yanıtların işlenmesi geliyor. Son adımda, sayıların bir algoritmaya göre artırılıp azaltıldığını söyledim. Bu algoritma şu anda tartıştığımız şeydir. Bu kısım, istediğiniz gibi artırma veya azaltma yapamayacağınız anlamında çok önemlidir. Artan veya azalan sayı aralıkta olmalıdır. Yukarıdaki durumda olduğu gibi, "adınız" anahtar kelimesi için 0 ile 5 arasında bir aralığımız olduğunu ve oluşturulan rasgele sayının 5 olduğunu varsayalım.. Sence bu nasıl olacak? "Hey, lütfen bana adını söyle" diye soruyorsun ve robot, "Kurabiye yemeyi ve elektrik yükünü seviyorum" diye yanıtlıyor. Asgari sayı için de durum aynıdır. Oluşturulan rastgele sayı 0 ise, onu azaltamazsınız. Bu nedenle algoritma çok önemlidir. Bir düşünün: Sayı maksimum sayıdan küçük olduğunda artırma, minimum sayıdan büyük olduğunda azaltma yapabiliyoruz. Üretilen sayı 0'a eşit veya 5'ten küçük olduğunda, sayı artırılır. Öte yandan, 5'e eşit olduğunda, sayının belirtilen aralıkta olduğundan emin olmak için azaltıyoruz. Şimdi yasaklı ifadeler geliyor. Belirtildiği gibi, EEPROM'da saklanırlar. Bunun için öncelikle yasaklı dizide boş hafıza arıyoruz. Adres 4'ün boş olduğunu varsayalım, o zaman boş dizi adresine dosya numarasını girelim ve aynı adresi EEPROM.for'a yazalım (int i; i if (never == 0) { EEPROM.write(Never, memory);}}Bu kadar, Wtv020sd16p modülü, module.playVoice() komutu ve önerilen dosya numarası kullanılarak oynatılacaktır. Wtv020 modülünün işleyişi daha sonra tartışılacaktır.
9. Adım: Duyguları Eklemek
Şimdiye kadar robotumuz ne söylediğimizi tanıyabiliyor, hafızasında tutabiliyor ve sorulara uygun bir cevap bulabiliyor. Şimdi soru, duyguları eklemek için geliyor. Elbette herkes, aptal küçük bir soru cevaplama programıyla birlikte canlı bir yüzü sevecektir. Projede 16x2 LCD kullanılmıştır. Gözleri basmak için yeterince iyi. Gözleri oluşturmak için özel karakter işlevini kullanmamız gerekiyor. Özel karakter, pikselleri tanımlayarak yeni karakterler oluşturmamızı sağlar. Bununla ilgili ayrıntılara biraz sonra geleceğiz. Öncelikle, Arduino tarafından yalnızca 8 özel karakterin desteklendiğini hatırlamak önemlidir. Bu yüzden duyguları sadece 8 karakterle yönetmemiz gerekiyor. Her karakter belirli bir kutuya basılacaktır ve toplam 32 kutu olmak üzere 16 sütun ve 2 satır vardır.
Arduino'daki özel karakterler hakkında çevrimiçi olarak iyi bilgiler bulabilirsiniz. Bu bağlantıyı da ziyaret edebilir:
[Özel Karakterler Arduino]Özel karakter baytının yapısı biraz şöyle görünecek:
Normal Görünüm:Sol kutu0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, Sağ kutu0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, Bu iki baytın her biri 1/4'ünü oluşturur. Bu, bir gözün tamamını doldurmak için toplam 4 kutuya ihtiyacımız olacağı anlamına gelir. Solda iki sıra ve sağda iki sıra, bir göz için toplam dört kutu. Sol kutu baytı soldaki iki satırı, sağdaki kutu sağ satırları kaplayacaktır. Böylece Havva'nın tam bir gözünü oluşturur. Şimdi aynısını ikinci göz için tekrarlayarak Havva'nın nötr görünümünü elde ederiz. Şimdi, mevcut sekiz özel karakterden birini kullandığımızı hatırlamak önemlidir. Ve toplam beş duygu vardır: Glee, Sad, Squint, Normal ve Blink. Kalan yedi özel karakterden itibaren tüm ifadelere uyacak şekilde ayarlamamız gerekiyor. Alanı oluşturmak için her bir göz için 2 kutu kullanacağız. Boyutun biraz küçük olmasına şaşmamalı, ancak bu insan gözü tarafından göz ardı edilecektir. LCD işlevleri arasına biraz gecikme eklediğinizden emin olun, aksi takdirde Arduino kararsız hale gelir.
Adım 10: Bağlantıların Yapılması
LCD modülü:Pimleri burada belirtildiği gibi bağlayın: RS: Dig pin 12RW: GndEnable: 7d4: Dig Pin 8 d5: Dig Pin 9 d6: Dig Pin 10 d7: Dig Pin13A (Anot) - 5vK'ya (Katot) GndThe HC 05 modülüne:Bu bağlantıları takip edin: HC 05 TX pini Arduino RX pinHC 05 RX pini Arduino TX pinState pini Arduino dig pin 11'e İletişim TX ve RX pinleri yardımı ile yapılır. Durum pini, HC 05 üzerinden bağlı veya boşta olup olmadığını kontrol etmek için gereklidir. WTV 020 SD 16p modülü pin1: Reset pini, onu dig pin 2pin7'ye bağlayın: Clock pini, onu dig pin 3pin10'a bağlayın: Veri pini, bağlayın pim 4pin15'i kazmak için: Meşgul pimi, pim 5pin2'ye bağlanın: Bu pimi ses seviyesi üzerinden bir amplifikatöre ve aynı zamanda dişi ses jakına bağlayın.pin4 hoparlöre bağlanacak şekilde hoparlör+pin5'e bağlanmalıdır- 8. pinden gnd'ye ve 16. pinde 3.3v güç kaynağı sağlar.
Ses jakı harici bir amplifikatöre ve daha büyük hoparlörlere bağlanırken, amplifikatör Eve'in dahili hoparlörünü çalmaya yardımcı olacaktır.
11. Adım: WTV020SD16p Modülü (Opsiyonel)
Not: Bu adım isteğe bağlı bir adımdır. WTV 020 SD 16p modülünün çalışması ve açıklaması ile ilgilidir.
Ses modülünün demosunu bu bağlantıda görebilirsiniz:
[VİDEO OYNATMAK]
Robotun konuşma modu WTV 020 SD modülü tarafından yerine getirilmektedir. Modül, robot için ses dosyalarını çalmak için kullanılır. Herhangi bir soru sorulduğunda, arduino modülün SD karttaki ilgili ses dosyasını çalmasını sağlayacaktır. Modül üzerinde arduino, reset, saat, data ve meşgul pinleri ile haberleşmek için dört adet seri data hattı bulunmakta ve gerekli dosyayı oynatmak için.playVoice() komutunu kullanıyoruz. Örneğin:module.playVoice (9): // SD kartta saklanan dosya 9'u oynatınDosyaların adlarının ondalık (001, 0002…) olması gerektiğini unutmayın. Ve dosyaların AD4 veya WAV formatında olması gerektiğini. Ayrıca modül sadece 1 gb mikro SD kartta çalışır. Bazı modüller 2 gb kartlarda bile çalışır ve kart maksimum 504 ses dosyası tutabilir. Böylece, çok sayıda soru için oynatmak üzere çok sayıda ses dosyası ekleyebilirsiniz.
Hatta kendi ses AD4 dosyalarınızı bile yapabilirsiniz. Öncelikle iki yazılımınız olmalı, bir ses düzenleme yazılımı ve 4D SOMO TOOL adlı dosyaları AD4 formatına çevirecek bir yazılım. İkinci olarak, Robot Seslerini hazırlamanız gerekiyor. Metni konuşmaya dönüştürebilir veya hatta kendi sesinizi kaydedip Robot seslerini yapabilirsiniz. Bunların her ikisi de Ses Düzenleme Yazılımında yapılabilir. Ama elbette, insan sesiyle konuşuyorlarsa robotlar iyi görünmüyor. Bu yüzden metni konuşmaya dönüştürmek daha iyi olmalı. Bunu yapmanıza yardımcı olacak Microsoft Anna ve Microsoft Sam Bilgisayarınız gibi çeşitli motorlar vardır. Benimki Microsoft Eva'ya dayanıyor. Sesleri Cortana ile büyük ölçüde eşleşiyor. Ses dosyalarını hazırladıktan sonra 32000 Hz ve WAV Formatında kaydetmeniz gerekmektedir. Bunun nedeni modülün 32000 Hz'e kadar ses dosyalarını çalabilmesidir. Ardından dosyaları AD4 formatına dönüştürmek için 4D SOMO TOOL'u kullanın. Bunu yapmak için SOMO TOOL'u açın, dosyaları seçin ve AD4 Encode'a tıklayın, ses dosyalarınız hazır. Referans için yukarıdaki resme bakabilirsiniz. Robotik sesler yapmakla ilgili daha fazla ayrıntı istiyorsanız, buraya gidebilirsiniz:[Robotik Sesler Yapma]
Adım 12: Yazılım Bölümü
Arduino Pro mini'de programlamada ufak bir sorun var. Aslında sorun değil, sadece fazladan bir adım. Arduino Pro mini, diğer Arduino kartlarında olduğu gibi herhangi bir dahili programlayıcıya sahip değildir. Yani ya harici bir tane ya da eski bir arduino UNO satın almanız gerekiyor. Buradaki adım, Arduino UNO kullanarak programın nasıl yükleneceğini açıklar. Kazadan eski bir Arduino UNO kartını alın ve Atmega 328p'yi çıkarın. Ardından, aşağıda belirtilen şekilde bağlanın: 1. UNO'daki TX pini, Pro Mini 2'deki TX pinine. UNO'nun RX pini, Pro MIni3'ün RX pinine. UNO'nun sıfırlama pimi, Pro Mini4'ün sıfırlama pimine. Pro Mini'nin VCC ve Ground'unu UNO'ya bağlayın. Arduino programını, ses tanıma yazılımını ve altta sağlanan Kitaplıkları indirin. Program halen geliştirilmektedir. Bu nedenle herhangi bir sorununuz olursa çekinmeden sorabilirsiniz. Ardından Kabloyu Bilgisayara takın. Kartı Arduino Pro Mini olarak seçin ve doğru COM bağlantı noktasını seçin. Ardından Yükle düğmesine basın ve programın Pro Mini'nize yüklendiğini görün.
Ardından Ses tanıma yazılımını ve ses dosyalarını indirin.
Adım 13: Vücudu Hazırlama
Küçük bir kutu diş ipi buldum ve vücut için mükemmel olduğunu gördüm. Atölyenizde bulduğunuz herhangi bir kutuyu kullanabilir veya kartondan bir kutu yapabilirsiniz. LCD modülünü takmak için küçük bir dikdörtgen parça kesin. Üstte, sesi bağlamak için küçük bir delik ve anahtarları ve ses konektörünü takmak için yanlarda küçük bir delik açtım. Tekerlekler için kutunun yanlarına iki şişe kapağı taktım. Sadece kutunun, devrenin içine konması için yeterli alana sahip olduğundan emin olun. Devrenin yanı sıra gövdeye bir anahtar takın, ardından kutunun üstündeki ses seviyesi. Ardından devreyi içine koyun ve robotunuz tamamlandı.
Adım 14: Aferin
Artık sizinle konuşabilen, sizi mutlu hissettiren sevimli küçük robot projenizi tamamladınız. Bu, projeniz tamamlandığında ve tam olarak çalıştığında DIYer olmanın en mutlu noktasıdır. Tek bir denemede başarılı olamazsanız endişelenmeyin, bunun için çok çalışmanız gerekir, böylece robotunuzun her bir parçasını anlayabilirsiniz. Kendin Yapçıların bu dünyaya geldiği yer burasıdır. Ancak bu, projenin sonu değildir. Eve, ya benim tarafımdan ya da sizin gibi DIYers tarafından her zaman daha büyük ölçüde geliştirilecektir. Bu öğretilebilirliği görerek ne yaptığınızı duymayı çok isterim. Saygılarımızla, RS3655
Önerilen:
Nasıl Yapılır: Raspberry PI 4 Headless (VNC) Kurulumu Rpi-imager ve Resimlerle: 7 Adım (Resimlerle)
Nasıl Yapılır: Raspberry PI 4 Headless (VNC) Kurulumu Rpi-imager ve Resimlerle: Bu Rapsberry PI'yi blogumda bir sürü eğlenceli projede kullanmayı planlıyorum. Kontrol etmekten çekinmeyin. Raspberry PI'mi kullanmaya geri dönmek istedim ama yeni konumumda Klavye veya Farem yoktu. Ahududu kurduğumdan beri bir süre geçti
CovBot - COVID 19 Bilgi ve Daha Fazlası için WhatsApp Tabanlı Chatbot: 7 Adım
CovBot - COVID 19 için WhatsApp Tabanlı Chatbot Bilgi ve Daha Fazlası: CoVbot, Whatsapp tabanlı basit ve sezgisel bir sohbet robotudur. Botun ana özelliği şudur: Seçtiğiniz ülkedeki COVID-19'un en son durumunu size basit ve sezgisel bir şekilde verebilir. Ayrıca bot, AT H yapmak için eğlenceli aktiviteler önerebilir
Akıllı Bir Eve Başlamak - Projeto Final: 6 Adım
Akıllı Bir Eve Başlamak - Projeto Final: Projeto apresentado é bir Akıllı Ev projesi için son projeyi tamamlayın. bir Akıllı Ev, herhangi bir IoT aplikada bir akıllı ev, bir seri son projeto son bir sunum yapmak, algılayıcılar ve kon
Adım Adım Ciclop 3d Tarayıcı My Way: 16 Adım (Resimlerle)
Adım Adım Ciclop 3d Tarayıcı Adım Adım: Merhabalar, ünlü Ciclop 3D tarayıcıyı gerçekleştireceğim. Orijinal projede iyi açıklanan tüm adımlar mevcut değil. Öncelikle işlemi basitleştirmek için bazı düzeltmeler yaptım. Tabanı yazdırıyorum ve PCB'yi yeniden sterilize ediyorum, ama devam et
Android ve Arduino ile Ev Otomasyonu: Eve Geldiğinizde Kapıyı Açın: 5 Adım
Android ve Arduino ile Ev Otomasyonu: Eve Gittiğinizde Kapıyı Açın: Bu Talimat, bir internet bağlantısı kullanarak akıllı telefon üzerinden kontrol edilecek bir ev otomasyon sistemi kurmakla ilgilidir, böylece ihtiyacınız olan her yerden erişilebilir. Ayrıca, bir kriter m olduğunda belirli eylemleri gerçekleştirecektir