NOVI PROJEKT - 01
micro:bit AD-BW

NUDIMO VAM MOGUČNOST PRED-NARUDŽBE PROIZVODA PO NIŽOJ CIJENI - PLANIRANI ROK ISPORUKE OKTOBAR 2020.
Pr01_01.jpg
Micro:bit ima velike mogućnosti. Da bi vam omogućili prikaz dobivenih podataka napravili smo micro:bit AD-BW sučelje koje vam omogućava prikaz teksta, grafike, kreiranje igara, zvukova ili izvođenje melodija. Da bi u izradi programa mogli iskoristiti što više mogućnosti koje pruža sučelje micro:bit AD-BW, kreirali smo oko 30 različitih funkcija. Za početak smo obradili primjere programa koji ne koriste senzore ili druge ulazne module. Ovi demo programi samo prikazuju grafičke i audio mogućnosti sučelja. Načine korištenja ulaznih modula za prikaz vrijednosti na ekranu ili kao audio izlaz, planiramo obraditi u narednom periodu. Demo primjeri prikazuju način korištenja funkcija u programskom jeziku Python. Za Microsoft MakeCode podrška (library) je u izradi.
LINK NA KATALOG ZA PRED-NARUDŽBU:

FAZA RAZVOJA
14.09.2020. Radimo na testiranju programske podrške i hardvera. Nove pločice s nekim izmjenama su u dolasku (konektor za programiranje). Priprema za izradu kućišta sučelja.

TEHNIČKI OPIS
Pr01_02.jpg
Sučelje je micro:bit AD-BW je Arduino UNO kompatibilno i koristi ATMEGA328 mikroprocesor na 16 Mhz. Da bi vam omogućili programiranje sučelja ugradili smo konektor za programiranje. Sučelje je moguće programirati kao Arduino UNO ili putem programatora. Za grafički ili tekstualni prikaz sučelje koristi ekran (display) s rezolucijom 84x48 piksela. Za audio izlaz ugrađen je zvučnik od 0.5W s regulatorom jačine zvuka i spojen na pin P0 micro:bita. Za prihvat podataka od različitih senzora, koriste se tri ulazna konektora koja su spojena na pinove P1,P2 i P4. Na ulaze se mogu spojiti senzori sa signalom do 9V. Za napajanje senzora sučelje ima dva izlaza s napajanjem od 3.3V i 5V. Za napajanje sučelja i micro:bita mogu se koristiti baterija 9V ili USB adapter 5V.

SENZORI DODIRA
Pr01_03.jpg
Da bi bila moguća kontrola kretanja objekta (igrača) u svim smjerovima, osim gumba A i B na micro:bitu, koristimo i ulaze P1 i P2. Za tu potrebu na vijke koji spajaju micro:bit i sučelje micro:bit AD-BW smo stavili polukružne kapice koje koristimo kao dodirne senzore.

KREIRANJE BIT MAPE
Pr01_04.jpg
Za kreiranje objekata koje koristimo u nekoj igri, upotrebljavamo bitmape 8x8 piksela. Sami možete kreirati bitmape koje koristite u programu. Primjer za kreiranje bitmape igrača (9) u EXCELu. Primjer možete vidjeti u programu za igru koji slijedi. Izgled Python funkcije za definiranje bitmape broj 9 (igrača): ispis("BIT; 9; 60; 126; 219; 219; 255; 219; 102; 255")

DIZAJN IGRE - EKRANA
Pr01_05.jpg
Jednostavan dizajn ekrana (okolina igre - background) sa objektima. Moguće je izraditi nekoliko ekrana sa do 20 objekata različitih dužina (multiplikator) i funkcija. Na slici u prilogu je prikazan dizajn tri ekrana u Excel tablici. Primjer je za igru meteori i svi objekti su dužine jedne bitmape. U primjeru demo igre meteori koristi se i neutralna bitmapa, koja nema neku specijalnu funkciju (4). Objekti su s funkcijom dodavanja bodova (2) i oduzimanja života (3). Objekt X je početna pozicija objekta igrača. Za prikaz objekata na displeju, koristi se virtualni ekran koji se pomiče (scroll) preko definiranih ekrana putem funkcije scroll u smjeru s lijeva na desno. Nakon prelaska preko zadnjeg ekrana ponovo počinje prikaz prvog. Redoslijed prikaza može biti izmjenjen korištenjem RND (random) funkcije. Korištenjem RND funkcije, redoslijed prikaza ekrana mjenja se svaki puta kad se program pokrene.

FUNKCIJE ZA RAD S TEKSTOM

Demo program prikazuje funkcije koje rade s ispisom i kontrolom teksta. Prikazane su funkcije ispisa teksta različite veličine u standardnom i grafičkom modu. Standardni mod koristi tekst rezoluciju ekrana (14x6), a grafički grafičku rezoluciju (84x48). Osim ispisa prikazane su funkcije za manipulaciju tekstom (scroll).

GRAFIČKE FUNKCIJE

Demo prikazuje funkcije za iscrtavanje linije, kružnice, pravokutnika, piksela u kombinaciji sa scroll funkcijama. Scroll funkcije omogućavaju prikaz podataka u obliku GRAFA ili jednostavnu animaciju. Kombinacije scroll funkcija s grafičkim objektima, najbolje se mogu vidjeti u demo primjerima igara.

GRAFIČKE FUNKCIJE U PRIMJENI - KOMPAS

Za prikaz podataka dobivenih od kompasa, koristili smo funkcije za iscrtavanje kružnice, punog kruga i linije.

PLATFORMASKA IGRA

Prilikom izrade platformske igre potrebno je definirati određene parametre igre. Da bi igra bila zanimljiva potrebno je kreirati grafičke objekte koji imaju određenu funkciju. Osim objekta igrača (9), potrebno je kreirati objekt koji će donositi bodove igraču (2), te objekt koji će oduzimati život (3). Kod platformske igre potrebno je kreirati platforme po kojima se objekt igrača kreče. Funkcija OBJ omogućava kreiranje jednog ili više "ekrana" sa pozicijama različitih objekata. Prikaz tih "ekrana" na ekranu izvodi se redoslijedno i kružno. Osim kreiranja grafičkih objekata ( bitmape ), potrebno je definirati rad funkcija koje kontroliraju kretanje objekta igrača. Jedna od funkcija je GRAVITACIJA. Postavljanjem parametra za gravitaciju na 1 uključuje se funkcija koja kontrolira objekt igrača da pada, ako se ne nalazi na platformi. Ako je uključena funkcija PAD (1) objekt igrača nakon pada izvan ekrana se ponovo pojavljuje na početnoj poziciji, a ako je PAD isključen, objekt igrača će se pojaviti na gornjoj poziciji ekrana. Osim toga, ako se igra želi bodovati, potrebno je uključiti funkciju BOD sa početnim stanjem (0). Za dodjeljivanje početnog broj života koristi se funkcija LIV. Ovo je samo kratak opis nekih funkcija koje se koriste u ovoj demo igri.

IGRA - METEORI

Kao i u prethodnoj igri, potrebno je definirati izgled "ekrana" i pozicije objekata na ekranu. Kod ove igre nemamo platforme već objekte koji se sudaraju sa objektom igrača (letjelica). Osim objekata sa funkcijom (2,3), igra koristi i objekt koji ne mijenja rezultat igre direktno, ali utječe na poziciju objekta igrača.

IGRA - JEDNOSTAVNI PRIMJER

Ova igra ne koristi scroll funkciju za pomak objekata. Objekti se prikazuju na ekranu i ne mijenjaju poziciju. Koriste se objekti sa funkcijama koji utječu na objekt igrača. Osim prethodno prikazanih objekata, koristi se novi objekt sa funkcijom VRATA. Prolaskom kroz VRATA, objekt igrača se pojavljuje na početnoj poziciji i kompletni ekran se ponovo prikazuje. Koriste se i DODIRNI senzori za dodatne kontrole objekta igrača. Za iscrtavanje linija koriste se standardne funkcije. Za kreiranje ekrana mogu se koristiti i ostale standardne funkcije za iscrtavanje ili ispis teksta.

IGRA - LABIRINT

Igra koja sadrži sve osnovne funkcije za izradu igre i sva četiri smjera kontrole objekta igrača. U prethodnim igrama pojavljuju se zvučni efekti prilikom različitih situacija u igri. Zvučni efekti se koriste za dobivanje bodova, gubitak života i pad izvan ekrana (gubitak života). Zvučni efekti se mogu po želji kreirati.