Skip to content

Yazılım: Modüller

Emir HAMURCU edited this page Aug 15, 2023 · 2 revisions

Batarya Monitörü

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.

Buzzer

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

Hareket Sensörü

GPIO 13 üzerine bir RCWL-0516 mikrodalga radar sensörü takılmıştır.

Stereo MEMS Microfonlar

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.

Konuşma Tanıma

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.

Konuşma Tanıma için MEMS Mikrofon konfigrasyonu

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.confdosyası 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:

Arduino ile seri haberleşme

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

Serial pinleri ile bağlantı

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.

Neopixel

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

Neopixel sürücü modülü

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

Anlık çeviri

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.