Kurs: Podstawy robotyki – Czujnik dotyku
W opracowaniu tego artykułu wykorzystaliśmy materiały przygotowane przez nas dla robotów modularnych i dostosowane w formie kursu robotyki do serii robotów Abilix Krypton.
W poszczególnych robotach tłumaczenia nazw i kolory poszczególnych bloków mogą się różnić. Zasada działania i programowania w języku Scratch pozostaje jednak podobna.
W tej części naszego kursu zajmiemy się sczytywaniem informacji z czujnika dotyku i jego programowaniem. Zanim jednak przejdziemy do tego punktu, zastanówmy się jak ten czujnik działa.
Człowiek – czujnik dotyku w ludzkim ciele?
Aby zobrazować jego działanie, dobrze jest w ramach wprowadzenia zastanowić się nad jedną kwestią: Wiemy, że nasze ciało odczuwa każdy dotyk. Gdzie zatem my mamy czujnik dotyku?
Oczywiście, całe nasze ciało jest czujnikiem dotyku. Odczuwamy dotknięcie przedmiotu
(i przedmiotem) nie tylko za pomocą naszych dłoni, czy nóg ale też np. pleców, szyi czy nawet nosa. Dzieje się tak, ponieważ nasze ciało jest silnie unerwione i każdy impuls ze skóry człowieka jest przekazywany do naszego procesora—mózgu. Informacja o dotknięciu przedmiotu przechodzi od miejsca którym dotykamy rzecz (np. palca) aż do naszego głównego procesora. Przejście informacji o dotknięciu odbywa się za pomocą naszego systemu nerwowego—układu przewodów, które wysyłają sygnały do naszego mózgu. Ten analizuje zebrane informacje i ocenia, czy powinien reagować (i w jaki sposób), czy też nie, np. jesteśmy świadomi tego, że nosimy ubrania – ich dotyk jest delikatny—nie chcemy natomiast w tej sytuacji reagować.)
Robot – jak działa czujnik dotyku?
Wewnątrz czujnika dotyku znajduje się obwód elektryczny, który za pomocą przewodów jest podłączony do sterownika. Ten wysyła sygnał w postaci cyfrowego impulsu elektrycznego. W momencie kiedy czujnik jest w stanie swobodnym (nie jest wciśnięty) obwód elektryczny jest otwarty i sygnał nie wraca z powrotem do sterownika. Sterownik otrzymuje więc informację zwrotną, że obwód elektryczny jest otwarty i czujnik nie oddaje sygnału do sterownika. Innymi słowy—wartość sygnału, którą czujnik zwraca do sterownika jest równa 0.
Obwód czujnika dotyku (zderzenia) jest zamykany w momencie wciśnięcia analogowego czerwonego przycisku. Sygnał wysyłany przez sterownik przechodzi wtedy przez zamknięty obwód a sterownik otrzymuje informację, że sygnał cyfrowy, który został nadany wrócił. Wartość zwrócona przy takim układzie zamkniętym nazywana jest stanem wysokim i określona wartością 1.
Tę samą zasadę przekazywania impulsu elektrycznego przez układ wykorzystuje się także np. w testerach żarówek. Do testera cyfrowego podpinane są dwa przewody, które podłącza się do obwodu żarówki. Jeżeli nie jest spalona, obwód jest zamknięty i sygnał wraca do testera. Również elektrycy sprawdzają przejścia sygnału elektrycznego w przewodach w budynkach mieszkalnych w podobny sposób.
Praktyczne wykorzystanie czujników dotyku
- Uruchomienie i wyłączenie programu za pomocą czujnika to jedno z najpopularniejszych zastosowań użycia czujnika dotyku. Wykorzystywane jest we wszelkiego rodzaju urządzeniach domowych sterowanych cyfrowo za pomocą wbudowanych programów.
- Czujniki dotyku można znaleźć m.in. w samochodach—są odpowiedzialne za uruchomienie poduszek powietrznych, przesyłają informację o tym czy ktoś siedzi na miejscu kierowcy / pasażera. Czujniki te wykorzystywane są też m.in. w komputerach, urządzeniach elektronicznych, telefonach (włącznik i przycisk głośności).
- Czujnikiem dotyku jest też touchscreen—jego zasada działania jest jednak inna—jest to czujnik pojemnościowy.
- Czujniki dotyku wbudowane m.in. w klawiaturę elektrycznych instrumentów muzycznych (np. pianino elektryczne) potrafią przekazać nie tylko informację o zamknięciu danego obwodu (wciśnięciu klawisza) ale też potrafią zmierzyć siłę z jaką dany czujnik został naciśnięty. Dzięki temu możliwa jest praca np., klawiatury dynamicznej—im mocniej klawisz zostanie uderzony, tym mocniejszy będzie dźwięk.
- Czujnik dotyku wykorzystywany może być również jako guzik służący do chwilowego przerwania danego programu, celem włączenia innego na krótki okres czasu. Na tej zasadzie działają na przykład wszystkie urządzenia AGD z opcją „Turbo”, m.in.. Blendery, miksery a także suszarki elektryczne.
Programowanie w Scratch
Schemat programowania czujnika dotyku w Scratch jest bardzo podobny dla każdego robota.Blok odpowiedzialny za odczyt wartości czujnika dotyku znajduje się w zakładce „Czujniki”. Blok czujnika nie jest blokiem samodzielnym, jest tzw. parametrem który należy umieścić wewnątrz innego bloku analizującego jego wartość i kontrolującego dalsze działanie programu w zależności od wskazań czujnika. Bloki te można znaleźć w zakładce „Kontrola”.
Przykłady wykorzystania czujnika dotyku zagnieżdżonych w blokach kontroli z wyjaśnieniem ich działania w programie Android Krypton Scratch.
Program zatrzyma się w tym miejscu i będzie oczekiwał na sygnał z czujnika dotyku (jest wciśnięty) by przejść do wykonywania dalszej części programu
Program będzie powtarzał algorytm zapisany wewnątrz bloku „Powtarzaj do” do czasu aż czujnik dotyku zostanie uderzony (wciśnięty).
Jeżeli czujnik dotyku będzie wciśnięty program wykona algorytm zapisany wewnątrz bloku. W przeciwnym razie program przejdzie dalej do wykonywania kolejnej części programu.
Jeżeli czujnik dotyku będzie wciśnięty program wykona algorytm wewnątrz bloku bezpośrednio pod warunkiem. W przeciwnym razie program wykona algorytm znajdujący się w drugim wierszu („inny”) tego bloku i dopiero potem przejdzie dalej do wykonywania kolejnej części programu.