Projekty/  
Asystent cyfrowy ZW-1

Przedstawione urządzenie to asystent cyfrowy, którego nazwałem ZW-1. Zaprojektowałem go dla entuzjastów komputera Raspberry Pi Zero W oraz jego programowania w języku Python.

Asystent cyfrowy ZW-1 posiada wiele umiejętności, oto najważniejsze z nich:

- odtwarza komunikaty głosowe,
- informuje o zdarzeniach za pomocą buzzera,

- wyświetla dane na wyświetlaczu LCD,
- oświetla otoczenie za pomocą diod LED,
- mierzy aktualną temperaturę otoczenia,
- odczytuje stan trzech przycisków ogólnego przeznaczenia,

- wykrywa ruch w swoim otoczeniu,
- łączy się z siecią Wi-Fi,
- obserwuje otoczenie za pomocą kamery.

Umiejętności te możesz wykorzystać na wiele sposobów, wszystko zależy od twojej kreatywności. 

Opis asystenta cyfrowego ZW-1 podzieliłem na następujące etapy:
- układ elektroniczny,
- konstrukcja mechaniczna,
- oprogramowanie.

W poszczególnych etapach dowiesz się jak zbudować, a następnie uruchomić asystenta cyfrowego ZW-1.

Układ elektroniczny
Układ elektroniczny asystenta cyfrowego ZW-1 składa się z dwóch części. Pierwsza część to komputer Raspberry Pi Zero W oraz niezbędne do jego działania akcesoria.

Druga część to płytka drukowana, na której znajdują się elementy elektroniczne, dzięki którym asystent cyfrowy ZW-1 komunikuje się z użytkownikiem oraz odczytuje dane z otoczenia. 

Wyświetlacz LCD, diody LED oraz czujnik ruchu połącz z płytką drukowaną w odpowiedni sposób. Dzięki takiemu rozwiązaniu, w prosty sposób zintegrujesz wymienione elementy elektroniczne z obudową asystenta cyfrowego ZW-1. 

Do połączenia karty dźwiękowej ze wzmacniaczem audio, który znajduje się na płytce drukowanej, wykorzystaj wtyk Jack 3,5 z przewodem o długości 240 mm oraz złącze J2.

Komputer Raspberry Pi Zero W z płytką drukowaną połącz za pomocą przewodu taśmowego w kolorze szarym 40 żył o długości 140 mm, którego wyposaż w gniazda IDC 40 pin.

Za pomocą potencjometru P1, który znajduje się na płytce drukowanej, możesz ustawić kontrast wyświetlacza LCD. Czujnik ruchu także posiada potencjometry, dzięki którym możesz ustawić czas trwania stanu wysokiego na jego wyjściu po wykryciu ruchu oraz zasięg jego działania.

Konstrukcja mechaniczna
Obudowa asystenta cyfrowego ZW-1 jest wykonana z czarnego szkła akrylowego.

Niezbędne są również elementy mechaniczne.
Do przymocowania komputera Raspberry Pi Zero W na dolnej części obudowy, wykorzystaj śruby walcowe M3 x 5 mm oraz tuleje dystansowe M3 x 6 mm o gwincie obustronnie wewnętrznym. Nad komputerem Raspberry Pi Zero W za pomocą rzepa samoprzylepnego o wymiarach 25 mm x 25 mm umieść kartę dzwiękową. 

Za pomocą śrub walcowych M3 x 5 mm, do zewnętrznych otworów w dolnej części obudowy przykręć tuleje dystansowe M3 x 30 mm o gwincie obustronnie wewnętrznym. 

Wzmocnij montaż wyświetlacza LCD, wykorzystaj do tego celu śruby walcowe M3 x 5 mm oraz tuleje dystansowe M3 x 15 mm o gwincie obustronnie wewnętrznym, a następnie wykorzystując tuleje dystansowe M3 x 20 mm o gwincie wewnętrznym oraz zewnętrznym przykręć płytkę drukowaną.

Używając śrub walcowych M2 x 10 mm oraz nakrętek M2 przykręć do górnej części obudowy kamerę oraz czujnik ruchu.

Uchwytami LED RTC51 stabilnie przymocuj diody LED. Aby zakończyć montaż konstrukcji mechanicznej, przykręć górną część obudowy za pomocą śrub walcowych M3 x 5 mm.

Oprogramowanie
Przed rozpoczęciem programowania asystenta cyfrowego ZW-1 uruchom terminal i zainstaluj biblioteki języka Python do obsługi wyświetlacza LCD, czujnika temperatury oraz syntezatora mowy. 

pi@raspberrypi:~ $ git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git
pi@raspberrypi:~ $ cd Adafruit_Python_CharLCD
pi@raspberrypi:~ / Adafruit_Python_CharLCD  $ sudo python3 setup.py install

pi@raspberrypi:~ $ pip3 install w1thermsensor

pi@raspberrypi:~ $ sudo apt-get install espeak

Aby syntezator mowy prawidłowo wymawiał polskie litery, otwórz plik, w którym zapisane są odpowiednie ustawienia.

pi@raspberrypi:~ $  sudo nano /usr/lib/arm-linux-gnueabihf/espeak-data/voices/default

Następnie zmodyfikuj treść otwartego pliku.

name default
language pl
gender male
intonation 2


Możesz teraz pobrać program prezentujący umiejętności asystenta cyfrowego ZW-1.

pi@raspberrypi:~$ cd Desktop
pi@raspberrypi:~/Desktop $ git clone https://github.com/ZW-Robotics/ZW-1_program_testowy.git


Na pulpicie pojawi się folder z odpowiednim plikiem. Możesz teraz uruchomić program. 

W dziale ARTYKUŁY , możesz zapoznać się ze sposobem implementacji algorytmu rozpoznawania mowy w asystencie cyfrowym ZW-1.

Mam nadzieję, że przekonałem cię do budowy asystenta cyfrowego ZW-1. Jeżeli chcesz zakupić zestaw komponentów do budowy asystenta cyfrowego ZW-1, napisz do mnie na adres e-mail zygmunt.wypich@zw-robotics.pl