Obecnie dla konstruktora-elektronika uwzględnienie czytelnego i łatwego w obsłudze „Human Interface” już na etapie projektowania aplikacji staje się wymogiem chwili. Kolorowe, wielkoformatowe, graficzne wyświetlacze LCD o zmiennej treści z panelem dotykowym i funkcją „multitouch” (jednoczesną identyfikacją kilku punktów dotyku i ich przemieszczenia) są już powszechnie spotykane. Trudno wyobrazić sobie smartfon pozbawiony tego rozwiązania. W urządzeniach elektroniki użytkowej można również spotkać się z elementami sterowania za pomocą głosu (np. przy głosowym wybieraniem numeru telefonu osoby, do której dzwonimy lub przy wyznaczeniu celu nawigacji w urządzeniu GPS).
Wprowadzenie interfejsu audio do aplikacji zwykle wiąże się z dużym nakładem pracy konstruktora. Dźwięk docierający do urządzenia w postaci fal dźwiękowych musi zostać przetworzony na sygnał elektryczny, który z kolei jest filtrowany i próbkowany, aby w postaci sygnału cyfrowego, poddanego przeróżnego rodzaju transformatom, być porównanym z wcześniej zarejestrowanym wzorcem i w końcu zostać zinterpretowanym przez urządzenie. Do tego celu wykorzystuje się przede wszystkim rozbudowane mikrokontrolery sygnałowe (procesory), korzystające w swoim oprogramowaniu z licznych bibliotek audio i kodeków dźwięku. Okazuje się jednak, że istnieją rozwiązania, dzięki którym ów nakład pracy można znacząco ograniczyć.
Przykładem takiego rozwiązania jest niewielka płytka SpeakUp click (MIKROE-1534) opracowana przez firmę MikroElektronika (rys. 1). Służy ona do rozpoznawania komend głosowych.
Cechy, które ją wyróżniają to:
- łatwość konfiguracji (dzięki darmowemu, intuicyjnemu oprogramowaniu);
- możliwość rozpoznania 200 komend o czasie trwania maks. 5 sekund, niezależnie od języka w jakim są wydawane;
- duża szybkość przetwarzania;
- możliwość pracy jako samodzielne urządzenie lub część większego systemu.

Rys. 1. Płytka SpeakUp click (MIKROE-1534)
opracowana przez firmę MikroElektronika
Płytka została zbudowana w oparciu o 32-bitowy mikrokontroler z rdzeniem ARM Cortex-M4 STM32F415RG (1024 kB Flash, 192 kB RAM, 168 MHz). Na płytce mamy bezpośredni dostęp do 12 programowalnych linii wejścia-wyjścia I/O, które przykładowo można wykorzystać do sterowania przekaźnikami. Ponadto na płytce znajduje się popularny kodek audio stereo VS1053, mikrofon elektretowy o przyzwoitych parametrach, 3 sygnalizacyjne diody LED oraz 2 przyciski. Obecne jest gniazdo mikro-B USB, dzięki któremu możemy połączyć płytkę z komputerem PC, gniazdo audio jack 3,5 mm, dające możliwość przyłączenia mikrofonu zewnętrznego, złącze JTAG do debuggowania mikrokontrolera oraz złącze mikrobus, którym z mikrokontrolera wyprowadzony został na zewnątrz interfejs USB oraz UART (rys.2).

Rys. 2. Rozkład elementów na płytce SpeakUp click
To, co stanowi o prostocie stosowania płytki SpeakUp, to zawarty w mikrokontrolerze firmware. Rozpoznawanie komend głosowych zostało zrealizowane w oparciu o algorytm DTW (Dynamic Time Warping), za pomocą którego mierzy się podobieństwa między dwoma dynamicznymi (zachodzącymi w czasie) zdarzeniami (w tym przypadku sygnałami elektrycznymi). Zainteresowani mogą zapoznać się bardziej szczegółowo z ww. algorytmem, korzystając z zasobów Internetu i Wikipedii. Sygnał akustyczny odebrany i przetworzony na elektryczny przez mikrofon jest wstępnie przetwarzany przez kodek VS1053, a następnie interpretowany przez algorytm DTW zaimplementowany w mikrokontrolerze. Po tym procesie, w zależności od wybranego trybu pracy, mikrokontroler może bezpośrednio zmienić stan którejś z 12 dostępnych linii I/O (praca jako urządzenie samodzielne) lub przesłać interpretację odebranego sygnału (komunikat) dalej za pomocą interfejsu USB lub UART.

Rys. 3. Nagrywanie komend i przypisywanie im określonego działania (akcji) jest niezwykle proste przy użyciu darmowego oprogramowania.
Sekwencja pracy z programem wygląda następująco:
- Przyłączenie płytki do komputera za pomocą kabla USB (SpeakUp rozpoznawany jest jako urządzenie interfejsu HID, bez potrzeby instalacji dedykowanych sterowników).
- Uruchomienia aplikacji, a następnie:
- Utworzenie nowego projektu.
- Dodanie nowej komendy do projektu (pojawia się zakładka).
- Nagranie tej komendy z możliwością jej odsłuchania i powtórzenia w razie potrzeby.
- Przypisanie określonego działania (akcji) do komendy i powrót do punktu b lub przejście do punktu e.
- Zapisanie stworzonego właśnie projektu do pamięci mikrokontrolera na płytce.
Istnieje również możliwość wstępnego skalibrowania płytki w zależności od poziomu szumów otoczenia, tolerancji odbieranego sygnału czy ograniczenia czasu wypowiadania komendy w celu optymalizacji użytych zasobów mikrokontrolera. Istnieje również możliwość nadania nazw własnych poszczególnym liniom I/O (pinom) w celu ich łatwiejszej identyfikacji (rys. 4).

Rys. 4. możliwość nadania nazw własnych poszczególnym liniom I/O
Przykłady zastosowań płytki SpeakUp click to:
- Głosowe zarządzanie oświetleniem, kontrola dostępu (drzwi, okna), obsługa urządzeń AGD.
- Zastąpienie sterowania urządzeniami za pomocą nadajników na poczerwień (pilotów) komendami głosowymi (oczywiście przy wykorzystaniu dodatkowych elementów).
- Wszędzie w sytuacjach gdy ma się zajęte ręce i jedyną opcją pozostaje nasz głos.

Zainteresowani mogą zapoznać się z płytką SpeakUp click na stronie producenta oraz zakupić ją (i inne produkty z oferty MikroElektroniki) u oficjalnego dystrybutora firmy MikroElektronika – Transfer Multisort Elektronik Sp. z o.o.
