lider projektu: finansowanie:

Podobne dokumenty
lider projektu: finansowanie:

lider projektu: finansowanie:

lider projektu: finansowanie:

FINCH PONG. Realizator: Partner: Patronat:

Dodawanie wzorca graficznego do programów linii InsERT GT

WARIATOR USTAWIENIA Białystok, Plażowa 49/1, Poland,

Gra Labirynt - Zajęcia 4

INSTRUKCJA OBSŁUGI DIODOWEGO WYŚWIETLACZA TEKSTÓW PIEŚNI STEROWANEGO Z TABLETU 10,1 '

Celem tego projektu jest stworzenie

Projekt Śnieżna wojna

INSTALACJA DOSTĘPU DO INTERNETU

Lekcja 5 - PROGRAMOWANIE NOWICJUSZ

Zgrywus dla Windows v 1.12

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Instrukcja krok po kroku instalacji Windows Vista w nowym komputerze

kodowanienaekranie.pl

TURBINA WIATROWA NXT. Rozpocznij

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Pierwszy moduł kursu, zwany także syalbusem, jest miejscem gdzie można

Jak zainstalować i skonfigurować komunikator MIRANDA, aby wyglądał i funkcjonował jak Gadu Gadu Tutorial by t800.

Ekay Integra Arte + panel micro plus BT - Instrukcja obsługi

Przykładowy opis sterowania węzłem betoniarskim z poziomu panelu operatorskiego wyposażonego w ekran dotykowy.

Baltie - programowanie

Zajęcia z aplikacją ScratchJr mogą zostać przeprowadzone na dwa sposoby:

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Konfiguracja Połączenia

Moduł Mikołajkowe kodowanie

1. Logowanie do systemu

ZARZĄDZANIE STRONAMI

INSTRUKCJA INSTALACJI SPN-IR INSTRUKCJA INSTALACJI I OBSŁUGI. Sterownik Pracy Naprzemiennej SPN-IR

Instrukcja obsługi ekranu dotykowego - ruchome dno (tryb UŻYTKOWNIK)

INSTRUKCJA OBSŁUGI. Sterownik bateryjny EZ 2040 (z zaworem elektromagnetycznym 1 )

WARIATOR WYPRZEDZENIA ZAPŁONU WARIATOR USTAWIENIA

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

MS Access formularze

Rysunek 1: Okno z lista

Kl-1-3 Szkoła Podstawowa

1 INSTRUKCJA KONFIGURACJI DOSTĘPU DO INTERNETU za pomocą protokołu PPPoE konfiguracja dla systemu Windows VISTA

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.

OPIS PROGRAMU USTAWIANIA NADAJNIKA TA105

PTI S1 Tabele. Tabele. Tabele

Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony

Rozdział 1. Przegląd bramofonu SAFE

Dzienniki pozalekcyjne, nauczania indywidualnego, świetlicowe

Programowanie gry Smerf w labiryncie

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

Uruchomienie programu COMPAS 2026LAN

Podczas tej lekcji przyjrzymy się, jak wykonać poniższy rysunek przy pomocy programu BobCAD-CAM

Kancelaria zmiany w programie czerwiec 2011

Jak przygotować pokaz album w Logomocji

APLIKACJA SHAREPOINT

Przygotowanie urządzenia:

Student 1. Loguje się do wirtualnego dziekanatu 2. Najlepiej z przeglądarki Mozilla Firefox i musi mieć wyłączone blokowanie wyskakujących okienek.

Główne elementy zestawu komputerowego

Instrukcja obsługi zamka LOB-C003

6.4. Efekty specjalne

Tablet bezprzewodowy QIT30. Oprogramowanie Macro Key Manager

PROGRAMOWANIE CZAS ZACZĄĆ

Ćwiczenie 4 - Podstawy materiałów i tekstur. Renderowanie obrazu i animacji

INSTRUKCJA OBSŁUGI STEROWNIKA WIFI

Brelok do kluczy DeLuxe, 1,5"

Ćwiczenie 1: Pierwsze kroki

Pętle. Dodał Administrator niedziela, 14 marzec :27

Instrukcja złożenia oferty dla uczestników w sali eaukcyjnej w systemie eaukcyjnym PROebiz.

KARTA PRACY UCZNIA. Klasa II

CZYM RÓŻNI SIĘ ZESTAW LEGO MINDSTORMS EV3 W WERSJI DOMOWEJ (31313) OD ZESTAWU W WERSJI EDUKACYJNEJ (45544)?


Nowy szablon stron pracowników ZUT

Programowanie w Scratch robot mbot

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Poradnik użytkownika pomoc techniczna

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

Wskazówki montażowe. Podłaczenia elektryczne. Altea RTS pasuje do uchwytów montażowych stosowanych ze standardowymi napędami SOMFY

INSTRUKACJA UŻYTKOWANIA

Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych

INSTRUKCJA KALIBRACJI TRUETRUE

Brain Game. Wstęp. Scratch

JĘZYK SCRATCH Manual użytkownika

Animacja w prezentacji

ODBIORNIK ZDALNEGO STEROWANIA REMC1 DO MARKIZ I ROLET MODEL INSTRUKCJA

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Informatyka II. Laboratorium Aplikacja okienkowa

Sterowanie urządzeniami elektronicznymi przy użyciu portu LPT

Commander

Agrinavia MOBILE. Agrinavia MOBILE (wersja samodzielna) Logowanie

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Arkusz kalkulacyjny MS Excel 2010 PL.

Piotr Eichler SP2LQP

Instrukcja konfiguracji urządzenia TL-WA830RE v.1

INSTRUKCJA OBSŁUGI DO WYSWIETLACZA LCD C600

Kurs ECDL Moduł 3. Nagłówek i stopka Microsoft Office Word Autor: Piotr Dębowski. piotr.debowski@konto.pl

Przedmiot: zajęcia komputerowe/techniczne/nauczanie zintegrowane

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

RX10RF + VS RF + SALUS Smart Home Podłączenie modułu sterującego i regulatora

BRC SQ 24 MY07 DOSTROJENIE MANUAL by LemonR ZADBAJ O BATERIĘ W LAPTOPIE!

2.1. Duszek w labiryncie

INSTRUKCJA MONTAŻU I OBSŁUGI PRZENOŚNEGO PANELU KONTROLUJĄCEGO

Podstawowa konfiguracja routera TP-Link WR740N

Skrócona instrukcja korzystania z Platformy Zdalnej Edukacji w Gliwickiej Wyższej Szkole Przedsiębiorczości

Misja#3. Robimy film animowany.

Transkrypt:

lider projektu: finansowanie:

Prosty robot sterowany algorytmem warunkowym (1 czujnik - dotyku) sejf. Cel: - zastosowanie struktury switch-case ( jeśli-to ) Materiały: - naładowane zestawy Lego Mindstorms w tym co najmniej jeden motor pomocniczy (Medium Motor) i co najmniej jeden czujnik dotyku - komputer PC z oprogramowaniem Lego Mindstorms Ev3 - pomoce dla trenera gotowy program, instrukcja złożenia przykładowego robota Problem : - stworzenie sejfu zabezpieczonego przed otworzeniem bez wiedzy o kluczu Przykładowy opis: Chcieliście kiedyś schować coś przed kimś, na przykład przed rodzicami, albo nieznajomymi? Najlepiej w takim przypadku mieć sejf. Z czego składa się taki sejf? To pytanie pozwoli nam rozpocząć i naprowadzić uczestników na to, jakie elementy robota z jakimi funkcjonalnościami będą potrzebne. Powinny pojawić się odpowiedzi, że sejf zawsze musi posiadać miejsce na przechowywanie skarbu oraz jakieś drzwi z zamknięciem.

Przebieg zajęć: 1.Omówienie możliwości stworzenia mechanizmu drzwi z automatycznym zamykaniem lub bez takiego elementu: a) z poziomu klocków: czego musimy użyć? jakich klocków? jakie elementy będą nam potrzebne: - zwykłe klocki, z których zbudujemy wnętrze sejfu (ono nic nie robi, jest tylko przestrzenią), - zwykłe klocki, z których zbudujemy same drzwi, - klocek, który pozwoli naszym drzwiom się ruszać, - klocki, które pozwolą nam sterować zamykaniem i otwieraniem drzwi. Wszystkie elementy zapisujemy na tablicy. b) z poziomu programu: - uzgadniamy z uczestnikami, które elementy sejfu musimy zaprogramować (drzwi oraz mechanizm ich otwierania I zamykania). 2. Omówienie różnych kombinacji otwierania drzwi i wybranie jednej w oparciu o możliwości zastosowania czujnika dotyku sugerowana to przytrzymanie przycisku, ale w przypadku dodatkowego czasu na zajęciach można rozbudować program: - pytamy uczestników, jakie mogą być rodzaje zamykania i otwierania drzwi (tu można naprawdę zrobić burzę mózgów: możemy zapisać na tablicy _dowolną ilość różnych pomysłów) - możemy popracować z uczestnikami w ten sposób, że od razu spróbujemy skreślić te, które odpadają ze względu na to, że nie mamy odpowiednich _klocków do ich zbudowania - dla ułatwienia możemy podpowiedzieć czym dysponujemy (czujniki i motory, które możemy wykorzystać) - drogą eliminacji, pamiętając o tym, że najlepszy kod to możliwie najprostszy kod - wybieramy opcję z przytrzymywaniem czujnika przycisku W tym momencie mogą pojawić się różne pomysły. Powinniśmy tak uporządkować pracę nad projektem, żeby wszystko było jasne dla całej grupy.

3. Budujemy robota za pomocą klocków, które wybraliśmy na początku i zapisaliśmy na tablicy. 4. Część programistyczna: proponujemy otwarcie środowiska do programowania EV3 i zapytanie uczniów o to, jakie bloki będą nam niezbędne. - Przypominamy o tym, aby dopilnować, żeby bloczek startowy pozostał w odpowiednim miejscu. - W następnej kolejności możemy porozmawiać o bloczku, który poruszy naszymi drzwiami, czyli bloczku motora. Odnajdujemy w zielonej zakładce _bloczek Medium Motor i przeciągamy na razie na pole, na którym będziemy programować, mówiąc, że żeby zaprogramować i podłączyć ten klocek, _musimy wiedzieć, co będzie otwierać i zamykać drzwi. - Kolejnym ważnym krokiem jest więc wymyślenie jak za pomocą czujnika dotyku będzie można kontrolować zamykanie i otwieranie drzwi. - Sugerujemy, że może dobrym sposobem na użycie tego przycisku, jest przedłużenie czasu jego wciśnięcia? Nie każdy złodziej na nie wpadnie :) Wiemy _już w takim razie, że w którymś momencie naszego programu, musi się pojawić oznaczenie czujnika dotyku. - Skoro ustaliliśmy, że przyciśnięcie przycisku na czujniku będzie trwało jakiś czas, musimy również wprowadzić klocek odpowiedzialny za czekanie, _czyli klepsydrę ( wait ), z pomarańczowej zakładki. - Właściwie najważniejszym elementem programu będzie warunek, po którego sprawdzeniu, sejf zostanie otwarty lub nie. Pytamy uczestników, co - na _podstawie dotychczasowych ustaleń - będzie tym warunkiem. Powinni pamiętać, że sejf ma działać w ten sposób, że jeśli przycisk zostanie dłużej _przytrzymany to sejf się otworzy, jeśli nie - nic nie zadziała. Przypominamy, że aby wprowadzić do programu taki warunek, potrzebujemy pętli z _pomarańczowej zakładki, która nazywa się switch, czyli - sprawdza czy jakiś warunek został spełniony i jeśli tak - robi określone rzeczy. Jeśli _warunek nie został spełniony - program robi zupełnie inną rzecz, albo nie robi nic. Przeciągamy na razie switch na pole kodowania. - Mówimy, że teraz, kiedy wiemy jakich bloczków użyć, powinniśmy tylko odpowiednio je poukładać i nadać odpowiednie wartości.

- Program zaczyna się od startu - to już wiemy. Później, program sterujący powinien chcieć się dowiedzieć, kiedy przycisk zmieni swoje położenie _- z wciśnięcia do odciśnięcia. Dołączamy więc klocek z klepsydrą, na którym wybieramy zamiast time - touch sensor (czujnik dotyku) => _ compare => state. Ten klocek wymusza na programie, żeby czekać z wykonaniem kolejnej części programu, aż coś się stanie - w tym przypadku _zmieniamy to coś z czekania, aż upłynie określony w sekundach czas, na czekanie na sygnał z czujnika dotyku. - Jeśli uznaliśmy, że klocek musi być wciśnięty lub odciśnięty (czyli mieć pozycję zmienioną względem stanu początkowego) przez jakiś czas żeby _otworzyć sejf, to znów musimy użyć klocka z klepsydrą. Umieszczamy go w ciągu i wpisujemy w okienku obok zegarka ilość sekund, przez które czujnik _musi być wciśnięty, żeby uruchomić otwieranie sejfu. Powiedzmy, że rozsądną wartością są tu na przykład 3 sekundy. UWAGA! Wszędzie, gdzie pojawia się bloczek związany z czujnikiem ruchu (a później - każdym innym czujnikiem) musimy w jego prawym górnym rogu wpisać, w które gniazdo kostki sterującej, został on wpięty. Przypominamy, że czujniki wpinamy w gniazda z numerami, a silniki w gniazda oznaczone literami. - Teraz musimy do naszego programu wprowadzić pętlę warunkową jeśli (coś), to (coś). W tym przypadku będzie to warunek, jeśli czujnik dotyku został przyciśnięty przez trzy sekundy, otwórz sejf, jeśli nie - nie rób nic. Pętla warunkowa, której potrzebujemy, to switch z pomarańczowej zakładki. Dopinamy ją do pozostałych bloczków i pytamy, co musimy umieścić w jej rozpoczęciu? Odpowiedź: jeśli po trzech sekundach pozycja czujnika dotyku ulegnie zmianie to warunek zostanie spełniony i wtedy program musi otworzyć sejf. Znajdujemy więc odpowiednią opcję ( touch sensor => compare => state w rozwijanym menu) i za jej pomocą określamy jak ma działać cała pętla.

- Przedostatnim etapem kodowania tego robota, jest powiedzenie mu, co ma robić, kiedy warunek zostanie spełniony, a co - jeśli nie. Po pierwsze _musimy zapytać, na jaki element robota będzie wpływać spełnienie warunku? Oczywiście na silnik, który będzie otwierał i zamykał drzwi. Spoglądamy _więc razem z uczestnikami na strukturę switch i pytamy, o to, gdzie powinniśmy umieścić bloczek silnika? Widzimy, że ma ona dwa pola - nad jednym _jest znaczek - ptaszek oznaczający zazwyczaj ok lub prawda, a pod spodem - krzyżyk oznaczających zazwyczaj fałsz. Mówimy, że takie _właśnie jest znaczenie tych symboli również tutaj. Jeśli więc chcemy, żeby nasz silnik otwierał drzwi sejfu po spełnieniu warunku trzysekundowego _naciśnięcia czujnika, umieszczamy bloczek silnika w górnej części switcha. - Musimy teraz porozmawiać z uczniami o odpowiednich ustawieniach silnika. * Pamiętajmy, aby w prawym górnym rogu wpisać literkę odpowiadającą gniazdu na kostce sterującej, do której wpięliśmy silnik. * Najpierw w opcjach pod rysunkiem silnika, musimy wybrać sposób, w jaki poruszy on drzwiami. Najłatwiej będzie sterować naszymi drzwiami _zmieniając ich położenie za pomocą ustawienia odpowiedniej wartości zmiany kąta. Ustawimy więc w tym polu On for Degrees. Do wytłumaczenia takiej operacji możemy użyć zwykłego pudełka. Pokazujemy dzieciom zamknięte pudełko i pytamy, jaki kąt jest między drzwiami, a ścianą? Oczywiście to kąt zero stopni, ponieważ przylegają one do siebie. Teraz otwieramy drzwi i pytamy, jaki możemy ustawić kąt między drzwiami, a ścianą, żebyśmy się dostali do środka. Sugerujemy, że może to być kąt 90 stopni - czyli kąt prosty.

* Kolejnym polem, w którym musimy ustawić odpowiednią wartość jest moc silnika. Żeby drzwi nie odskakiwały zbyt gwałtownie ustawmy tu niewielką _wartość, na przykład 15%. UWAGA! To bardzo ważne, aby nie ustawiać w przypadku ruchomych części robota zbyt wielkich mocy bez testów - innymi słowy, musimy mieć pewność, że wielka moc jest potrzebna w danym przypadku, ponieważ może to spowodować uszkodzenie klocków i przedwczesne wyładowanie się kostki, zwłaszcza przy włączonym trybie break, gdy motory aktywnie używają hamulców. * Teraz ustawiamy kąt, o jaki powinny zmienić ustawienie nasze drzwi. W zależności od tego, jak zbudowaliśmy robota, będzie to -90 (jeśli drzwi mają odchylać się w lewo) lub 90 (jeśli drzwi mają odchylać się w prawo) stopni. Oczywiście dobrany kąt zawsze zależy od tego, z której strony patrzymy na silnik - my proponujemy umówić się, że zawsze będziemy patrzyli na silnik osiowy (podłużny) od przodu - wtedy obroty na plus będą zgodne z ruchem wskazówek zegara. Z silnikami bocznymi jest większy problem - mają w końcu dwie symetryczne strony, z których można obserwować ich działanie. Dlatego proponujemy, żeby patrzeć na silnik w następujący sposób - kiedy wyjście kablowe silnika jest po lewej stronie czerwonego koła silnika, które jest skierowane w dół, to obroty na plus są zgodne z ruchem wskazówek zegara W bloczku silnika jest jeszcze jedno pole: Brake at End - na razie nie będziemy się nim zajmować - pozostawimy jego ustawienia niezmienione, tak, aby po najechaniu na nie kursorem wyświetlał się napis: Brake at End: True. - Możemy wymyślić kilka sposobów na to, kiedy drzwi mają się zamykać, jednak na potrzeby prostego i podstawowego projektu, najłatwiej będzie chyba jeśli dodamy tu po prostu ustawienia czasowe. Do bloczka silnika dołączamy więc bloczek wait z klepsydrą i wpisujemy dowolną (rozsądną) wartość czasową (1-3 sekund na testowanie robota).

- Właściwie ostatnim elementem, który musimy umieścić w naszym switchu jest to, co ma zrobić silnik, kiedy robot odczeka ustawiony przez nas czas. _Oczywiście - zamknąć drzwi. W tym celu dodajemy bloczek motora i ustawiamy go prawie tak samo, jak zrobiliśmy to w przypadku, kiedy dodawaliśmy _bloczek motora po raz pierwszy. Warto zadać dzieciom pytanie: który element w ustawieniach silnika musi się zmienić, aby drzwi się zamknęły? W celu _naprowadzenia ich na prawidłową odpowiedź, możemy znowu posłużyć się prawdziwym pudełkiem. Uczestnicy powinni dojść do wniosku, że wartość _zmiany kąta musi być odwrotna do tej, którą wpisaliśmy w pierwszym bloczku silnika. To znaczy: jeśli tam mieliśmy -90 teraz musimy wpisać 90, a jeśli _wtedy wpisaliśmy 90, teraz musimy wpisać -90. Resztę ustawień powtarzamy z poprzedniego bloczka silnika. - Mówimy, że to już właściwie koniec działania naszego programu, ale brakuje nam jeszcze jednego bloczka. Dzieci powinny przypomnieć sobie, że _chodzi o bloczek kończący program. W środowisku do programowania robotów Lego, znajduje się on w niebieskiej zakładce i nazywa End Program. 5. Podłączenie robota do komputera i wgranie programu na kostkę. - testy i rozbudowa projektu Dodatkowe wyzwania do rozwiązania: - rozbudowa sejfu i oprogramowania do projektu pozwalającego na zamykanie drzwi, co też wymagałoby klucza niekoniecznie takiego samego jak klucz otwierający drzwi - budowa sejfu opartego o dwa przyciski i ich wzajemne kombinacje - rozbudowa projektu do sejfu z dwoma drzwiami, np. sterowanymi dwoma czujnikami dotyku - modyfikacja programu w celu stworzenie bardziej zaawansowanego klucza otwierającego - dla zaawansowanych, wymagające znajomości bloczków pozwalających na operowanie na zmiennych budowa sejfu z programowalnym kluczem

FAZY BUDOWY ROBOTA: 1. 3. 2.

6. 4. 5.