Kurs: Podstawy robotyki – Czujnik dotyku – Programowanie Scratch
W tym artykule wykonamy podstawowe warsztatowe ćwiczenia w programowaniu czujnika dotyku.
Do ich wykonania będziemy potrzebowali: sterownik (jednostka sterująca), czujnik dotyku, jeden silnik, przewody do podłączenia czujnika dotyku i silnika a także aplikację Scratch, bądź program dedykowany dla konkretnego modelu robota (w tym zadaniu program oparty na języku Scratch).
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.
-
Przygotuj:
- blok motoru (małego, bądź dużego)
- czujnik dotyku
- przewody połączeniowe
- sterownik
-
Podłącz za pomocą przewodów:
- motor do portu A w sterowniku
- Czujnik dotyku do portu 1 w sterowniku
- Uruchom sterownik
- Połącz komputer / tablet ze sterownikiem
- Uruchom aplikację (Scratch) by wykonać przykładowe zadanie.
Przykładowe zadanie: (Krypton 0, 2)
W momencie uruchomienia programu silnik pracuje z maksymalną prędkością w lewą stronę. Po wciśnięciu czujnika dotyku silnik obraca się z maksymalną prędkością w prawą stronę.
Level up:
W momencie uruchomienia programu silnik porusza się z prędkością 20%Vmax w lewo. Po wciśnięciu czujnika dotyku zmienia prędkość do 50% Vmax. Po kolejnym wciśnięciu czujnika silnik pracuje z prędkością 100% Vmax a następnie po 5 sekundach program jest wyłączany.
Rozwiązanie:
- Uruchom program (Programowanie) i podłącz sterownik.
- Przeczytaj raz jeszcze zadanie, wypisz najważniejsze założenia programu:
„W momencie uruchomienia programu silnik pracuje z maksymalną prędkością w lewą stronę. Po wciśnięciu czujnika dotyku silnik obraca się z maksymalną prędkością w prawą stronę.”
- Z zakładki Czynności wybierz polecenie „Włącz mały silnik Port <A> Prędkość <100>”
i umieść go pod niebieskim blokiem „Główny”
Chcemy by silnik pracował bez zmian aż do czasu wciśnięcia czujnika. Wykorzystamy więc blok kontroli, który przekaże instrukcję, aby program czekał do wykonania następnego polecenia do czasu aż wydarzy się sytuacja, którą za moment zaprogramujemy (o tym, czy sytuacja się wydarzyła poinformuje sterownik właśnie blok kontroli).
4. Z czerwonej zakładki Kontrola wybieramy blok „Czekaj do <…>” i umieszczamy go pod ustawionym wcześniej blokiem „Włącz mały silnik Port <A> Prędkość <100>”.
5. Z żółtej zakładki Czujniki wybieramy blok „Port kolizji <automatycznie> uderz w obiekt” (czujnik dotyku jest wciśnięty) i zagnieżdżamy go wewnątrz bloku „Czekaj do <…>”, w specjalnie przygotowanym polu.
Jesteśmy na etapie pisania fragmentu programu – instrukcji mówiącej o tym, co wydarzy się po wciśnięciu czujnika. Chcemy by silnik pracował teraz z prędkością 100% w przeciwnym kierunku.
6. Nasz czujnik jest podłączony do portu nr 1, warto zmienić parametr Automatycznie na port 1.
- Z zakładki Czynności wybierz blok „Włącz motor mały Port <A> Prędkość <100>” i umieść go pod blokiem kontroli, który przed chwilą został przez nas utworzony. Prędkości tego bloku na <-100>.
- Uruchom program.