W ostatnich latach wszyscy obserwujemy ultraszybki rozwój elektroniki użytkowej. Jednocześnie jesteśmy aktywnymi uczestnikami tego procesu, bowiem motorem wszelkiego postępu jest ludzka potrzeba. Doskonałym przykładem zmian dokonujących się na naszych oczach jest ewolucja sposobu porozumiewania się człowieka z maszyną (urządzeniem) – co w języku angielskim określa się jako „Human Interface”. Do lamusa odchodzą urządzenia wyposażone w rozbudowane panele operatorskie z dziesiątkami przycisków i przełączników, wymagające obsługi przez przeszkolonych użytkowników.
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:
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:
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:
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.
REKLAMA |
REKLAMA |