• Nie Znaleziono Wyników

TWORZENIE, BUDOWANIE I PROGRAMOWANIE APLIKACJI ANDROID DLA ROBOTÓW MOBILNYCH

N/A
N/A
Protected

Academic year: 2022

Share "TWORZENIE, BUDOWANIE I PROGRAMOWANIE APLIKACJI ANDROID DLA ROBOTÓW MOBILNYCH"

Copied!
16
0
0

Pełen tekst

(1)

dsdsdfVC

Projekt „Rozwój Innowacyjnych Działań Naukowych w Ramach Średniego Kształcenia Zawodowego Celem Zachęcania Uczniów do Kariery Naukowej i Edukacyjnej STEM”, nr odn. 2017-1-BG01-KA202- 036327

Opublikowano 2019

DROGA DO KLASY NAUKOWEJ

TWORZENIE, BUDOWANIE I PROGRAMOWANIE APLIKACJI

ANDROID DLA ROBOTÓW MOBILNYCH

Licencja Creative Commons - Uznanie Autorstwa - Użycie Niekomercyjne - Na Tych Samych Warunkach CC BY- NC-SA

(2)

1

Wprowadzenie 2

Koncepcja aktywności i plan zajęć 3

Tematyka zajęć

Poziom trudności / wiek uczniów Wymagana wcześniejsza wiedza Czas wymagany na realizację Prowadzący

Uzyskana wiedza i rozwinięte kompetencje - uczniowie Uzyskana wiedza i rozwinięte kompetencje – nauczyciele

Uzyskana wiedza i rozwinięte kompetencje – pracownicy lub studenci uniwersyteccy Materiały niezbędne do realizacji działań

Podział działań

Przydatne linki do zasobów Sugerowane dalsze opracowania Źródła stosowane do rozwijania zasobu

Arkusz wiedzy dotychczasowej 5

Redaktorzy

Wprowadzenie do tematu

Znaczenie dla życia codziennego / gospodarki / społeczeństwa Szczegółowe przedstawienie tematu

Wytyczne dla prowadzących w zakresie przekazywania wiedzy naukowej

Arkusz planowania wykładów 11

Cel Warunki

Miejsce wystąpienia / wykładu

Możliwe zaangażowanie studentów w działanie Plan zajęć

Arkusz planowania działań praktycznych / eksperymentów 13

Cel Warunki

Możliwe zaangażowanie studentów w działanie Zakres działań praktycznych

Plan zajęc działań praktycznych Contents

(3)

2

Klasa "Droga do nauki" jest zaprojektowana tak, aby mogła być prowadzona przez personel uniwersytecki i studentów, ale powinna być zorganizowana w szkołach średnich jako działalność pozaszkolna.

J A K

W Y K O R Z Y S T A Ć T E N Z A S Ó B

Wprowadzenie

(4)

3

Zaprojektowanie aplikacji na smartfony z systemem Android do sterowania robotami mobilnymi. Samouczek zawiera graficzny interfejs użytkownika (GUI) oraz programowanie diagramów blokowych.

Dla uczniów i nauczycieli liceów zawodowych oraz szkół ogólnokształcących

Podstawy programowania - wiedza na temat algorytmów

4 godziny akademickie

Działalność powinna być wykonywana przez adiunkta lub pracownika naukowego Uniwersytetu. Studenci są dobrą alternatywą dla zwykłej kadry nauczycielskiej.

Programowanie Androida, znajomość czujników, projektowanie interfejsu graficznego.

Programowanie Androida, znajomość czujników, projektowanie interfejsu graficznego.

Umiejętności w zakresie komunikacji naukowej; umiejętności w zakresie edukacji i pomocy potrzebującym

Wykład: laptop, projektor multimedialny, połączenie z Internetem (najlepiej bardzo niezawodne i silne Wi-Fi), tablica, komputer PC lub laptop (najlepiej dla każdego studenta), konto Google, mały robot mobilny.

Robot mobilny musi być przywieziony przez wizytujący zespół

T E M A T Y K A Z A J Ę Ć

P O Z I O M

T R U D N O Ś C I / W I E K U C Z N I Ó W

W Y M A G A N A W C Z E Ś N I E J S Z A W I E D Z A

C Z A S W Y M A G A N Y N A R E A L I Z A C J Ę

P R O W A D Z Ą C Y

U Z Y S K A N A W I E D Z A I R O Z W I N I Ę T E K O M P E T E N C J E - U C Z N I O W I E

U Z Y S K A N A W I E D Z A I R O Z W I N I Ę T E K O M P E T E N C J E - N A U C Z Y C I E L E

U Z Y S K A N A W I E D Z A I R O Z W I N I Ę T E K O M P E T E N C J E P R A C O W N I C Y L U B S T U D E N C I

U N I W E R S Y T E C C Y

M A T E R I A Ł Y N I E Z B Ę D N E D O R E A L I Z A C J I D Z I A Ł A Ń

Koncepcja aktywności i plan zajęć

(5)

4

uniwersytecki, ponieważ nie jest on łatwo dostępny w szkołach. O ile zajęcia mogą być prowadzone bez takiego robota, o tyle aktywność praktyczna będzie mniej efektywna, jeśli studenci nie będą w stanie przetestować opracowanej aplikacji na rzeczywistym robocie. Jeśli robot mobilny nie może zostać wprowadzony do szkoły, alternatywnym rozwiązaniem byłoby zorganizowanie go w klasie wzorcowej i umieszczenie w laboratorium uniwersyteckim, gdzie aplikacja android może zostać przetestowana na prawdziwym robocie mobilnym.

Uczniowie powinni być zachęcani do wprowadzania i używania smartfonów z systemem Android podczas całej aktywności.

W przypadku korzystania z wersji komputerowej aplikacji App Inventor (np. jeśli dostępny jest tylko Internet kablowy), wykład można zorganizować w pracowni komputerowej, w której komputery powinny mieć preinstalowane oprogramowanie.

1. Wykład informacyjny/ Wykład: nauczanie teoretyczne i sesja pytań i odpowiedzi.

2. Ćwiczenie praktyczne - ćwiczenie praktyczne: wykonywanie w praktyce tego, co zostało teoretycznie wyjaśnione.

3. Samorefleksja ze strony studentów.

http://appinventor.mit.edu/explore/

https://puravidaapps.com/

Android Apps with App Inventor 2: Easy App Development for Everyone by Karl-Hermann Rollke

Learning MIT App Inventor: A Hands-On Guide to Building Your Own Android Apps 1st Edition by Derek Walter and Mark Sherman

P O D Z I A Ł D Z I A Ł A Ń

P R Z Y D A T N E L I N K I D O Z A S O B Ó W

S U G E R O W A N E D A L S Z E

O P R A C O W A N I A

(6)

5

Mikuláš Hajduk (Technical University of Košice, Slovakia )

Aplikacja App Inventor dla systemu Android web umożliwia ludziom bez umiejętności programowania tworzenie aplikacji dla systemu operacyjnego Android.

App Inventor dla systemu Android jest aplikacją internetową z otwartym kodem źródłowym. Została ona pierwotnie opracowana przez Google, ale obecnie jest utrzymywana przez Massachusetts Institute of Technology (MIT).

Aplikacja wykorzystuje graficzny interfejs do kodowania blokowego, podobny do Scratch i StarLogo TNG. W przeciwieństwie do tradycyjnego programowania tekstowego, interfejs ten pozwala użytkownikom na przeciąganie i upuszczanie obiektów wizualnych (bloków instrukcji) w celu stworzenia aplikacji, która może działać na urządzeniach z systemem Android. Dzięki temu jest ona łatwo dostępna dla osób, które są nowe w programowaniu i nadaje się do edukacji programistycznej w bardzo wczesnym wieku.

App Inventor dla Android aplikacji internetowej może przyczynić się do promowania robotyki i technologii, a - w dłuższej perspektywie - ułatwić korzystanie z robotów i urządzeń high-tech w różnych branżach, które nie zatrudniają dużej liczby przeszkolonych pracowników STEM.

Bardziej ogólnie rzecz biorąc, stworzenie możliwości "demokratyzacji"

tworzenia aplikacji oprogramowania poprzez uczynienie działalności bardziej dostępną dla wielu osób będzie promować rozwój społeczeństwa cyfrowego i ułatwi obywatelom współtworzenie innowacji i technologii. W szczególności może ona umożliwić wszystkim ludziom, zwłaszcza młodemu pokoleniu, przejście od konsumentów technologii do twórców

Wprowadzenie

App Inventor jest aplikacją internetową o otwartym kodzie źródłowym, dostarczaną pierwotnie przez Google, a obecnie utrzymywaną przez Massachusetts Institute of Technology (MIT). MIT App Inventor oferuje intuicyjne, wizualne środowisko programistyczne, które pozwala użytkownikom, nawet bez doświadczenia w programowaniu komputerowym, na tworzenie prostych aplikacji dla smartfonów i tabletów. W rzeczywistości, korzystając z tego narzędzia, nowy

użytkownik może zbudować w pełni funkcjonalną aplikację w mniej niż 30 minut. To narzędzie oparte na blokach może być również

wykorzystywane do tworzenia złożonych, wysokowydajnych aplikacji znacznie szybciej niż w przypadku tradycyjnych środowisk

programistycznych. Obecnie MIT App Inventor ma ponad 6 milionów

R E D A K T O R Z Y

W P R O W A D Z E N I E D O T E M A T U

Z N A C Z E N I E D L A Ż Y C I A

C O D Z I E N N E G O / G O S P O D A R K I / S P O Ł E C Z E Ń S T W A

S Z C Z E G Ó Ł O W E P R Z E D S T A W I E N I E T E M A T U

Arkusz wiedzy podstawowej

(7)

6

zarejestrowanych użytkowników.

Instrukcja konfiguracji

Podczas budowania aplikacji użytkownik ma trzy opcje konfigurowania testów na żywo w zależności od używanego urządzenia i połączenia z Internetem, jak następuje:

Opcja pierwsza - ZALECANA

Z urządzeniem z systemem Android/tabletem poręcznym i bezprzewodowym połączeniem internetowym:

Wybranie tej opcji pozwala użytkownikowi na uruchamianie aplikacji budowlanych bez konieczności pobierania jakiegokolwiek oprogramowania na swój komputer. Jedynym wymaganiem jest zainstalowanie aplikacji App Inventor Companion App na swoim urządzeniu.

Fig 1 Option one

Opcja Druga

Bez urządzenia z systemem Android i z bezprzewodowym połączeniem internetowym:

W tym przypadku użytkownik musi zainstalować oprogramowanie na swoim komputerze, aby można było korzystać z emulatora Android na ekranie. Opcja ta jest odpowiednia dla klasy studentów, ponieważ mogą oni pracować przede wszystkim na emulatorach i dzielić się kilkoma urządzeniami.

(8)

7

Fig 2 Option Two Opcja Trzecia

Z urządzeniem z systemem Android i bez bezprzewodowego połączenia internetowego

Niektóre zapory ogniowe w szkołach i organizacjach nie pozwalają na korzystanie z tego narzędzia za pomocą sieci Wi-Fi. Jeśli Wi-Fi nie działa, użytkownik może zdecydować się na USB. Oprogramowanie musi być zainstalowane tak, aby użytkownik mógł podłączyć się do swojego urządzenia z systemem Android przez USB. Ponieważ opcja połączenia USB może stwarzać problemy, zwłaszcza w systemie Windows, zaleca się wybranie tej opcji w ostateczności.

Fig 3 Option Three

Studio projektowe i edytor bloków Kreator aplikacji Inventor Designer

Interfejs użytkownika aplikacji może być zaprojektowany poprzez rozmieszczenie komponentów zarówno na ekranie, jak i poza nim.

(9)

8

Fig 4 App Inventor Designer

Edytor bloków programu App Inventor

Użytkownik może zaprogramować zachowanie aplikacji poprzez łączenie bloków.

Fig 5 App Inventor Blocks Editor

Odniesienie do komponentu

Każdy komponent może zawierać metody, zdarzenia i właściwości.

Większość właściwości może być zmieniana przez aplikacje i mają one bloki, które mogą być użyte do uzyskania i ustawienia wartości.

Niektóre właściwości nie mogą być zmieniane przez aplikacje i mają

(10)

9

tylko bloki, które mogą być użyte do uzyskania wartości, ale nie mogą być ustawiane. Kilka właściwości jest dostępnych tylko w programie Designer.

- Komponenty interfejsu użytkownika - Elementy układu

- Komponenty medialne - Elementy rysunku i animacji - Elementy mapy

- Elementy czujników - Składniki społeczne

- Elementy składowe do przechowywania - Elementy połączeniowe

- Elementy składowe LEGO® MINDSTORMS®

- Składniki doświadczalne Bloki sterowania

Główne funkcje bloków to...:

- if & if if else

- dla każdego z nich od do

- dla każdego z wymienionych w wykazie - podczas gdy

- jeśli wtedy inaczej....

- czynić

- ocenić, ale zignorować wynik - otworzyć kolejny ekran

- otworzyć kolejny ekran z wartością początkową - uzyskać wartość początkową

- ekran zamykający

- zamknięty ekran z wartością - ścisłe zastosowanie

- uzyskać zwykły tekst startowy - zamknięty ekran z prostym tekstem

Testuje dany stan. Jeśli warunek jest prawdziwy, wykonuje działania w danej sekwencji bloków; w przeciwnym razie bloki są ignorowane.

(11)

10

Testuje dany stan. Jeśli warunek jest prawdziwy, wykonuje działania w danej sekwencji bloków; w przeciwnym razie bloki są ignorowane.

Testuje dany stan. Jeśli wynik jest prawdziwy, wykonuje czynności w sekwencji -then bloków; w przeciwnym razie wykonuje czynności w sekwencji - else bloków.

Testuje dany stan. Jeśli wynik jest prawdziwy, wykonuje czynności w sekwencji -then bloków; w przeciwnym razie testuje wyrażenie w sekcji -else if.

Jeśli wynik jest prawdziwy, wykonuje czynności w sekwencji -then bloków; w przeciwnym razie wykonuje czynności w sekwencji -else bloków.

Fig 6 Przykład bloku sterującego "if & if else".

Inne bloki sterowania

Wbudowane bloki są dostępne niezależnie od tego, które komponenty są wykorzystywane w projekcie. Oprócz tych bloków językowych, każdy komponent w projekcie ma swój własny zestaw bloków

specyficznych dla jego własnych zdarzeń, metod i właściwości. Jest to przegląd wszystkich wbudowanych bloków dostępnych w edytorze bloków.

Logic blocks

Math blocks

Text blocks

Lists blocks

Colors blocks

Variables blocks

Procedures blocks

Fig 7 Built-In Blocks in the Blocks Editor

(12)

11

- Nie bądź "kolejnym nauczycielem". Podziel się z uczniami swoją pasją do programowania i robotów. Zazwyczaj wiąże się to z powiedzeniem im, w jaki sposób dostałeś się do robotyki lub programowania i dlaczego lubisz to robić.

- Ustanowienie autorytetu jako eksperta, aby uczniowie czuli się pewnie pracując zgodnie z Twoimi instrukcjami. Unikaj jednak przewidywania pozycji wyższości.

- Nawiąż bardziej osobisty kontakt z uczniami. Wiąże się to zazwyczaj z opowiadaniem im czegoś o sobie lub żartami w trakcie zajęć.

- Zapytaj uczniów o ich wcześniejszą wiedzę z zakresu programowania, aby spróbować powiązać nową wiedzę z tym, co uczniowie już wiedzą.

Jeśli to możliwe, skoncentruj się na wcześniejszej wiedzy i umiejętnościach w kodowaniu blokowym, ponieważ linki do takiej wiedzy mogą być bardzo efektywnie wykorzystywane podczas tego ćwiczenia.

- Przed rozmową teoretyczną, rozważ możliwość zainstalowania aplikacji App Inventor Companion App na kilku telefonach komórkowych z systemem Android, aby móc sprawdzić, jak to działa w trakcie rozmowy.

- Spróbuj zainteresować studentów innymi sposobami programowania i kodowania - podkreśl, że App Inventor jest tylko jednym z wielu środowisk programistycznych.

- Spróbuj przekonać uczniów, że programowanie aplikacji nie jest zadaniem niemożliwym i nie wymaga, aby byli komputerowymi maniakami. Powiedz im, że istnieje łatwy sposób, aby zrobić pierwsze kroki (co jest tym, co zrobisz w tej klasie) i że od tego momentu każdy może się stopniowo uczyć pracować w bardziej złożonych środowiskach programistycznych. Upewnij się, że krzywa uczenia się jest dość stroma (to znaczy, że ludzie uczą się szybko, gdy tylko zdobędą niezbędną początkową wiedzę i umiejętności).

- Zachęcaj uczniów do zastanowienia się nad przydatnymi aplikacjami, które można zbudować. Następnie poproś ich, aby zastanowili się nad zabawnymi aplikacjami, które można by zbudować. Celem jest sprawienie, by studenci chcieli zbudować taką aplikację.

- Jeśli będziesz używał materiałów wizualnych poprzez prezentację lub materiały informacyjne, skaluj wszystko tak, by uczniowie mogli wyraźnie widzieć. W przypadku drukowania, wydrukuj w kolorze, jeśli istnieją schematy lub ilustracje.

W Y T Y C Z N E D L A P R O W A D Z Ą C Y C H W Z A K R E S I E

P R Z E K A Z Y W A N I A W I E D Z Y

N A U K O W E J

(13)

12

Celem wykładu jest wyjaśnienie, czym jest App Inventor i jakie są główne funkcje w tym środowisku programowania.

- 20 do 30 uczniów w jednej grupie.

- W tej fazie działalności nie ma szczególnych wymagań dotyczących organizacji uczniów w grupy lub organizacji przestrzeni.

- Optymalny czas trwania tego wykładu teoretycznego wynosi 2 godziny lekcyjne.

Sala lekcyjna

Studenci uniwersyteccy posiadający wiedzę na ten temat mogą od czasu do czasu występować jako instruktorzy, ale nie jest to optymalne rozwiązanie. Studenci uniwersytetu mogą pełnić rolę moderatora przed rozmową, pomagając uczestniczącym w niej studentom szkół średnich zainstalować aplikację App Inventor na ich urządzeniach przenośnych.

Faza

nr. Opis fazy Przydzielony

czas 1 Wprowadzenie do programowania w

środowisku App Inventor

5 min.

2 Główne funkcje w programie App Inventor

25 min.

3 Bloki funkcyjne - objaśnienie i

ilustracja 25 min.

4 Projekt graficzny interfejsu

użytkownika - objaśnienie i ilustracja 20 min.

5 Podstawowe programowanie w App

Inventor - przykłady 10 min.

6. Pytania lub wyjaśnienia 5 min.

Role instruktora: wyjaśnia główne funkcje oprogramowania.

Role nauczycieli: pomoc w praktycznej demonstracji działania oprogramowania (z wykorzystaniem zainstalowanego programu App Inventor).

Studenci: Skoncentrowanie się na nauce podstawowych funkcji App Inventor, aby móc z niego korzystać w praktyce podczas ćwiczenia praktycznego.

C E L

W A R U N K I

M I E J S C E

W Y S T Ą P I E N I A / W Y K Ł A D U

M O Ż L I W E Z A A N G A Z O W A N I E

S T U D E N T Ó W W D Z I A Ł A N I E

P L A N Z A J Ę Ć

Arkusz planowania wykładów

(14)

13

(15)

14

Celem tego praktycznego ćwiczenia jest stworzenie aplikacji do sterowania robotem mobilnym.

The goal of this practical exercise is to create an application for controlling a mobile robot.

- maksymalnie 10 uczniów w jednej grupie (mniejsze grupy prawdopodobnie byłyby bardziej efektywne)

- do 3 grup

- grupy powinny pracować niezależnie od siebie, a każda z nich powinna mieć możliwość korzystania z urządzeń przenośnych z systemem Android lub komputerów z dostępem do Internetu (najlepiej po jednym urządzeniu na studenta)

- 1 do 2 instruktorów; osoba prowadząca w każdej grupie

- Zajęcia można zorganizować w zwykłej sali lekcyjnej, jeśli istnieje silne i niezawodne połączenie Wi-Fi oraz jeśli grupy mają wystarczającą liczbę urządzeń mobilnych z systemem operacyjnym Android.

- Zajęcia można zorganizować w pracowni komputerowej, przy czym każda grupa korzysta z wystarczającej liczby niezawodnych i szybkich komputerów z silnym połączeniem internetowym (App Inventor powinien być wstępnie zainstalowany na komputerach, które będą używane podczas ćwiczenia).

Studenci uniwersytetów byliby bardzo skuteczni w roli moderatorów.

Nie powinny one jednak powielać funkcji facylitatora towarzyszących im nauczycieli. Studenci uniwersytetów mogliby dołączyć do zespołów jako stali członkowie zespołu, jeżeli uczniowie szkół średnich posiadają wystarczającą wcześniejszą wiedzę na temat kodowania blokowego, aby zaangażować się w bardziej ambitne zadania związane z programowaniem.

Programowanie w App Inventor, aplikacje budowlane dla systemu Android, wykorzystujące i łączące bloki funkcyjne do sterowania robotami mobilnymi.

Faza

nr. Opis fazy Przyznany

czas

1 Wprowadzenie 5 min.

2 Budowa graficznego interfejsu

użytkownika (GUI) dla aplikacji 30 min.

C E L

W A R U N K I

L O K A L I Z A C J A I W Y P O S A Ż E N I E

M O Ż L I W O Ś Ć Z A A N G A Ż O W A N I A W D Z I A Ł A L N O Ś Ć S T U D E N T Ó W U C Z E L N I W Y Ż S Z Y C H

Z A K R E S C Z Y N N O Ś C I P R A K T Y C Z N Y C H

P L A N Z A J Ę Ć D Z I A Ł A Ń

P R A K T Y C Z N Y C H

Arkusz planowania działań praktycznych / eksperymentów

(16)

15

Androida

3 Tworzenie bloków funkcyjnych dla aplikacji Android

30 min.

4 Wybór odpowiedniego połączenia z

robotem mobilnym 10 min.

5 Pobieranie i testowanie aplikacji dla

robotów mobilnych 10 min.

6 Sprzężenie zwrotne i autorefleksja 5 min.

Cytaty

Powiązane dokumenty

Założenie: najefektywniejsze rozwiązanie stosu za pomocą tablicy – szczyt stosu to ostatni element wstawiony tablicy począwszy od miejsca o indeksie 0 (jeśli liczba elementów

Występowanie w obrębie dowolnych podukładów nieprzewidzianych zja- wisk informacyjnych i komunikacyjnych nie może być sztucznie eliminowane przez decyzyjne ośrodki systemu.. W

Wprowadzenie ustawowe- go współpłacenia jest o tyle konieczne, że przecież już dzisiaj mamy z nim do czy- nienia, czego przykładem jest działanie nzoz-ów.. JJa arro ossłła aw w

Fizyka Na poprzedniej lekcji nauczyciel zadaje uczniom utrwalenie wiadomości z budowy wewnętrznej ciał stałych, cieczy i gazów. Uczniowie mają zadane

„Kuźnia Młodych”. Na łamach tej gazetki miał miejsce jego debiut poetycki i prozatorski. W 1937 ukazał się pierwszy tomik jego wierszy pt. „Powrót Andersena” nawiązujący

Jeżeli jakieś dane em ­ piryczne przemawiają przeciw jednej lub drugiej teorii, powstały konflikt traktuje się jako dowód na to, że teoria nie stosuje się do sytuacji,

W czterech plikach załączonych do listy znajdują się teksty angielskie i jeden francuski zaszyfrowane odpowiednio szyfrem podstawieniowym, szyfrem Viegenere’a, szyfrem afinicznym

Korzystając z reguły odwracania proszę znaleźć skuteczny wzór na liczbę nieporząd- ków n obiektów (n podsilnia).. Patasnik Matematyka