Teknisk rapport. Språkopplæring i norsk for unge voksne. Fredrik T. Haugstulen Nina Sophie Justnæs Ina Ek Bjørntvedt Sondre Sandberg

Like dokumenter
Teknisk rapport. Julian Vars. Haweya Jama. Kjersti Viksaas. Yas Taheranpour. Inger Nordby Grønn. Institutt for informatikk. Universitetet i Oslo

Teknisk dokumentasjon for Ludosphaera

INF1510: Bruksorientert design

Reunited. Hanna Dokken, Rhea Toling, Marlene Hasle, Suresh Sapkota & Jonas Blårud. Teknisk rapport. IN Bruksorientert design.

Pseudonym presenterer TEKNISK RAPPORT. Medlemmer: Camilla Christensen, Emma Tvinnereim, Hedda Dyngeland og Maren Berge

Teknisk Rapport. Effektivisering av natteravnene i Oslos ressurser. Kristine Lokke Lotte Stubdal Renate Farberg Ane Marthe Ness Anna Helgestad

INF1510: Bruksorientert design

IN1060: Bruksorientert design

INF1510: Bruksorientert design

Prototyping med Arduino del 3

IN1060: Bruksorientert design

Teknisk rapport GRUPPE 101

Teknisk Rapport HVASS

Teknisk rapport. IN Bruksorientert design Vår Universitetet i Oslo - Institutt for informatikk

Teknisk rapport. IN Bruksorientert design. boks

Prototyping med Arduino del 2

Universitetet i Oslo. Institutt for informatikk. IN Bruksorientert design TEKNISK RAPPORT. Pentagon. Christopher Kløv Andersen

Elektronikk og programmering av ubrukelige roboter

WORKSHOP BRUK AV SENSORTEKNOLOGI

Prosjektrapport. Språkopplæring i norsk for unge voksne. Fredrik T. Haugstulen Nina Sophie Justnæs Ina Ek Bjørntvedt Sondre Sandberg

7-Segment Display Nybegynner Arduino Lærerveiledning

En to-timers oppskrift for å bygge og programmere en Arduino-drevet strikk-

PXT: Komponer en melodi

Blinkende lysdiode Introduksjon Arduino Lærerveiledning

PXT: Spå fremtiden med bilder

PXT: Bjelleklang. Introduksjon. Skrevet av: Kolbjørn Engeland, Julie Revdahl

7-Segment Display. Introduksjon. Steg 1: Finn frem utstyr. Til denne oppgaven trenger du. Skrevet av: Martin Ertsås & Morten Minde Neergaard

TEKNISK RAPPORT. INF1510 Ellen Katrine Sveen Anna Sofie Schei Jostein Hellerud Espen Wøien Olsen

Steg 1: Installere programvaren

Steg 1: Piler og knappetrykk

Arduino bilen er en selvgående liten robot. Roboten består av:

Brukermanual for digital DAB+ radiomottaker og FM-transmitter til bil Les denne veiledningen nøye før produktet tas i bruk

Hjernetrim. Hva er det?

Ultralydsensor. Introduksjon. Litt om ultralydsensorer. Arduino. Skrevet av: Martin Ertsås & Morten Minde Neergaard

2. La det bli lys Ditt første Arduino program

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

Hurtigveiledning for «PLEXTALK Pocket» online spiller

Litt mer om Arduino. Roger Antonsen Sten Solli INF januar 2011

Arduino med Atmel studio 6.x (6.1)

Danalock V3 SCANDI Monteringsanvisning.

Kjenn din PC (Windows 7)

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!

INF1510 Oblig #1. Kjetil Heen, februar 2016

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:

Espen. The Five Year Club. Anna. Aleksander. Jakob

Calisto USB-høyttalertelefon. Brukerveiledning

EKSAMEN. Informasjon om eksamen. Emnekode og -navn: ITD13012 Datateknikk. Dato og tid: timer. Fagansvarlig: Robert Roppestad

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

Innhold. NOX Light. 1. Reset hull 2. Micro SD Kort plass 3. Mikrofon 4. USB inngang 5. På/Av Record Button 6. Nox Light kamera

HIVE 2 BLUETOOTH-HØYTTALER

DENVER WCM-5003MK3. Viltkamera Hurtigstart

1. Arduino Bluetooth 2 HC-05 modul

Brannsender audio BRANN9

JahtiJakt videobriller

Hurtigveiledning for «PLEXTALK Linio Pocket» online spiller

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

MUVI ATOM micro DV Produkt Innhold

ipad Uke

Refleksjonsnotat Web.

Vedlegg Brukertester INNHOLDFORTEGNELSE

BOOMBAR + BLUETOOTH-HØYTTALER BRUKERHÅNDBOK

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

SIGMA Informasjon Montasje Versjon 0

POCKET HIVE BLUETOOTH-HØYTTALER. kitsound.co.uk BRUKERHÅNDBOK

MYJACK AUX-INNGANG TRÅDLØS OMFORMER BRUKERHÅNDBOK

1 Digital mini-dvr 0 Brukerveiledning

BLUETOOTH- MUSIKKADAPTER

Digitallupe LVI SenseView P430 Manual Importør: ProVista AS Tromøyveien ARENDAL

HEOS 3 QUICK START GUIDE

HEOS 1 QUICK START GUIDE HS2

Esken inneholder. Tegnforklaring

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

aanonsen TRÅDLØS DIGITAL BADETERMOMETER ART. NR

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Bruks og monteringsanvisning

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Skrevet av: Geir Arne Hjelle

Vedlikehold: Batteriene bør skiftes hvert tredje år. Skapet må rengjøres en gang i året for å få luftgjennomstrømning til Power delen.

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Mobiltelefonsender MOBIL10

Mattespill Nybegynner Python PDF

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Arduino bilen er en selvgående liten robot. Roboten består av:

Teknisk rapport for prototype «BOWMASTER»

oppgavesett 4 INF1060 H16 Hans Petter Taugbøl Kragset Øystein Dale Christian Resell 27. september 2016 Institutt for informatikk, UiO

140 RYGGEKAMERA. Ryggekamerasett. Ryggekamerasett. Ryggekamerasett. Ryggekamerasett ALFAKODE/VARENR PRODUKTNAVN PAKN PRIS EKS. MVA.

PXT: Hermegåsa. Introduksjon. Skrevet av: Felix Bjerke og Tjerand Silde

EFP Integrert Kablet Komfyrvakt (ICSG-1) Installasjons- og bruksanvisning

PXT: Hermegåsa. Steg 1: Sjekk at du har riktig utstyr. Sjekkliste. Introduksjon

Testrapport. Studentevalueringssystem

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Bruk av interrupt og Timer i Arduino-program.

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Prototyping og kommunikasjon med brukere

Vedlikehold: Batteriene bør skiftes hvert tredje år. Skapet må rengjøres en gang i året for å få luftgjennomstrømning til Power delen.

Oppkobling av RGB lyslist

Transkript:

Teknisk rapport Språkopplæring i norsk for unge voksne Fredrik T. Haugstulen Nina Sophie Justnæs Ina Ek Bjørntvedt Sondre Sandberg Prosjektoppgave i IN1060 Institutt for Informatikk UNIVERSITETET I OSLO 11.06.2018

Innholdsfortegnelse 1. Introduksjon. 2 1.1. Om oss...2 2. Målet med Bordforråd... 2 3. Presentasjon av prosjektvideo.......2 3.1. Link til video.......2 4. Komponenter......3 4.1. Valg av komponenter (og krets).. 4 4.2. Bygging....5 4.3. Utfordringer med komponentene...6 5. Forklaring av kodene...6 5.1. Master Arduino......6 5.2. Slave Arduino... 7 5.3. Link til kodene.....7 6. Hvordan kravene blir nådd..... 8 7. Veien videre.....8 8. Kildeliste og bibliotek.......10 1

1. Introduksjon I denne rapporten presenterer vi den tekniske løsningen i prototypen vår, Bordforråd. Dette innebærer komponentene i samspill, forklaring av koden og en presentasjon av prosjektvideoen. Nedenfor vil vi presentere kravene våre, hvordan disse blir møtt ved hjelp av den tekniske løsningen, samt kort om utfordringer vi har hatt under arbeidet med den tekniske løsningen. 1.1 Om oss Gruppen består av prosjektleder Nina Sophie Justnæs, tekniker Sondre Sandberg, pådriver Ina Ek Bjørntvedt og kontaktperson Fredrik T. Haugstulen. Som nevnt i hovedrapporten er prosjektgruppens navn NEO. Dette er en kombinasjon av navnene til grunnstoffene med atomnummer 10 og 60, Neon og Neodym i periodesystemet, etter prosjektets fagkode IN1060. Her synes vi det er morsomt å påpeke at Neodym blant annet brukes i Speaker - 0.5W (8 Ohm), høyttaleren som skulle brukes i vår løsning. 2. Målet med Bordforråd Problemstilling vår er hvordan kan vi i NEO bidra til å gjøre språkopplæringen i norsk enklere, artigere og mer givende for vår målgruppe?. Målet for prosjektet har vært å svare på problemstillingen på best mulig måte og for å kunne gjøre dette har vi forklart hvordan vi har nådd kravene vi har definert i punkt 6. 3. Presentasjon av prosjektvideo Scenarioet i filmen viser faktiske brukere i interaksjon med den endelige prototypen. I innledningen spurte vi brukerne om å forklare noen ord, deretter spiller brukerne med disse og andre ord, før vi avslutningsvis ber dem forklare de samme ordene igjen og man ser hva de har lært gjennom å spille Bordforråd. Midtveis i filmen presenteres prototypen og alle funksjonene denne har å by på. Først kommer en generell forklaring av hvordan spillet fungerer, for så å vise hva som skjer ved riktig, nesten riktig og feil svar. Etter dette blir funksjonene til knappene hint, forklaring og neste presentert. 3.1 Link til prosjektvideo Her finner du link til prosjektvideoen: https://youtu.be/d0vmt1e9q8g 2

4. Komponenter I tabellen under har vi listet opp hardware som brukes i Bordforråd. Her presenteres navn, antall og et bilde av komponenten. Hvor vi har anskaffet de ulike komponentene står beskrevet over i lyseblått og komponentene følger under. Komponent Antall Bilde Fra Arduino Uno startpakke Arduino Uno 2 Luxorparts LED 3mm 5 Batterikabel 2 Fra SparkFun SparkFun MP3 Player Shield 1 Speaker - 0.5W (8 Ohm) (ikke implementert i løsningen) 2 Fra Kjell & Co Arkadeknapp 33 mm Hvit 3 RFID-leser for Arduino 2 Luxorparts RFID-kort 25-pk. 2 3

Luxorparts Adresserbar RGB LED-list 1 m 1 Strømbryter 250 V / 16 A 2-polet 2 Luxorparts Koblingskabel som kan deles, 40-polet Hann-hunn 1 Micro-SD-kort 2 GB med SD-adapter 1 Batteri 9V 2 4.1 Valg av komponenter Vi valgte å kjøpe det vi kunne av komponenter på Kjell & Co da vi fikk delene med en gang. Arduino startpakken hadde vi allerede kjøpt i begynnelsen av semesteret, så har tatt i bruk en del komponenter fra denne pakken, for eksempel LED pærene og batterikabel. Det vi ikke fikk kjøpt på Kjell & Co anskaffet vi via nettsiden til Sparkfun, her kjøpte vi ett MP3 shield 1 og to høyttalere. Vi valgte å bruke RFID-lesere i vår løsning fordi vi mente at dens funksjoner ville bistå oss best i den tenkte tekniske implementasjonen. RFID er veldig brukervennlig, det ligger mye dokumentasjon på nettet om hvordan det settes opp og hvordan man bruker det. RFID-leserens rekkevidde er lang nok til at den kan lese kortene i gjennom lokket, og vi kunne dermed skjule mye av det tekniske. Vi valgte å bruke MP3 shield fra SparkFun fordi det tidlig ble bestemt at vi ville ha lyd med i vår løsning. MP3 shieldet er et av hovedkomponentene i vår løsning. 1 https://www.sparkfun.com 4

Bildet over viser kretstegning av løsningen laget med nettverktøyet https://www.tinkercad.com/#/. 4.2 Bygging Bordforråd er laget av tynne treplater som vi laserkuttet for å få topp- og bunnplater med en diameter på 28 cm. På topplaten ble det kuttet hull til RDIF-leserne, høyttaleren og knappene. Bordets sider ble kuttet til et mønster som gjorde at veggen ble mer bøyelig og fleksibel, noe som gjorde at vi kunne få den runde formen vi ønsket. På siden er det også kuttet ut et hull til skuffen hvor man kan lagre både kort og bordben. Vi ville at bordbena enkelt skulle tas av og på slik at brettet lettere kunne tilpasses ulikt underlag, og være enklere å frakte med seg dersom man ønsker å spille ute. Ett av kravene vi hadde satt til prototypen var at den enkelt kunne tas med til parken eller sosiale settinger. For å opprettholde dette kravet valgte vi en tynn treplate som materiale slik at Bordforråd skulle bli enklere å bære med seg. Vi testet om den var sterk nok ved å trykke på knappene på topplaten og sjekke at den tålte dette. Vi testet også dette etter at platen var laserkuttet for å se om den var robust nok til normal bruk. Vi limte også inn en akrylplate i hullet på lokket der en av de to RFID-leserne skulle plasseres. Dette gjorde vi for at LED båndet som gir bruker feedback på om ordet hører til en kategori eller ikke, kunne lyse gjennom og være synlig. Knappene og høyttaleren ble limt inn i sine respektive hull. 5

4.3 Utfordringer med komponentene Underveis i prosjektet møtte vi på et par utfordringer med komponentene våre. Frakten fra SparkFun tok mye lengre tid enn vi hadde forventet og da komponentene først ankom, hadde vi problemer med å få MP3 shieldet til å fungere. Vi gikk gjennom flere instruksjonshefter, vidoer og eksempelkoder for identifisere problemet. Det var først helt på slutten av prosjektet at vi fikk låne et AdaFruit MP3-shield at vi fant løsningen i instruksjonene som fulgte med dette. Det viste seg nemlig at microsd-kortet ikke var kompatibelt med shieldet vi opprinnelig hadde. Vi hadde dermed ikke nok tid til å skrive egen kode, og tok avgjørelsen om å bruke eksempelfilen FilePlayer, fordi denne koden allerede hadde alt vi trengte for å spille av MP3 filer fra mikrosd kort på kommando. Det eneste vi ikke fikk til var å koble høyttalerne til MP3 shieldet. Hadde vi hatt mer tid ville vi også koblet opp dette. Løsningen vi gikk for var dermed å bruke en oppladbar høyttaler som var koblet til MP3-shieldet via en AUX kabel. 5. Forklaring av kodene I den endelig løsningen har vi benyttet to Arduino Uno, en Master Arduino og en Slave Arduino, som er seriekoblet. Hovedkoden ligger i Master Arduinoen som sender signal til 2 Slave Arduinoen om hva sistnevnte skal gjøre. I koden blir bibliotekene FastLED, SFEMP3Shield, SdFat og MFRC522 aktivt brukt i koden. 5.1 Master Arduino: I setup() blir pins som blir brukt til LED satt til output og pins brukt til knapper satt til input. LED båndet blir initialisert med antall LED, pin, modell og lysstyrke. Koden består av en rekke if-setninger, arrays og løkker. Kretsen inneholder tre knapper (Hint = D5, Forklaring = D4, Neste = D7). Når hint eller forklaring knappene blir trykket vil koden finne hvor valgt ord ligger i den alfabetiske rekkefølgen i koden, for så å sende dens plass til Slave arduinoen. Neste knappen kaller på funksjonen spin() tre ganger. Denne funksjonen lager en lykkehjul effekt hvor LED blir skrudd av og på i motgående retning av klokka. Deretter blir randomled() kalt som skrur av forrige LED for så å slå den 2 Se referanseliste for kilder til bibliotekene 6

neste på. LED- pærene er koblet til pin A0-A1 og A3-A5. Alle lytterne til knappene ligger i loop(). RFID-leserne deler portene D9, D11-D13, men har hver sine porter for SDA, D8 og D10. Vi valgte dette for å spare antall porter og antall Arduino. Leserne har samme funksjon og sjekker om det er en kategori via en løkke med if-sjekk i koden. Altså har det ikke noe å si hvilken leser man bruker, men at det er IDen på RFID kortene som bestemmer om det er kategori eller ord. Løkken går gjennom en array, som inneholder alle IDene til kategorikortene, og sjekker om lest kort er identisk med en ID i listen. Hvis den ikke er det, vil ID bli satt til et ord. I loop() er det også en funksjon kalt checkanswer (kat, ord) som sjekker om ordet hører til den aktuelle kategori eller ikke. Da kjøres først en if-sjekk for å finne hvilken kategori som er valgt, deretter vil en løkke gå igjennom en array som inneholder ord som tilhører denne kategorien. Hvis ordet finnes i denne arrayen vil det lyse grønt. Hvis den ikke finnes i den arrayen vil den sjekke en annen array som inneholder ord som hører til andre kategorier, men som også kunne tilhørt denne kategorien. Hvis ordet er i denne arrayen vil det lyse gult. Hvis ikke ordet er funnet vil LED båndet lyse rødt. Ved bruk av FastLED biblioteket trenger vi kun å skrive GREEN, YELLOW eller RED for å få sette fargen på hver LED i båndet. LEDlenken er koblet til port D6. 5.2 Slave Arduino(MP3): MP3 shieldet er koblet til Arduino Uno i portene D2-D4, D6-D9, D11-D13, 5V og GND. Vi tok valget om å bruke eksempelkoden FilePlayer fra SFEMP3Shield bibloteket fordi den innehold alle funksjoner vi hadde behov for. Arduinoene er seriekoblet og Master Arduinoen sender en int til Slave Arduinoen som den bruker for å finne riktig lydfil. Vi brukte et 2GB mikrosd kort som lagringsplass da dette var nok til lydfilene våre, samt at det var kompatibelt med MP3 shieldet. 5.3 Link til kodene vi har brukt Master Arduino: http://alturl.com/639z4 Slave Arduino(MP3): http://alturl.com/nzvfk 7

6. Hvordan kravene blir nådd Flere av kravene vi har satt til prototypen er avhengige av hverandre. Nedenfor har vi valgt å koble de som henger mest sammen med hverandre, enten om det gjelder kravene eller måten kravene er blitt nådd. Funksjonelle krav Ikke- funksjonelle krav Hvordan kravene blir nådd Prototypen skal tilrettelegge for samarbeid Prototypen skal fungere i en gruppesetting Prototypen skal kunne gjøre det mulig for to til fem personer å spille samtidig Det er fem LED- pærer, disse representerer hver spiller og alle kan spille samtidig. Prototypen skal være brukervennlig Prototypen skal la brukerne interagere med flere sanser Prototypen skal gi brukerne feedback Prototypen skal være portabel Prototypen skal ha responstid på max 10 sekunder Prototypen skal gi brukerne feedback i form av lys som er mulig å se i dagslys Prototypen skal gi brukerne feedback via lyd Prototypen skal ikke veie mer enn 5kg Prototypen skal bruke batteri som strømkilde Det finnes to forskjellige delayer i koden, 5 sek og 2 sek. Disse vil dermed aldri overstige 10 sek uten å gi feedback. Når både LED- pærer og LEDlist er på maks styrke, lyser med en styrke på ca 30mcd. Dette fikk vi også bekreftet på 3 summativ evaluering. Det vil spilles av lydfil ~0.1ms etter at knappene Hint og Forklaring blir trykket. Prototypen veier 2.5 kg Prototypen bruker 2x 9V batteri som sin strømkilde 7. Veien videre Hvis vi hadde hatt et halvår til på prosjektet ville vi lagt til en rekke funksjoner i prototypen. Dette er funksjoner vi i prosjektgruppen har snakket om at vi ønsket å ha med, men kastet grunnet tidsbegrensninger. Vi snakket lenge om å ha med flere morsomme tilbakemeldinger som ville blitt spilt av når brukeren svarer nesten riktig og LED lenken dermed lyser gult. Et eksempel på dette kunne vært du ønsker ikke å være bakfull når du skal ha helgekos?. Brukerne har også nevnt for oss at de ønsket flere hint per ord, og at hintene og forklaringene skulle komme opp på en LCD skjerm slik at de kunne lese ordene. 3 Se Prosjektrapport, del 9 Summativ evaluering 8

De nevnte også at det kanskje hadde vært en idè å lage flere kategorier med tilhørende kort da det er relativt fort gjort å bli ferdig med spillet slik det er nå. Andre funksjoner vi har snakket om er muntlig og visuell feedback når du har funnet alle kortene i en kategori, en morsom lyd når lykkehjulet spinnes samt poeng for antall riktige ord. Det siste vi tenkte på var å ha en mulighet for at brukerne fikk si hvor mange spillere som var med, og tilpasse spillet til det. 9

8. Kildeliste og bibliotek FastLED: https://github.com/fastled/fastled ( D.Garcia, v3.1.6, 06.05.18) MFRC522: https://github.com/miguelbalboa/rfid ( GitHubCommunity, v1.4.0, 12.04.18 ) SdFat: https://github.com/greiman/sdfat ( B.Greiman, v1.0.1, 12.04.18) SFEMP3Shield: https://bit.ly/2hcw16a ( B.Porter, M.Flaga, ddz, W.Brainerd, v1.02.15, 12.04.18) 10