-
Notifications
You must be signed in to change notification settings - Fork 0
Yazılım: Modüller
Harici ve yazılım aracılığıyla Arduino seri bağlantısı üzerinden entegre edilir. Pil izleyici, pilden gerilimi okumak için A0 pininden analog giriş kullanır. Bu değer daha sonra bir minimum değerle karşılaştırılır. Değer minimum değerden düşükse, Arduino, kapatılma sinyali göndererek Raspberry Pi'yi kapatır. Bu referans değeri, besleme gerilimi ve pil tipine bağlı olarak ayarlanmalıdır.
Bir buzzer, ses çıkışı olmadığında tonların çalınabilmesi için GPIO 27'ye bağlanmıştır (Neopixel kısmına bakın).
https://github.com/gumslone/raspi_buzzer_player.git
GPIO 13 üzerine bir RCWL-0516 mikrodalga radar sensörü takılmıştır.
GPIO 18, 19 ve 20, stereo MEMS mikrofonlarını ses girişi olarak kullanmak için kullanılır.
Mic 3V - Pi 3.3V'ye bağlanır.
Mic GND - Pi GND'ye bağlanır.
Mic SEL - Pi GND'ye bağlanır (bu kanal seçimi için kullanılır, 3.3V veya GND'ye bağlanabilir).
Mic BCLK - BCM 18 (pin 12)'e bağlanır.
Mic DOUT - BCM 20 (pin 38)'ye bağlanır.
Mic LRCL - BCM 19 (pin 35)'e bağlanır.
https://learn.adafruit.com/adafruit-i2s-mems-microphone-breakout/raspberry-pi-wiring-test
cd ~
sudo pip3 install --upgrade adafruit-python-shell
wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2smic.py
sudo python3 i2smic.py
arecord -l
arecord -D plughw:0 -c2 -r 48000 -f S32_LE -t wav -V stereo -v file_stereo.wav
Note: Ses tanıma işlemini desteklemek için aşağıdaki ek yapılandırmaya bakın.
Ses tanıma için tetikleyici kelime (şu anda kullanılmıyor): https://snowboy.kitt.ai/
Yüz görüldüğünde konuşma tanıma etkinleştirilir.
modules/speechinput.py
dosyasında belirtilen device_index
değerinin mikrofonunuzla eşleştiğinden emin olun.
Giriş cihazlarını listelemek ve test etmek için scripts/speech.py
dosyasına bakın. MEMS mikrofon yapılandırması için aşağıya bakın.
Varsayılan olarak, Adafruit I2S MEMS Mikrofon Breakout, ses tanıma ile çalışmaz.
MEMS mikrofon(lar) üzerinde ses tanımayı desteklemek için aşağıdaki yapılandırma değişiklikleri yapılmalıdır.
sudo apt-get install ladspa-sdk
Aşağıdaki içeriğe /etc/asound.conf
dosyası oluşturun:
pcm.pluglp {
pcm.pluglp {
type ladspa
slave.pcm "plughw:0"
path "/usr/lib/ladspa"
capture_plugins [
{
label hpf
id 1042
}
{
label amp_mono
id 1048
input {
controls [ 30 ]
}
}
]
}
pcm.lp {
type plug
slave.pcm pluglp
}
Bu, ses tanımada 'lp' cihazının başvurulabilmesini sağlar. Aşağıdaki örnekte 18
dizininde gösterilir.
Örneğin, örnekleme hızı 16000
olarak ayarlanmalıdır.
mic = sr.Microphone(device_index=18, sample_rate=16000)
Referanslar:
Raspberry Pi'nin seri portunu kullanabilmek için, getty (giriş ekranını görüntüleyen program) devre dışı bırakılmalıdır.
sudo raspi-config -> Interfacing Options -> Serial -> "Would you like a login shell to be accessible over serial" = 'No'. Restart
Raspberry Pi'nin GPIO 14 ve 15 (tx ve rx) pinlerini, Arduino tx ve rx pinlerine (hem yönü hem de yönü tersine olarak tx -> rx!) bir mantıksal seviye kaydırıcı aracılığıyla bağlayın, çünkü Raspberry Pi 3v3 ve Arduino (muhtemelen) 5v'dur.
Arduino'ya seri pinler aracılığıyla yükleme yapmak için aşağıdaki adımı izleyebilirsiniz:
Seri pinler aracılığıyla yükleme yapmak için, IDE 'uploading' (derlemeden sonra) işlemine başladığı noktada Arduino üzerindeki reset düğmesine basın; aksi takdirde senkronizasyon hatası görüntülenecektir.
Pi GPIO pin 12 üzerinden WS1820B desteği sağlanmıştır. Ne yazık ki, bunu desteklemek için Pi üzerindeki ses devre dışı bırakılmalıdır.
sudo vim /boot/config.txt
#dtparam=audio=on
Bu nedenle uygulamanın sudo
ile çalıştırılması gerekmektedir.
https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage
Eğer sürücüyü kullanmadan neopixelleri kullanmak isterseniz (ve ses çıkışı olmadan), yapılandırmada pini 12 olarak ayarlayın ve i2c'yi False olarak ayarlayın. Uygulama ayrıca sudo ile çalıştırılmalıdır.
https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage
Canlı çeviri modülü translation.py
günlüklerin ve TTS çıkısının Google Çeviri aracılığıyla canlı çevirisine olanak tanır.
translate.request(msg)
işlevini çağırın ve isteğe bağlı olarak kaynak ve hedef dilleri belirtin.
config/translation.yml
varsayılan dilleri belirtir.