MGC3130: jednoukładowy kontroler sensora gestów 3D (Microchip GestIC)
W zależności od tego, czy sterowanie pracą urządzenia ma się odbywać za pomocą dłoni lub palca, wymiary i budowa zestawu anten są różne. Generalna zasada jest we wszystkich przypadkach identyczna: system składa się z 5 elektrod (anten) odbiorczych i 1 nadawczej, ale ich wzajemne rozmieszczenie i wymiary są zależne od wymogów aplikacji, co producent dokładnie opisał w dokumentacji technicznej (GestIC Design Guide: Electrodes and System Design MGC3130). Zastosowana przez producenta technologia detekcji położenia ręki pozwala na tanią implementację sensorów, które mogą być wykonywane na laminacie FR4, płytkach z tworzywa sztucznego, tekturze i wielu innych materiałach dielektrycznych. Elektrody nadawcze i odbiorcze mogą być naklejane, wytrawiane, napylane lub nanoszone za pomocą przewodzących lakierów.
Zasada działania układu MGC3130 Technologia GestIC bazuje na emisji zmiennego pola elektromagnetycznego o częstotliwości ok. 100 kHz, którego długość fali wynosi ok. 3 km. W odniesieniu do wymiarów ekranu, długość emitowanej fali jest nieskończenie duża, co powoduje, że składowa magnetyczna jest bliska zeru, co w przybliżeniu pozwala traktować emitowane pole jako „czysto” elektryczne. Pole to – ze swej natury – chętnie „zamyka” się w obiektach przewodzących prąd elektryczny, do takich należy ciało ludzkie, składające się w znacznym stopniu z elektrolitów. |
Rys. 5. Schemat połączeń pomiędzy układami MGC3130 umożliwiających ich pracę dwustrefową (niezależne sterowanie dwoma rękami)
Układ MGC3130 jest w stanie samodzielnie śledzić jeden ruchomy obiekt (rękę), ale producent przewidział możliwość – po odpowiednim połączeniu ze sobą dwóch układów tego typu – ich konfiguracji dwustrefowej (rysunek 5), co pozwala na budowanie bardzo złożonych interfejsów komunikacyjnych, w których użytkownik może używać niezależnie dwóch rąk.
Rys. 6. Schemat konfigurowalnego bloku logicznego odpowiadającego za zgłaszanie przerwań związanych z wykryciem określonych gestów
Komunikacja pomiędzy kontrolerami MGC3130 oraz mikrokontrolerem zarządzającym ich pracą odbywa się za pomocą niezależnych od siebie interfejsów I2C oraz konfigurowalnych linii I/O. Użytkownik może programowo wymusić sygnalizowanie przez kontroler mikrokontrolerowi zarządzającemu wykonanie przez użytkownika określonego gestu, co powoduje – po jego wykryciu – zgłoszenie przerwania. Schemat konfigurowalnej części logicznej odpowiadającej za zarządzanie przerwaniami pokazano na rysunku 6.
Za detekcję gestów oraz wykrywanie trajektorii ruchu odpowiada w MGC3130 oprogramowanie, które steruje pracą wbudowanego w kontroler procesora sygnałowego. Oprogramowanie to nosi nazwę ColibriSuite, jest ono przechowywane w wewnętrznej pamięci Flash układu MGC3130. Producent cały czas je rozwija, dzięki czemu jakość działania algorytmów wykrywających gesty jest coraz lepsza, zwiększana jest także liczba gestów rozpoznawanych przez oprogramowanie. Jedną z nowych możliwości aktualnej wersji biblioteki ColibriSuite jest detekcja pojedynczych i podwójnych puknięć w powierzchnię sensora, co pozwala użytkownikom implementować – poza interfejsem 3D – także interaktywne lub statyczne klawiatury.
Rys. 7. Schemat aplikacyjny układu MGC3130