İçindekiler:
- Adım 1: Ewon için Gerekli Parçalar
- Adım 2: Ewon ve Programlamayı Anlamak
- Adım 3: Gövdeyi Yazdırma
- Adım 4: Ewon'u Bir Araya Getirmek
- Adım 5: Ewon'u Bağlayın
- Adım 6: Hey Ewon! Beni duyabiliyor musun?
- Adım 7: Sırada Ne Var?
Video: EWON Raspberry Pi ile Çalışan Ev Robotu: 7 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
sharathnaik tarafındanSharathnaik.comYazar tarafından daha fazla takip edin:
Hakkında: Mühendislik ve Tasarım Daha Fazla Sharathnaik Hakkında »
Son zamanlarda kendimi şu anki durumdan dolayı bir sürü Netflix dizisi izlerken buldum, umarım hepiniz güvendesinizdir ve Black Mirror'ın 5. sezonunun yayınlandığını gördüm. Bir grup insanın kişisel yaşamları ve teknolojinin davranışlarını nasıl manipüle ettiği etrafında dönen bir antoloji dizisi.
Ve dikkatimi çeken bölümlerden biri Rachel, Jack ve Ashley Too'ydu. Bu dizinin ana karakterlerinden biri Ashley O adında bir ev robotu ve bu robotun çevresinde çok fazla karakter var ve kendim için bir tane inşa etmeliyim diye düşündüm, programlamaya başlamak için iyi bir proje o zaman değilse de en azından Şakalarıma gülmek için programlayabilirim.!
Ewon Nedir / Kimdir? Ne yapabilir?
Bu proje üzerinde çalışmaya başlamadan önce uyulması gereken bazı temel kurallar belirledim. Bu proje olmalıydı
- Herkesin denemesi kolay
- Sadece sevimli olmakla ilgili değil, aynı zamanda rafta bitmesin diye faydalı da olun
- Modüler, böylece yeni özellikler eklemeye devam edebilirsiniz.
Bu kuralı belirledikten sonra Google Asistan SDK'sını kullanmaya karar verdim. Bu SDK, aradığım birçok özelliği sağlıyor ve Ewon'dan sıkılırsanız, onu her zaman bir Google Home cihazı olarak kullanın ve bir Google evinin yaptığını yapın.
Ewon'un yapacağı şey Google asistanına bir karakter eklemek. Bu, duyguları göstermek ve kullanıcının söylediklerine tepki vermektir. Artık sadece duyduğunuz ses değil, aynı zamanda nasıl tepki vereceğinizi de göreceksiniz.
NOT: Bu talimat geliştirilme aşamasındadır. Yakında tüm ilgili dosyaları yükleyeceğim. Teşekkürler
Adım 1: Ewon için Gerekli Parçalar
ELEKTRONİK
- ahududu PI
- Servo SG90 (x4)
- Servo MG995 – standart (x2)
- PCA9685 16 Kanallı Servo Sürücü
- USB ses kartı
- Mikrofon
- Hoparlörler (Herhangi bir küçük hoparlör yapacak, bunun gibi bir şey)
- Erkek ve dişi pin başlık konnektörleri
- ekmek tahtası
- Sonraki Ekran
BAĞLANTI PARÇALARI VE RULMANLAR
- M3*10mm (x10)
- M3*8mm (x10)
- M3 Somun (x20)
-
Rulman
- OD: 15mm ID: 6mm Genişlik: 5mm (x2)
- OD: 22mm ID: 8mm Genişlik: 7mm (x2)
DİĞER MATERYALLER
- zıtlaşma
- 40mm (x4)
- 30 mm (x4)
ALETLER
3 boyutlu yazıcı
Adım 2: Ewon ve Programlamayı Anlamak
Programlama yönüne başlamadan önce kısaca Ewon devresinin blok şemasını açıklamama izin verin.
RPI (Raspberry pi) sistemin beynidir. RPI tarafından kontrol edilen servo sürücü, servoyu çalıştırır. Duyguları göstermek için seri iletişim ile RPI tarafından kontrol edilen ekran ve son olarak, Ewon ile iletişim kurmak için kullanılan mikrofon ve hoparlörler. Artık hangi donanımın ne yaptığını bildiğimize göre Ewon'u programlamaya başlayalım.
Google asistan SDK'sını yükleme
Google Asistan'ı kullanmayı planlamamın iki nedenini açıklamama izin verin:
- Ewon'un sadece eğlenceli bir robot değil, aynı zamanda kullanışlı bir robot olmasını istedim. Google Asistan SDK'sı, Ewon'un işlevselliğini artırmak için kullanabileceğiniz bir sürü kaynağa zaten sahip.
- Ewon'a önceden tanımlanmış yanıtlarla sohbet etme yeteneği vermek için google'daki eylemleri ve iletişim akışını da kullanabilirsiniz. Şimdilik sadece temel SDK'ya odaklanacağız.
Google asistan SDK'sını yükleyerek başlayalım. RPI'da Google Asistan SDK'sını kurmanıza yardımcı olacak bir sürü kaynak olduğu için bu zor olmamalı. Bu öğreticiyi birlikte takip edebilirsiniz:
Öğretici:
Yukarıdaki işlemin bitiminden sonra klavyede enter'a tıklayıp asistanla konuşabilmeniz gerekir. Hepsi Google Asistan SDK'sını yüklemekle ilgili.
Adını ne koymalıyım? Ewon?
Ey Google! Google asistanla konuşmaya başlamak için kullanılan şey budur ve ne yazık ki google başka herhangi bir özel uyandırma kelimesinin kullanılmasına izin vermez. Şimdi bunu nasıl değiştirebileceğimizi görelim, böylece biri Ewon'u aradığında google asistanı tetiklenir.
Snowboy: Raspberry Pi, (Ubuntu) Linux ve Mac OS X ile uyumlu, gerçek zamanlı olarak gömülü, son derece özelleştirilebilir bir sıcak kelime algılama motoru.
Sıcak bir sözcük (uyandırma sözcüğü veya tetikleyici sözcük olarak da bilinir), bilgisayarın diğer eylemleri tetiklemek için bir sinyal olarak sürekli olarak dinlediği bir anahtar sözcük ya da sözcük öbeğidir.
Snowboy'u RPI'ye kurarak başlayalım. Assistant SDK'yı kurarken yaptığınız gibi Snowboy'u kurmak için sanal ortamı etkinleştirmeyi unutmayın. Buradan kuracağımız her şeyin sanal ortamda kurulması gerekiyor. Snowboy'u yüklemek biraz zor olabilir, ancak bu bağlantı sorunsuz bir şekilde yüklemenize yardımcı olacaktır. Bağlantı:
Yukarıdaki bağlantı kafa karıştırıcı hale gelirse veya yükleme başarısız olursa, burada özet bir yükleme işlemi verilmiştir.
$ [sudo] apt-get kurulumu libatlas-base-dev swig$ [sudo] pip kurulumu pyaudio $ git klonu https://github.com/Kitt-AI/snowboy $ cd snowboy/swig/Python3 $ make $ cd.. /.. $ python3 setup.py inşa $ [sudo] python setup.py kurulumu
Kurulduktan sonra her şeyin mükemmel çalışıp çalışmadığını görmek için demo dosyasını [klasörde bulunan - snowboy/examples/Python3/] çalıştırın.
Not: Robotunuzun adını kolayca başka bir adla değiştirebilirsiniz. Tek yapmanız gereken https://snowboy.kitt.ai/ adresine gidip özel bir özel kelime eğitmek ve ardından bu sıcak kelimeyi ewon.pmdl ile aynı klasöre yerleştirmek.
Ewon duyguları anlayabilir mi?
Artık Ewon'un bir adı olduğuna göre, ona robot demek yerine Ewon'u kullanacağım. Tamam, yani duygular, kısa cevaplar hayır, Ewon duyguları anlayamaz, bu yüzden burada yapacağımız şey, Ewon'un anahtar kelimeleri kullanarak konuşmamızdaki duyguyu algılamasını sağlamak ve sonra onunla ilişkili yüz ifadesini oynatmak.
Bunu başarmak için yaptığım şey basit bir duygu analizi betiği. 6 farklı duygu sınıfı vardır.
Mutlu, Üzgün, Öfke, Korku, İğrenme ve Sürpriz. Bunlar ana duygu sınıflarıdır ve her birinin duyguyla ilişkili bir anahtar kelime listesi vardır. (örneğin iyi, hoş, heyecanlı, hepsi mutlu duygunun altına girer).
Bu nedenle, duygu sınıfındaki herhangi bir anahtar kelimeyi söylediğimizde, karşılık gelen duygu tetiklenir. Yani "Hey Ewon!" dediğinde ve Ewon'un konuşmasını bekleyin ve ben "Bugün güzel bir gün!" demeye devam ediyorum, "Güzel" anahtar kelimesini alıyor ve buna karşılık gelen Mutlu'nun yüz ifadesini tetikleyen "Mutlu" duygusunu tetikliyor.
O kulaklar Ewon'da mı?
Bir sonraki adım, ilgili yüz ifadesini çalıştırmak için tetiklenen duyguyu kullanmak olacaktır. Ewon ile, yüz ifadesi dikkat çekiyor, ancak servoları kullanarak kulağını ve boynunu hareket ettiriyor ve göz hareketlerini değiştirmek için ekranı değiştiriyor.
İlk olarak, servolar, bunu çalıştırmak oldukça kolaydır, Adafruit servo kitaplığını kurmak için bu öğreticiyi takip edebilirsiniz. Bağlantı:
Ardından tüm servolar için maksimum ve minimum değeri atadık. Bu, her bir servoyu manuel olarak hareket ettirerek ve limitlerini kontrol ederek yapılır. Bunu Ewon'u bir araya getirdiğinizde yapabilirsiniz.
Ewon için gözler
Gözler için, aşağıdaki gibi bir sürü resim içeren bir Nextion ekranı kullanıyorum.
Photoshop'ta tasarladığım ve sırayla oynatıldığında bir animasyon oluşturan bir dizi resim. Tüm duygular için benzer bir dizi oluşturuldu. Şimdi herhangi bir duyguyu görüntülemek için tek yapmanız gereken, animasyonu oluşturan belirli görüntü dizisini çağırmak. Dosyalar 'Dosyaları görüntüle' klasörünün içindedir, aşağıdaki indirme bağlantısı.
Nihayet
Mutlu duygu komut dosyası tarafından tetiklendiğinde hepsini bir araya getirmek, mutlu işlev çağrılır ve servo önceden ayarlanmış açılara hareket eder ve ekran mutlu göz animasyonunu oynatır. İşte bu şekilde insan duygularını "anlamayı" başarıyoruz. Bu yöntem en iyisi değildir ve anahtar kelimelerin önceden tanımlandığı gibi aynı duyguya düşmediği zamanlar vardır, ancak şimdilik bu yeterince iyi çalışıyor ve algılama doğruluğunu artırmak için her zaman daha fazla anahtar kelime ekleyebilirsiniz. Ayrıca, daha iyi sonuçlar elde etmek için bunun yerine Paralleldots Emotion analiz modeli gibi çok daha eğitimli bir duygu analizi modeli kullanılabilir. Ama denediğimde, Ewon'un daha yavaş tepki vermesine neden olacak çok fazla gecikme oldu. Belki Ewon sürüm 2.0 böyle bir şeye sahip olacaktır.
Bu, EWON'u çalıştırmak için gereken tüm dosyaların BAĞLANTISI'dır. Dosyayı indirin ve aşağıdaki adımları izleyin:
- Dosyayı açın ve bu klasörü (Ewon) home/pi/ konumuna yerleştirin.
- Main.py dosyasına Cihaz Kimliği ve Model Kimliği ekleyin. Kimlik, google asistan SDK'sı yüklenirken alınır.
- Komut istemini açın ve aşağıdaki komutların kaynağını çalıştırın:
kaynak env/bin/activatepython main.py modelleri/Ewon.pmdl
Adım 3: Gövdeyi Yazdırma
3d dosyaları burada bulabilirsiniz:
Artık hepimiz Ewon'un beyniyle, vücudunu yazdırmanın zamanı geldi. Basılacak 18 benzersiz parça var, bunların çoğu oldukça küçük ve toplam baskı süresi yaklaşık 15-20 saat. (durumlar hariç).
%50 dolgulu ve 2 mm katman yüksekliğinde beyaz PLA kullandım. Gerekirse bu değerleri değiştirebilirsiniz, iyi çalışması gerekir, ancak dayanıklılık için küçük parçaların %100 dolu olduğundan emin olun.
Dosyalar yazdırıldıktan sonra zımpara kağıdı veya el eğesi kullanarak yazdırılan kısımları, özellikle parçaların birbiri içinde kaydığı bağlantıları temizleyebilirsiniz. Eklemlerin düzleştirilmesi mekanizmayı pürüzsüz hale getirecek ve servoya daha az direnç sağlayacaktır. Bu süreç istediğiniz kadar uzun sürebilir, yazdırılan parçaların mükemmel görünmesini sağlamaya çalışırken kaybolabilirsiniz.
Ekstra notlar: 3 mm'lik bir uç kullanarak 3B yazdırılan parçalardaki delikleri yeniden açabilirsiniz. Tüm delikler aynı boyuttadır. Bu, daha sonra montajda somunları vidalarken daha kolay hale getirecektir.
Adım 4: Ewon'u Bir Araya Getirmek
Montaja başlamadan önce, basılı parçalarda birkaç değişiklik yapılması gerekiyor. Servo link adlı dosyalar, servo ile birlikte gelen servo linklerle donatılmalıdır, bu da 3d baskılı linklerin servo ile iyi bir şekilde bağlanmasını sağlar.
Ewon'un Meclisi dümdüz olmalıdır. Takip etmeniz için görseller ekledim.
Ekstra notlar: Herhangi bir cıvatayı veya vidayı fazla sıkmadığınızdan emin olun, aksi takdirde basılı parçalar kırılabilir ve aşınabilir.
Adım 5: Ewon'u Bağlayın
Ewon'u hayata geçirmek için son adımdayız. Bağlantıyı gösteren resimlerle birlikte bileşenlerin kablo şeması burada.
- Servo sürücü, RPI'nin SDA ve SCL'si olan I2C pinlerine bağlanır.
- Ekran, RPI'nin RX ve TX pinlerine bağlanır
- Mikrofon ve hoparlörler, USB portu üzerinden RPI'ye bağlı olan USB Ses kartına bağlanır.
Uyarı: RPI'nizi kısaltmaya dikkat edin. Lütfen tüm bağlantılarınızı iki kez kontrol edin ve herhangi bir hata yapmadığınızdan emin olun. Hoparlör, servo sürücü ve ekran olan tüm aksesuarlar ayrı bir 5v pil ile çalışır ve Raspberry Pi 5v hattını kullanmaz. Raspberry pi, yalnızca aksesuarlara veri göndermek için kullanılır, ancak onları güçlendirmek için kullanılmaz.
Adım 6: Hey Ewon! Beni duyabiliyor musun?
Bu yüzden tüm aksesuarlarımızı ekledik ve gerekli tüm kütüphaneleri kurduk. Ewon'u./run Ewon.shBut komutunu kullanarak kabuk betiğini çalıştırarak başlatabilirsiniz. Bu.sh betiği nedir? Ewon, farklı betiklere sahip birçok farklı kitaplık kullanır (Google asistan SDK, Snowboy, Adafruit, vb.). Tüm komut dosyaları ilgili klasörlere yerleştirilir. (Bütün dosyaları aynı yolda taşıyabilir ve tüm komut dosyalarını düzenleyebiliriz, ancak şu anda bazı kitaplıklar kaynak dosyaların taşınmasına izin vermiyor, bu yüzden şimdilik onları kendi konumlarında tutacağız).sh tüm bu komut dosyalarını her konumdan tek tek çalıştıran kabuk komut dosyalarıdır, böylece her konuma manuel olarak gidip komut dosyalarını çalıştırmanız gerekmez. Bu, tüm komutları işlemeyi kolaylaştırır.
Kabuk betiğini çalıştırdıktan sonra sadece “Hey Ewon!” deyin. ve Ewon'un seni dinlemeye başladığını görmelisin. Artık Ewon'u google asistanı olarak kullanabilir ve onunla konuşabilirsiniz ve Ewon'un söyledikleriniz arasında değişen ifadeleri görebilirsiniz. Hey Ewon! Bugün üzgünüm” ve Ewon'un seninle üzgün olduğunu görebilirsin. Ewon'dan bir şaka isteyin ve şakaya güldüğünü görün.
Adım 7: Sırada Ne Var?
Ewon burada bitmiyor. Ewon'un artık duyguları algılamak ve göstermek için bir yolu var ama çok daha fazlasını yapmasını sağlayabiliriz. Bu sadece başlangıç.
Gelecek güncellemede, nasıl yapılacağı üzerinde çalışacağız.
- Ewon yüzleri algılar ve yüzünüzü takip eder ve yüzünüzle birlikte hareket eder.
- Karaktere ekstra bir derinlik kazandırmak için ses efektleri ekleyeceğiz.
- Ewon'un sizinle birlikte hareket edebilmesi için hareketlilik ekleyin.
Not: Mevcut durum nedeniyle proje için parça temini çok zor hale gelmiştir. Bu, envanterimdeki düşünceleri göz önünde bulundurarak tasarımı ve işlevselliği değiştirmeme neden oldu. Ama tüm parçaları elime alır almaz yukarıdaki projeyi güncelleyeceğim.
Güncellemeler:
- Kodda bazı değişiklikler yapıldı, kabuk betiği kaldırıldı.
- EWON için dikdörtgen bir gövde eklendi.
Önerilen:
Raspberry Pi ile Çalışan İnternet Radyosu: 5 Adım (Resimlerle)
Raspberry Pi ile Çalışan İnternet Radyosu: Eski radyolardaki gibi kadranları çevirmek ve düğmelere basmak konusunda tatmin edici bir şey var. Ne yazık ki bu radyoların çoğu bozuldu veya istasyonlar sessizleşti. Neyse ki, herhangi bir radyoyu kullanarak bir internet radyosuna güncellemek çok zor değil
Modüler, USB ile Çalışan, Bluetooth Hoparlör Sistemi: 7 Adım (Resimlerle)
Modüler, USB ile Güçlendirilen, Bluetooth Hoparlör Sistemi: Modüler bir muhafaza kullanan basit ama çok kullanışlı bir USB destekli Bluetooth hoparlör sisteminin nasıl oluşturulacağını öğreniyoruz. Bunu büyütebilir ve bir ses çubuğu oluşturmak için birden fazla hoparlör ekleyebilirsiniz. Bir t oluşturmak için sisteme bir pil eklemek için bile yer var
Pille Çalışan Hareketle Çalışan LED Lamba: 4 Adım
Pille Çalışan Hareketle Çalışan LED Lamba: Kablolamaya uygun olmayan bir yere ışık koymak istiyorsanız, ihtiyacınız olan şey bu olabilir
Ev Otomasyonu Entegrasyonu, WiFi ve ESP-NOW ile Pille Çalışan Kapı Sensörü: 5 Adım (Resimlerle)
Ev Otomasyonu Entegrasyonu, WiFi ve ESP-NOW ile Pille Çalışan Kapı Sensörü: Bu talimatta size ev otomasyonu entegrasyonu ile pille çalışan bir kapı sensörünü nasıl yaptığımı gösteriyorum. Başka güzel sensörler ve alarm sistemleri gördüm ama kendim yapmak istedim. Hedeflerim: Bir doo'yu algılayan ve raporlayan bir sensör
Raspberry Pi, Android, IoT ve Bluetooth ile Çalışan Drone: 7 Adım (Resimlerle)
Raspberry Pi, Android, IoT ve Bluetooth Powered Drone: Yerleşik mantık için bir Raspberry Pi kullanan bu kompakt, mobil bilgisayar, değerleri okumak için Bluetooth soketleri oluştururken aynı anda gerçek zamanlı olarak video akışı yapan yerel bir bağlantı noktası oluşturacaktır. özel bir android uygulaması tarafından gönderildi. Uygulama, t ile senkronize edilir