Optimering af fraværsregistrering

Størrelse: px
Starte visningen fra side:

Download "Optimering af fraværsregistrering"

Transkript

1 Rapport Optimering af fraværsregistrering Eksamensprojekt i Informationsteknologi B, klasse 3.4, 2011 AFLEVERET

2 Indhold Forord... 2 Indledende afsnit... 3 Problemanalyse... 3 Problemformulering... 3 Målgruppe... 4 Løsningsforslag... 4 Diskussion af valg af løsning... 4 Teori... 5 RFID... 5 Arduino... 6 Arduino s Programmeringssprog... 6 Produktet... 8 Design... 8 Hardware Softwaren Test Diskussion Konklusion Bilag Bilag 1 Produktkode, inklusiv kommentarer (software) Bilag 2 Arduino og RFID-system (hardware)

3 Forord Denne rapport præsenterer og dokumenterer det endelige produkt, samt dets udvikling, der er produceret i sammenhæng med eksamensprojektet i Programmering C og Informationsteknologi B 2014 af. På trods af, at to fag indgår i projektet, så er denne rapport udelukkende tiltænkt som besvarelse af opgaven i forhold til Informationsteknologi B, mens en separat journal dokumenterer arbejdet i forhold i til Programmering C. Rapporten indeholder en række indledende afsnit, samt teori og dokumentation af produktet. I de indledende afsnit gives der et indblik i en problemstilling, hvor produktet er en potentil løsning; i teorien bliver der formidlet den vigtigste viden, der er benyttet i sammenhæng med produktudviklingen; og dokumentationsafsnittet beskrives det endelige produkt fra top til tå. Produktet, udviklet i projektet, benytter hovedsageligt Arduino og RFID-systemer, der også bliver arbejdet med i sammenhæng med den almindelige undervisning i de to indgående fag. Min inspiration til at arbejde med lige præcis denne software og disse komponenter oprinder fra, at jeg tidligere har arbejdet med det, og at jeg mener det er en intuitiv og interessant måde at kode på. Projektet er bygget op omkring mit ønske om, at udvikle et produkt, som indbringer netop disse ting Jeg ønsker at takke mine vejledere i dette projektforløb, Karl G Bjarnason (IT B) og Mette Frost Nielsen (Pro C), som har ydet faglig hjælp, når der har været brug for det. 2

4 Indledende afsnit I dette kapitel bliver der gjort rede for den analyse og de indledende overvejelser, der fungerer som udgangspunktet i udviklingen af produktet. Kapitlet er hovedsageligt tiltænkt som supplerende overvejeler til produktet, i forhold til i hvilket scenarie det kan bruges og eventuelt implementeres. Problemanalyse På Roskilde Tekniske Gymnasium registreres der personfravær for elever vha. det online website Lectio. Et system, der påkræver, at der på gammeldagsvis bliver ført protokol af læreren for hvert modul. Dette betyder, at der hvert modul bliver brugt undervisningstid på at registrere elevernes fravær. Systemet er ikke karakteristisk for RTG, da det er udbredt og brugt næsten blandt alle gymnasier i landet. I mange fag, sidder eleverne ofte og arbejder andre steder end i undervisningslokalet i grupperum og på gangene. Hvis eleverne er klar over, at de skal fortsætte et projekt, mødes man ofte kun i lokalet for at blive registreret som tilstedeværende, hvorefter man fordeler sig i grupperum og på gangene. Dette er en tendens, der er begyndt at blive særdeles udbredt blandt flere gymnasier - hovedsageligt på tekniske gymnasier (grundet deres fokus på projekter og gruppearbejde). En øget tendens i at søge væk til andre opholdssteder end klasselokalet, for at lave gruppearbejde, vil resultere i et øget omfang af problemet omhandlende fraværsregistrering. Ud over det centrale problem, er der enkelte faktorer, der gør fraværsregistrering via lectio til et uhensigtsmæssigt system. Her indgår registrering af elever, der kommer for sent til undervisning. Problemet heri ligger, at efter læreren har ført den oprindelige protokol, skal han / hun nu have fat i sin computer for at logge ind på lectio igen, således fraværsregistreringen kan blive gennemført. Samtidigt skal læreren vurdere betydningen af elevens fravær, og angive et passende procentdel af timen eleven ikke har været tilstedeværende i. Problemformulering Som opsummering og specificering af overvejelserne og analysen formidles en skarp og præcis problemformulering: Elevers tendens til arbejde i andre rum end klasselokalet, grundet det manuelle arbejde der ligger fraværsregisteringen, gør det registreringen, vha. Lectio, til et uhensigtsmæssigt system. 3

5 Målgruppe Det er skolens lærer, der står for klassernes fraværsregistrering, og det er deres system jeg ønsker at ændre. Dog forventer jeg, at min løsning skal øge automatiseringen af fraværsregistreringen, og i en vis grad udelukke lærerne fra systemet. Derimod vil jeg eventuelt inddrage eleverne i højere grad. Min målgruppe er derfor både lærere og elever, dog med fokus på lærerne. Løsningsforslag Som et udgangspunkt for problemløsningen har jeg overvejet og redegjort for 3 forskellige løsningsforslag: 1. Personligt Elev-ID Første forslag, er et system, der er inspireret af DSB s Rejsekort -system. Elever på skolen får, eventuelt i sammenhæng med studiekort, et personligt ID, som de kan scanne, når de ankommer til modulet. Når eleven afslutter (eller er nødt til at gå fra) modulet, scanner han / hun sit ID igen, og fraværet bliver angivet derefter. Hvert lokale kan eventuelt udstyres med en scanner, eller den pågældende lærer kan bære en scanner, så eleverne skal opsøge læren for at blive registreret. 2. GPS Andet forslag, er et system, hvor eleverne vil blive udstyret med en tracker. Når eleven er på skolen og gerne vil blive registreret som tilstedeværende, aktiverer de trackeren, således systemet kan godkende deres placering. Bliver eleven væk fra undervisningen vil han / hun derfor blive registreret som fraværende. 3. Netværksregistrering Det tredje forslag inddrager en manuel registrering af eleverne selv, som ed at logge på et website produceret af skolen, kan eleverne gå ind og registrere sig som ankommet til undervisningen. Ved hjælp af et system på serveren, vil elevens placering blive vurderet i forhold til undervisningslokalet, via elevens computer. Eleven vil derefter blive registreret som ankommet eller fraværende. Diskussion af valg af løsning Der ligger visse etiske problemer i at bruge en GPS system, som kan spore eleverne også selvom de selv kan styre, hvornår den skal være tændt og ikke skal. På trods af løsningens funktionalitet, gør det systemet til en problematisk løsning. Men at inddrage eleverne til selv at skal være aktive i deres egen fraværsregistrering, virker som en god idé. På den måde får de selv en ansvar for deres eget fravær, og læreren skal ikke bruge tid på at registrere de enkelte elever. 4

6 Den tredje løsning, netværksregistrering, skaber, ligesom løsning 2, visse etiske problematikker i forhold til overvågning. Skolen indsamler information fra elevens computer og benytter dem til at vurdere, om de nu også overholder reglerne. Samtidigt, så er det ikke praktisk at være tvunget til at alle skal tænde deres computere, hver gang de skal registreres. Og hvad sker der, hvis internettet ryger? Jeg vælger derfor at arbejde videre med den første af de træ løsningsmuligheder: det personlige elev-id. Denne løsning kan være praktisk, i form af et kort (eventuelt elevens studiekort), og kræver nødvendigvis ikke indgreb fra lærerne. Teori I dette kapitel redegøres der for centrale og vigtigste teori, der er benyttet i sammenhæng med udviklingen af produktet. RFID I mit fremtidige produkt ønsker jeg at benytte et system, som kan transportere data mellem to objekter (elevens ID og en læser). Til dette benytter jeg et kendt og velegnet system kaldet radio frequency identification, eller bedre kendt som RFID, der dækker over alle teknologier, der anvender radiobølger til at identificere objekter. Dette system er praktisk, grundet dets evne til at kunne identificere forskellige objekter og differentiere mellem deres unikke ID. En variation af RFID-tags (kort og nøgleringe). De spiller alle samme formål, og har samme længde ID. I et RFID-system bruges der, overordnet set, to objekter: et RFID-tag og en RFID-læser. Et tag er et objekt med en indbygget hukommelse (det kan eksempelvis være et kort eller en lille chip), hvis information kan aflæses af en RFID-læser. Er læseren f.eks. tilkoblet en server af data, behøver tagget nødvendigvis ikke indeholde andet end et enkelt ID-nummer (også kaldet EPC-nummer), som er forbundet til en specifik række data på denne server. Et sådan RFID-tag kan derfor være meget lille, da det ikke skal lagre information, bortset fra et enkelt ID-nummer. Der skelnes mellem aktive og passive RFID-tags. Forskellen på de to er taggets evne til at kommunikere med en vilkårlig læser. Det passive RFID-tag reflekterer et signal sendt af læseren tilbage til læseren, hvorimod det aktive tag er tilkoblet en energikilde (det kan 5

7 være et batteri) og det kan derfor selv sende et signal til læseren. Dette gør at læseren kan spore aktivt RFID-tagget på afstande op til ca. 100m, hvorimod et passivt tag kun kan læses på meget kort afstand. Arduino Arduino er et open-source værktøj til databehandling af data fra den fysiske verden via et fysisk platform, der baseret på en standard microcontroller. Det fysiske værktøj suppleres, og kan programmeres, med det tilhørende Arduino IDE -software. Denne software er gratis og bruges til alle typer Arduino-boards. Arduino en, kodet via softwaren, kan bruges som selvstændige værktøjer, men også bruges være koblet til et større serversystem og/eller kommunikere software på en computer. Værktøjet kan, som nævnt, bruges til databehandling fra den fysiske verden ved at være tilkoblet forskellige kontakter og sensorer. Derudover kan værktøjet sende output-signaler til, og derved manipulerer, lys og andre fysiske objekter. Arduino-softwarens programmeringssprog er det samme som, den der bruges af den lignende open-sourcesoftware og microcontroller Wiring. Derudover kan programmeringssproget udvides med C++ biblioteker. Hvorfor det er valgt som værktøj Arduino blev valgt som værktøj, eftersom jeg selv har arbejdet med de før i anledningen af andre projekter, og uden for undervisningen i IT og Programmering. Derudover er sproget let at arbejde med, og det er nemt at søge hjælp omkring det, da både Arduino selv og andre brugere udgiver guides og yder forum hjælp. Derudover ved jeg, at Arduino en let kan arbejde sammen med en RFID-læser, som er det centrale for projektet, og vi har i en kort periode arbejdet med netop sådan et system. Arduino s Programmeringssprog Som tidligere nævnt, så inddrager Arduino s IDE-software det samme programmeringssprog, der er brugt til den lignende Wire-platform. Der vil her blive uddybet, hvordan de vigtigste elementer i dette programmeringssprog fungerer. Void-Setup og Void-Loop Overordnet set er det to rammer for et program skrevet i IDE-softwaren. Den første ramme er void-setup. Dette er en række funktioner, som kun køres en enkelt gang, når programmet startes. Heri starter man ting som f.eks. aflæsning af sensorer og indledende beskeder. Den anden ramme er void-loopet, som gentages indtil programmet stoppes. Det er heri befinder den centrale del af koden sig, og man kan derfor sige at sproget er opbygget af en gentagende kode. 6

8 Void setup(){ >kode< Void loop(){ >kode< Serial.print Dette er en funktion, som skriver et stykke tekst til det, der på Arduino en kaldes for Serial -porten. Ved at bruge IDE-softwarens Serial-overvågningsfunktion kan man aflæse, dét som porten opfanger, og derved den tekst man har printet. Dette er en måde, hvorpå man kan formidle en tekst ud fra Arduino ens kode. Variabler Bruger man variabler i IDE-softwaren, skal de påkaldes inden de bruges og uden for nogen af de to rammer (void-setup og void-loop). Variabler gives, ligesom i andre sprog, en type og kan gives en værdi: int i = 20 string s = Hej string st void setup If-statement En if-statement tjekker om en et givent udsagn er sandt, og i så fald vil det gennemføre en række funktioner angivet af programmøren: if(x > 1){ >kode< While-løkke En while-løkke vil gentage det tildelte stykke kode, så længe den angivet betingelse er sand eksempel på dette: while(x <= 10){ x += 1 7

9 Denne løkke vil gentage sig selv 10 gange, hvorefter den betingelsen ellers ikke vil være sand. Resten af programmets kode fortsættes ikke før, denne while-løkke bliver lukket ved at betingelsen ikke længere er sand. For-løkke En for-løkke vil gentage et stykke et stykke kode et givent antal gange. Dette gøres ved bruge en variabel, som bliver en start værdi, som enten falder eller stiger for hvert gentagelse. Løkken vil gentage sig indtil denne variabel ikke længere møder den indstillede betingelse. for(int i=0; i<5; i++){ Serial.println((int)i); I denne løkke bliver der erklæret en integer-variabel i, der er stigende, og løkken vil gentage sig indtil i = 5. For hver gentagelse vil den printe værdien af i i Serial-porten. Produktet Dette kapitel er hovedsageligt en dokumentation af produktet og dets funktioner, samt uddybelse af de vigtigste kodeelementer der ligger bag. Derudover vil der blive udført dokumenteret og beskrevet enkelte tests. Design Produktet er bestående af et fysisk RFID-system forbundet til en Arduino-Uno, hvori der er lagret en virtuel kode (det reelle programmeringsprodukt). Ved at forbinde Arduino en til en computer, kan databehandling formidles i tekst via Arduino-softwarens SerialRead funktion. Den fysiske hardware vil ikke uddybes i denne journal, men en illustration af opsætningen er vedlagt i Bilag 2 Arduino og RFID-system (hardware). Programmet starter et loop der gentages et vilkårligt antal gange i sekundet (kan justeres og er i sammenhæng med journalen sat til 4 gange / sekundet), indtil der er gået 20 sekunder. De 20 sekunder skal imitere et skole forløb, hvor der starter en 10 sekunders undervisning efter 10 sekunder. Efter de 20 sekunder er gået vil programmet stoppe. Ved at benytte fysiske RFID-tags kan man integrere med programmet via RFID-læseren, der er tilkoblet Arduino en. Programmet vil registrere hvert unikt tag som enkelte elever og justere elevernes fravær alt efter tidspunktet i forløbet de bliver registreret. Efter de 20 sekunder vil en oversigt over alle elevers fravær blive fremvist. 8

10 Flowdiagram For at skabe et overblik over produktets funktion er der herunder illustreret et flowdiagram, der forklarer, hvordan programmet arbejder i forhold til hvilke ting det evaluerer og hvilke handlinger det tager på baggrund af de evalueringer. 9

11 Hardware Inden udviklingen af programmet blev påbegyndt, skulle der sammensættes et fysisk hardwarekomponent, som ville være stand til at aflæse RFID-tags og videregive den indsamlede information til Arduino en. Komponenterne - Arduino (Uno) - RFID læser (chip inklusiv) model / producent er ukendt - Fumlebræt - Ledninger, 3 stk Disse komponenter sammensættes som illustreret på billedet herunder (se Bilag 2 Arduino og RFID-system (hardware) for større og flere billeder): Anses den øverste pin på chippen (der hvor den røde ledning sidder) som Pin5, skal chippen og Arduino en forbindes på følgende måde: - Pin 5 -> 5V - Pin 4 -> Ground (Gnd) - Pin 3 - Pin 2 - Pin 1 -> Digital Pin 2 (denne pin kan ændres, hvis den ændres i koden også) 10

12 Til pin 5 & 4 tilsættes den nødvendige strømkilde, som i dette tilfælde er Arduino en selv, og pin 1 bruges til overførsel af dataene opsamlet af RFID-læseren. Hvordan systemet sammensættes er inspireret af internetguide: som tidligere er brugt i undervisningen til netop at opstille et RFID system. Softwaren Softwaren virker som den centrale del af produktet, og vil udføre databehandlingen på de data, som RFID-læseren opfanger. I dette afsnit beskrives de vigtigste elementer i programmet, og dett færdige program, der bruges i det endelige produkt, kan findes i bilaget. Variabler I programmet bliver der brugt en række variabler, og for at give et overblik over de vigtigste er de beskrevet herunder i tabellen herunder i forhold til type, navn og deres funktion. Type Navn Funktion string msg Midlertidig lager til tag-id char c Midlertidig lager til enkelte tegn af tag-id string elever Permanent lager til tag-id string ankommet Lager til elever der er tilstede i undervisningen Float counter1 Lagrer tiden integer counter2 Bruges til at holde styr på, hvornår der er gået ét sekund float (array [10] ) attendance Lagring af de enkelte elevers tilstedeværelse integer elevantal Antallet af elever, registreret i systemet Biblioteket For at Arduino en skal kunne aflæse de signaler, som RFID-læseren opfanger, benyttes de digitale porte. Portene kan kun sættes i gang ved at inddrage biblioteket SoftwareSerial. Med dette bibliotek kan der tildeles et navn, og derved en identifikation, til en indgangsport (RX) samt en udgangsport (TX) med følgende kode: #include <SoftwareSerial.h> SoftwareSerial RFID = SoftwareSerial(2, 3); 11

13 Portene bliver tildelt navnet RFID, og vi benytter port 2 som indgangsport og port 3 som udgangsport. Aflæsningen af portene igangsættes på samme måde som serial-porten i void setup, hvor det tildelte navn benyttes i stedet: void setup(){ Serial.begin(9600); RFID.begin(9600); Ved at sætte RFID-læseren til denne indgangsporten kan Arduino en opfange det modtaget data og bearbejde det. Tiden Programmet er bestående af to dele: et void setup, hvori portene igangsættes, og et void loop, hvori den aktive del af programmet er. Denne overordnede void-løkke er tildelt en justérbar forsinkelse, således man kan ændrer på antallet af gentagelser løkken skal tage hvert sekund. #define hastighed x delay(1000 / hastighed) Uden for både void-setup og void-loop defineres en værdi x som hastighed. Under kodens kompilering vil alle de steder, der står hastighed blive udskiftet med denne værdi. Således opnås den justérbare frekvensfunktion. En tæller, i form af en float-variabel, holder styr på, hvor lang tid der er gået. En separat integer -tæller holder styr på, hver gang der er gået et sekund således det kan formidles i serial-overvågningen. counter1 += 1.0 counter2 += 1; if(counter2 == hastighed && counter1 <= 20){ Serial.println("Tid: "+String((int)counter1)); counter2=0; Kortet opfanges For at registrere kortet, benyttes en while-løkke og den digitale port RFID. I forhold til programmet, bruges RFID.available() i løkkens betingelse, der giver et tal, hvis dét, der er sat til porten opfanger noget data. Dataene opfanges i et enkelt tegn ad gangen, indtil al informationen er blevet aflæst (da vil betingelsen ikke længere være sand). De enkelte 12

14 tegn kan aflæses vha. funktionen RFID.read() og lagres i en char variabel, hvorefter det hele stykkes sammen i én tekst variabel og beskriver det pågældende tag-id. Dette gøres med følgende kode: while(rfid.available() >0){ c = RFID.read(); msg += c; Tjekker og registrerer tag-id For at holde styr på alle registrerede tags samles de i en string variabel. Der bruges her en if-statement for at sikre, at det samme tag ikke bliver registreret to gange: if(elever.indexof(msg) >=0){ else{ elever += msg; Først tjekkes der, om det læste tag-id er en del af de allerede-registrerede ved at bruge.indexof( )-funktionen, der sammenligner teksten i parentesen med teksten i funktionens variabel. Hvis ikke det pågældende tag-id er en del af de registrerede ID, så tilføjer programmet det i den efterfølgende else-statement. Ankommet eller gået Som beskrevet i det tidligere flowdiagram, så skal programmet nu evaluere, hvorvidt eleven er på vej ind eller ud af undervisningen, og hvorvidt eleven kommer for sent eller går for tidligt. Dette opnås ved at bruge en overordnet if-statement samt flere sub-statements. En if-statement sammenligner det gældende tag-id med listen over de ID, som er tilstede i undervisningen (string-variablen ankommet ) ved igen at bruge.indexof()-funktionen. if(ankommet.indexof(msg) >=0){ Er eleven allerede tilstede (det gældende tag-id er en del af variable ankommet ), skal elevens ID fjernes fra variablen. Dette gøres ved at lokalisere positionen af det pågældende ID i variablen, og skære de to bider af variablen omkring ID et væk, for at sætte dem sammen igen. Derved fås den samme variabel uden det gældende ID. Hertil gøres der brug af, at de det bruge tags har et ID på 13 tegn. 13

15 int pos=ankommet.indexof(msg); msg=""; msg += ankommet.substring(0,pos); msg += ankommet.substring(pos+12,ankommet.length()); ankommet=""; ankommet += msg; Dette fjerner eleven fra databasen over ankommet elever. Herefter skal programmet vurdere, hvorvidt eleven forlader lokalet før undervisningen er slut. Dette gøres ved at gøre brug af en simpel if-statement samt programmets tidstæller: if(ankommet.indexof(msg) >=0){ int pos=ankommet.indexof(msg); msg=""; msg += ankommet.substring(0,pos); msg += ankommet.substring(pos+12,ankommet.length()); ankommet=""; ankommet += msg; if(counter1<20 && counter1 > 10) Serial.println("Elev "+String(elevnummer)+" er gaaet foer tid"); //Vurderer om eleven går for tidligt else Serial.println("Elev "+String(elevnummer)+" er gaaet"); Er eleven ikke ankommet til undervisningen vil betingelsen i den overordnede if-statement være falsk, og den fortsætter derfor til en else-statement. Her skal eleven tilføjes til ankommet -variablen, og programmet skal vurdere, vha. af en if-statement, hvorvidt eleven kommer til tiden eller for sent. else{ if(counter1 < 20){ ankommet += msg; if(counter1>10) Serial.println("Eleven er ankommet for sent"); else Serial.println("Elev er ankommet"); else Serial.println("Timen er slut - eleven er ikke blevet registreret"); Hvis timen er slut, er der ingen grund til at eleven bliver registreret i det permanente system, og eleven bliver derfor ignoreret. 14

16 Fraværsregistreringen Programmet bearbejder alle elevers fravær, hver gang det overordnede void loop gentages. Dette gøres ved at tildele alle elever i string -variablen ankommet et antal sekunders tilstedeværelse, afhængigt af frekvensen på løkken. Ved at identificere hvert tag (eller hver elev) med et nummer, kan de tildeles separat og personligt tilstedeværelse ved at gøre bruge af en float-variabel med et array. Elevnumrene virker som et indeksnummer i denne variabel, således man kan få adgang til den enkelte elevs tilstedeværelse. float var[4]; var[0] = 1; var[1] = 2; var[3] = 5; Elevnumrene kan produceres ud fra string-variablen, der indeholde listen over alle registrerede elever. Da hvert ID består af 13 tegn, kan der for hvert 13. tegn udledes et nummer, som er nummeret til det pågældende ID: string s; int elevnummer = 0; s = elever.substring(elevnummer*12, (elevnummer+1)*12); Svarer elevnummer 0 til 1, så vil dette udlede det første ID i listen over elever. Ved at øge int-variablen (altså elevnummeret) kan man finde et ID til en vilkårlig elev. Ved at bruge denne model og en array variabel sammen med for-løkke kan man opbygge en funktion, der kan vurdere elevernes tilstedeværelse. Benytter vi en float-variabel ved navn attendance kan den samlede kode for registrering af tilstedeværelse for eleverne beskrives ved hjælp af dette: if(counter1 >= 10.0 && counter1 < 20.0){ for(int i=0; i<=(elevantal-1); i++){ s = elever.substring(i*12, (i+1)*12); if( ankommet.indexof(s) >= 0){ attendance[i] += 0.25; Optælling af tilstedeværelse (for-løkke) 15

17 For hver gentagelse af den overordnede void-løkke, tjekkes tiden, og hvorvidt undervisningen er slut. Er undervisningen slut (der er gået 20 sekunder) stoppes tælleren ved at være styret af if-statements, og oversigten over fravær formidles via Serial.print() og en for-løkke. if(counter1==20){ Serial.println("Undervisningen er slut"); Serial.println(""); Serial.println("Oversigt over fremmoede for alle elever:"); for(int i=0; i<=(elevantal-1); i++){ Serial.println("Elev "+String(i+1)+ ": "+String((int)(attendance[i]*10.0))+"%"); Test Både under og efter udviklingen, er produktet blevet testet vha. forskellige metoder. Hvordan disse tests er blevet udført, samt deres formål, er beskrevet herunder. Under udviklingen I sammenhæng med udviklingen af produktet blev der udført adskillige tests, som skulle sikre, at produktet blev udviklet i den ønskede retning. Dette indebar at programmet løbende blev kompileret og overført til Arduino en for at blive testet, inden udviklingen fortsatte til næste stadie. Disse tests sikrer at programmets enkelte dele fungerer fejlfrit, således der ikke opstår større fejl i programmets helhed og at de i så fald let kan lokalisere og rettes. Arduino-softwaren kan lokalisere syntaksfejl i programmet under kompileringen, men for at lokalisere logic-errors benyttes softwarens Serial.print() samt Serial-overvågning. Ved at programmet informere vha. en tekstbesked at en vis handling er udført, kan der let holdes styr på, hvilke dele af programmet, der fungerer og hvor eventuelle fejl befinder sig. Denne testmetode blev f.eks brugt til udviklingen af den if-statement, der skal fjerne et pågældende tag fra listen over ankommet elever. 16

18 Denne funktion (Serial.println(ankommet);) printer listen over de resterende tag-id efter det pågældende ID er blevet fjernet, så det kan vurderes om det er blevet fjernet rigtigt. Test af det færdige produkt Det endelige produkt er blevet testet ved at køre en Serial-overvågning af programmet mens det kører og bliver brugt. Et eksempel på overvågningen af sådan en test kan ses til højre, hvor 3 elever løbende bliver registreret i systemet. Testen viser at eleverne bliver registreret korrekt, og at de bliver tildelt den rigtige status på baggrund af deres daværende status, når de registreres. Denne test givet et eksempel af det færdige produkt uden nogen former for test-print brugt af programmøren. Ændre på hastigheden Frekvensen af void-loopet kan justeres, hvilket er implementeret, da det har betydning for, hvor ofte der tjekkes, om et forsøger at blive læst. Der udføres tests ved at ændre på hastigheden: - I eksemplet programmets totale forløb er void-loopet sat til at gentage sig selv 2 gange i sekundet. Der ses her, at elev 1, efter 18 sekunder, forlader undervisningen for at ankomme igen med det samme. 17

19 - I denne test sættes frekvensen til 4 gentagelser i sekundet. Dette giver samme resultat som den forrige, dog forværres problemet. - Sættes frekvensen til én gentagelse i sekundet, opstår samme problem på trods af, at kortet fjernes inden den bør læses igen. Denne test med at justere hastigheden giver et indblik i, at produktet blot er en prototype. På baggrund af resultaterne, tyder det på, at produktet denne ikke umiddelbart skyldes variationen i hastigheden, men snarer en anden fejl i programmet. Diskussion Dette udviklede produkt er blot en prototype af en del at et større koncept, der kan løse den stillede problemformulering. Grundet dette, har produktet visse mangler, der gør at det ikke umiddelbart er en funktionel løsning. Det kan dog stadig overvejes, hvilke ting, der kan forbedres på produktet og hvilke ting der skal til for netop at gøre det til en funktionel løsning. Produktet er tiltænkt et større system, hvor der skal placeres læsere i adskillige lokaler, som sender data til skolens Lectio, hvor den nuværende fraværsregistrering foregår. Men det fysiske produkt kommunikerer den indsamlede og behandlede data med forbrugeren i gennem IDE-softwaren, hvilket gør at Arduino en er nødt til at være forbundet direkte til en computer. Produktet er derfor ikke særlig praktisk, og der gøres ikke fuld brug af Arduino ens funktioner. En måde at optimere dette på ville være at tilføre Arduino en en mobil strømkilde samt en, eventuelt trådløs, forbindelse til en større database. Dette vil give mulighed for at produktet netop kan videresende de bearbejdede data direkte til skolens Lectio og justere elevfraværet. Samtidigt kan der hentes information omkring modulerne fra Lectio, således programmet kan tilpasse tider og evaluere, hvorvidt eleverne kommer for sent til et modul eller ej. Her viser produktet derimod, hvordan dataene kan bearbejdes på en hensigtsmæssigmåde, og hvordan en lagring og brug af forskellige ID kan udføres. 18

20 På trods af adskillige overvejelser af forskellige mulige scenarier, der kan opstå i sammenhæng med systemet, er der enkelte mangler. Mest åbenlyst er det et problem, at når undervisningen er slut, så er det ikke påkrævet, at man registrerer sig igen. Dette betyder, at man kan registrere sig som ankommet til tiden og forlade lokalet uden at komme tilbage og man bliver vurderet som at være tilstedeværende i hele modulet. Manglet blev først opdaget efter at produktet blev erklæret færdigt, og det blev derfor ikke rettet. Hvis det skulle rettes, ville det kunne gøres ved at forlænge den til programmet er funktionelt i, og indføre en periode efter timens afslutning, hvori elever skulle være registreret ud. Ved hjælp af en if-statement kan tiden vurderes, og en anden ifstatement kan tjekke om eleverne er en del af ankommet string-variablen, og ud fra dét vurdere om de har registreret sig ud. Som dokumenteret i test-afsnittet, blev der fundet få problemer og fejl i programmet, der hovedsageligt bestod af problemer i aflæsningen af tag-id. Hvorfor fejlen opstår er usikkert, men det antages at det stammer fra læseren, som opfanger kortet som nyt inden man når at fjerne det. Dette er dog ikke sikkert, da problemet fortsatte efter at sætte frekvensen af loopet op. Hvordan dette problem kan løses er uklart, men formodentlig kan man, ved at indsætte en pause for det pågældende ID efter registrering, forhindre kortet i at blive læst igen. Eksempelvis kan det gøres ved at forhindre kort placeret i en string-variabel i at blive læst vha. en if-statement. Kortet kan efter at blive læst første gange indsættes i denne variabel, og efter få sekunder fjernes fra den igen. Ser man bort fra denne fejl i programmet, så antages det for at være stabilt og fejlfrit. Kompileringen forekommer uden problemer og programmer udfører opgaverne således de er tiltænkt. Da programmet kun forventes at være funktionelt i en kort periode (20 sekunder), er det uvist, hvorvidt der vil forekomme run time errors, hvis det f.eks. skulle køre en hel dag i træk. På trods af, at programmet umiddelbart er fejlfrit, er det muligt, og forventet, er det kan optimeres i forhold til længde, og derved størrelse og hastighed. Dog vil det kræve yderligere indblik i Arduino s muligheder og funktioner for at kunne udføre en optimering på produktet, hvilket der hverken har været resurser eller viden til. 19

21 Konklusion På trods af at produktet blot er tiltænkt som en tidlig prototype på et potentielt system, formår det at eksemplificere, hvordan sådan et system kan udføres. Her hentydes til adskillige af produktets funktioner, såsom tidsbestemmelse i forhold til moduler samt vurderinger af de enkelte elevers fraværsprocent. Programmet gør brug af en bred variation af både kompliceret og simple programsætninger og funktioner, samt inddragelse af biblioteker. På den måde kommer produktet bredt omkring programmeringsfaget. Da produktet ikke forventes at implementeres på nuværende stadie, er det åbenlyst, at det besidder visse mangler, såsom kommunikation med en online database og en automatisering af undervisningstider. Mange mangler har indflydelse både på produktets funktioner, men også hvor flydende disse funktioner udføres. Dette betyder også, at produktet ikke er vurderet som at værende fejlrit og det kan derfor besidde ukendte run time errors, samt uhensigtsmæssige funktioner og kodeelementer. En implementering af det endelige produkt, som det er tiltænkt, vil overlade ansvarer for de enkelte elevers fravær til dem selv, og derved skabe e mere flydende og mobil registrering af elevernes tilstedeværelse i undervisningen. Havde der været flere resurser i form af tid, såvel som havde de været administreret anderledes, ville det have været muligt at udvikle et mere funktionelt produkt i forhold til at kunne spille sammen med en online database (Lectio). Dette kunne også have resulteret i at flere fejl i programmet ville blive rettet, samt mangler blive tilføjet. Men på trods af dette, så er jeg som elev, tilfreds med resultatet af mit arbejde, og jeg udviklede ikke hverken mere eller mindre end, hvad jeg oprindeligt havde tiltænkt da jeg igangsatte projektet. 20

22 Bilag Bilag 1 Produktkode, inklusiv kommentarer (software) Se vedlagt mappe Programmet, hvori der ligger en.ino-fil. Åben filen vha. af Arduinosoftwaren. Bilag 2 Arduino og RFID-system (hardware) Opsætningen mellem chippen og Arduino er som følgende: Pin 5 -> 5v, Pin 4 -> Ground, Pin 1 -> Digital Pin 2. Billederne stammer fra ( ), og er den samme opstilling som benyttet i dette produkt. 21

Optimering af fraværsregistrering

Optimering af fraværsregistrering Journal Optimering af fraværsregistrering Eksamensprojekt i Programmering C, klasse 3.4, 2011 AFLEVERET 09-05-2014 Indhold Abstract... Fejl! Bogmærke er ikke defineret. Problemformulering... 2 Produktet...

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B Udarbejdet af: Mathias R W Sørensen, klasse 3.4 Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-2012 IT-vejleder: Karl G. Bjarnason

Læs mere

Arduinostyret klimaanlæg Afsluttende projekt programmering C

Arduinostyret klimaanlæg Afsluttende projekt programmering C Arduinostyret klimaanlæg Afsluttende projekt programmering C Udarbejdet af: Mathias R W Sørensen, klasse 3.4 Udleverings-dato: 02-03-2012 Afleverings-dato: 11-05-2012 Programmeringvejleder: Karl G. Bjarnason

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået

Læs mere

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering...

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering... Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering... 3 Kildekoden... 4 Variabler... 4 Setup... 4 Loop... 4 Indledning

Læs mere

Enes Kücükavci Roskilde Tekniske Gymnasium 20 05 2010 Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C

Enes Kücükavci Roskilde Tekniske Gymnasium 20 05 2010 Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C Indhold Indledning(Enes)... 2 Problemstilling (Enes)... 2 Teori (Enes)... 2 Løsningsforslag (Enes)... 4 RFID relæet (Mathias)... 6 Krav (Enes og Mathias)... 8 Målgruppen (Mathias)... 8 Rekvirent... 8 Implementering(Mathias)...

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen

Læs mere

Michael Jokil 11-05-2012

Michael Jokil 11-05-2012 HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...

Læs mere

Arduino kursus lektion 3:

Arduino kursus lektion 3: Arduino kursus lektion 3: I denne lektion skal vi lave få en diode til at fade op og ned! Herefter skal denne diode bruges sammen med en lysføler til at lave en smart lysfølsom diode som selv justere lyset

Læs mere

Klasse 1.4 Michael Jokil 03-05-2010

Klasse 1.4 Michael Jokil 03-05-2010 HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk

Læs mere

Lectio. Introduktion til Lectio Elevmodul. MaCom A/S Vesterbrogade 48, 1. 1620 København V Telefon: 33 79 79 00

Lectio. Introduktion til Lectio Elevmodul. MaCom A/S Vesterbrogade 48, 1. 1620 København V Telefon: 33 79 79 00 Lectio Introduktion til Lectio Elevmodul 1992-2006 MaCom A/S MaCom A/S Vesterbrogade 48, 1. 1620 København V Telefon: 33 79 79 00 Telefax: 33 79 79 84 E-mail: mail@macom.dk Internet: www.macom.dk Baggrund

Læs mere

Af: Safa Sarac Klasse 3.4 Skole: Roskilde Tekniske Gymnasium, HTX Vejleder(e): Karl B Dato: 26. marts 2012

Af: Safa Sarac Klasse 3.4 Skole: Roskilde Tekniske Gymnasium, HTX Vejleder(e): Karl B Dato: 26. marts 2012 Projektbeskrivelse til eksamen i informationsteknologi B og Programmering C - Projektnavn: Privat mailer Af: Safa Sarac Klasse 3.4 Skole: Roskilde Tekniske Gymnasium, HTX Vejleder(e): Karl B Dato: 26.

Læs mere

IT sikkerhed Whitelist

IT sikkerhed Whitelist IT sikkerhed Whitelist IT sikkerhed Whitelist Skrevet af: Anchelika V. Skjødt og Lasse B. Troelsen Kom/IT A Klasse 3.5 Side 1 af 7. Spam facts Spam er et af de største problemer med internettet på nuværende

Læs mere

RF-ID Kompendium. RF-ID & Radio control. Dette kompendium indeholder materiale om RF-ID. Materialet er meget foreløbigt.

RF-ID Kompendium. RF-ID & Radio control. Dette kompendium indeholder materiale om RF-ID. Materialet er meget foreløbigt. Senest redigeret 8. april 2014 RF-ID Kompendium Dette kompendium indeholder materiale om RF-ID Materialet er meget foreløbigt. Derfor modtages rettelser og forslag meget gerne. ------------------------

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se

Læs mere

Cykel Score når chips sætter gang i cyklisterne

Cykel Score når chips sætter gang i cyklisterne Artikel til Vejforum 2011 Cykel Score når chips sætter gang i cyklisterne Civilingeniør Troels Andersen, Fredericia Kommune, troels.andersen@fredericia.dk CykelScore er et helt nyt kampagnekoncept til

Læs mere

Betjening af SmartTID læseren version 2.0

Betjening af SmartTID læseren version 2.0 Betjening af SmartTID læseren version 2.0 SmartTID læseren bruges til at registrere komme og gå tider, men kan også bruges til at registrere pause samt tid på opgaver. Generel anvendelse Al betjening foregår

Læs mere

5/11/2015. Programmering. Hussein Al-Saidi ROSKILDE TEKNINSK GYMNASIE VEJLEDER: CHRISTOFFER S.

5/11/2015. Programmering. Hussein Al-Saidi ROSKILDE TEKNINSK GYMNASIE VEJLEDER: CHRISTOFFER S. 5/11/2015 Hussein Al-Saidi ROSKILDE TEKNINSK GYMNASIE VEJLEDER: CHRISTOFFER S. 1 Contents... 0 Indledning... 3 Analyse... 3 Problemformulering... 3 Målgruppe... 3 Løsningsforslag... 3 Detaljeret beskrivelse

Læs mere

Elevforudsætninger I forløbet indgår aktiviteter, der forudsætter, at eleverne kan læse enkle ord og kan samarbejde i grupper om en fælles opgave.

Elevforudsætninger I forløbet indgår aktiviteter, der forudsætter, at eleverne kan læse enkle ord og kan samarbejde i grupper om en fælles opgave. Undersøgelse af de voksnes job Uddannelse og job; eksemplarisk forløb 0-3.klasse Faktaboks Kompetenceområde: Fra uddannelse til job Kompetencemål: Eleven kan beskrive forskellige uddannelser og job Færdigheds-

Læs mere

Visualiseringsprogram

Visualiseringsprogram Visualiseringsprogram Programmering C - eksamensopgave Rami Kaddoura og Martin Schmidt Klasse: 3.4 Vejleder: Karl Bjarnason Roskilde Tekniske Gymnasium Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-12

Læs mere

Projekt Når maskinen reagerer - Dataopsamling og aktuatorer

Projekt Når maskinen reagerer - Dataopsamling og aktuatorer Projekt Når maskinen reagerer - Dataopsamling og aktuatorer Af Nikki Mitchell og Jacob Thuesen Nikki Mitchell og Jacob Thuesen Side 1 af 20 08-02-2010 Indledning... 3 Formål... 3 Teori... 4 Arduino opgave

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Automatisering Af Hverdagen

Automatisering Af Hverdagen Automatisering Af Hverdagen Programmering - Eksamensopgave 10-05-2011 Roskilde Tekniske Gymnasium (Kl. 3,3m) Mads Christiansen & Tobias Hjelholt Svendsen 2 Automatisering Af Hverdagen Indhold Introduktion:...

Læs mere

EKSEMPEL PÅ ELEVOPGAVE TIL ARBEJDET MED PROGRAMMERING AF ARDUIONO MED LED BÅND

EKSEMPEL PÅ ELEVOPGAVE TIL ARBEJDET MED PROGRAMMERING AF ARDUIONO MED LED BÅND EKSEMPEL PÅ ELEVOPGAVE TIL ARBEJDET MED PROGRAMMERING AF ARDUIONO MED LED BÅND side 1 LED bånd I dette opgavesæt skal du arbejde med et LED bånd og en Arudino. Diagrammet viser LED båndets tilslutningen.

Læs mere

Spil Rapport. Spil lavet i GameMaker. Kevin, Mads og Thor 03-02-2011

Spil Rapport. Spil lavet i GameMaker. Kevin, Mads og Thor 03-02-2011 Spil Rapport Spil lavet i GameMaker Kevin, Mads og Thor 03-02-2011 Indholdsfortegnelse Indledning... 2 HCI... 2 Planlægning / Elementær systemudvikling... 2 Kravspecifikationer... 4 Spil beskrivelse...

Læs mere

Mircobit Kursus Lektion 3 (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.)

Mircobit Kursus Lektion 3   (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) Mircobit Kursus Lektion 3 http://microbit.org/ (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. Man skulle lave et tabel

Læs mere

Overvågningskamera. ~Af Svend, Valdemar og Frederik~

Overvågningskamera. ~Af Svend, Valdemar og Frederik~ Lavet af Svend, Valdemar og Frederik 2.3 HTX - Roskilde Overvågningskamera ~Af Svend, Valdemar og Frederik~ I dette forløb har vi arbejdet med overvågningskameraer. Det handlede om at lære, hvordan et

Læs mere

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0 Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS

Læs mere

IT projekt uge 4 9. Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013

IT projekt uge 4 9. Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013 PHP-Projekt IT projekt uge 4 9 Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge 4 9 2013 4-3-2013 Indholdsfortegnelse Indledende afsnit... 2 Brainstorm... 2 User stories... 2 Problemformulering...

Læs mere

TinkerCad - Arduino simulator

TinkerCad - Arduino simulator TinkerCad - Arduino simulator Dokument fra H.C.Ørsted Gymnasiet, delt i HTX-Strømspassergruppen. ( Lidt modificeret / Valle ) På tinkercad.com kan man både arbejde med 3D emner, men også elektroniske kredsløb.

Læs mere

Kom godt i gang med Fable-robotten

Kom godt i gang med Fable-robotten Kom godt i gang med Fable-robotten 1. Først skal du installere programmet på din computer. Gå ind på shaperobotics.com og under support vælger du download: Her vælger du, under PC App om du kører Windows

Læs mere

Guide til din computer

Guide til din computer Guide til din computer Computerens anatomi forklaret på et nemt niveau Produkt fremstillet af Nicolas Corydon Petersen, & fra Roskilde Tekniske Gymnasium, kommunikation & IT, år 2014 klasse 1.2 12-03-2014.

Læs mere

Komunikation/It C Helena, Katrine og Rikke

Komunikation/It C Helena, Katrine og Rikke HTX Afsluttende projekt E-learning Komunikation/It C Helena, Katrine og Rikke 1.1 01-05-2013 Systemudvikling Indledende aktiviteter Kommunikationsplanlægning for projektet, Laswells fem spørgsmål. o Hvem

Læs mere

Forberedelse. Forberedelse. Forberedelse

Forberedelse. Forberedelse. Forberedelse Formidlingsopgave AT er i høj grad en formidlingsopgave. I mange tilfælde vil du vide mere om emnet end din lærer og din censor. Det betyder at du skal formidle den viden som du er kommet i besiddelse

Læs mere

Procesbeskrivelse - Webprogrammering

Procesbeskrivelse - Webprogrammering Procesbeskrivelse - Webprogrammering Indholdsfortegnelse Forudsætninger... 1 Konceptet... 2 Hjemmesiden... 2 Server-side... 3 Filstrukturen... 3 Databasehåndtering og serverforbindelse... 4 Client-side...

Læs mere

SSI 6000.0400 GSM Fjernbetjenings system for porte/garage døre

SSI 6000.0400 GSM Fjernbetjenings system for porte/garage døre 1 SSI 6000.0400 GSM Fjernbetjenings system for porte/garage døre Vejledning SSIHuset v/svane Electronic ApS Arildsvej 27, Gråmose, DK-7442 Engesvang mail: ssi@svane-el.dk http: svane-el.dk 2 System for

Læs mere

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4 IT opgave Informationsteknologi B Vejleder: Karl Navn: Devran Kücükyildiz Klasse: 2,4 Dato:03-03-2009 1 Indholdsfortegnelse 1. Indledning... 3 2. Planlægning... 3 Kommunikationsplanlægning... 3 Problemstillingen...

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Vers. 1.3.1 Opdateret: 29-08-2018 Indholdsfortegnelse 1. Installer programmet 3 2. Pak robotten ud 5 3. I gang med at programmere 6 4. Programmér Fable til at køre fra 90 til -90

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel: Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra

Læs mere

Brugeradfærd i idræts- og kulturhuse - Målinger med RFID teknologi Suenson, Valinka

Brugeradfærd i idræts- og kulturhuse - Målinger med RFID teknologi Suenson, Valinka Aalborg Universitet Brugeradfærd i idræts- og kulturhuse - Målinger med RFID teknologi Suenson, Valinka Publication date: 2011 Document Version Accepteret manuscript, peer-review version Link to publication

Læs mere

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations

Læs mere

It-sikkerhedstekst ST8

It-sikkerhedstekst ST8 It-sikkerhedstekst ST8 Logning til brug ved efterforskning af autoriserede brugeres anvendelser af data Denne tekst må kopieres i sin helhed med kildeangivelse. Dokumentnavn: ST8 Version 1 Maj 2015 Logning

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Opdateret: 26-03-2018 Indholdsfortegnelse 1. Først skal du installere programmet på din computer 3 2. Når programmet er installeret er du klar til at pakke robotten ud 4 3. Nu er

Læs mere

Indholdsfortegnelse for kapitel 2

Indholdsfortegnelse for kapitel 2 Indholdsfortegnelse for kapitel 2 Kapitel 2. Analyse.......................................................... 2 Analyse af 2.1...................................................... 2 Analysen af Database.................................................

Læs mere

Software Dokumentation

Software Dokumentation Software Dokumentation Jan Boddum Larsen Teknologi B og A på HTX Dokumentation af software i Teknologi I samfundet sker der en bevægelse mod mere digitale løsninger i teknologi. Det betyder at software

Læs mere

Mini SRP. Afkøling. Klasse 2.4. Navn: Jacob Pihlkjær Hjortshøj, Jonatan Geysner Hvidberg og Kevin Høst Husted

Mini SRP. Afkøling. Klasse 2.4. Navn: Jacob Pihlkjær Hjortshøj, Jonatan Geysner Hvidberg og Kevin Høst Husted Mini SRP Afkøling Klasse 2.4 Navn: Jacob Pihlkjær Lærere: Jørn Christian Bendtsen og Karl G Bjarnason Roskilde Tekniske Gymnasium SO Matematik A og Informations teknologi B Dato 31/3/2014 Forord Under

Læs mere

Fremtiden er her PRY-ID. RFID KABELTEKNOLOGI Til identifikation og dokumentation af kabelinstallationer

Fremtiden er her PRY-ID. RFID KABELTEKNOLOGI Til identifikation og dokumentation af kabelinstallationer Fremtiden er her PRY-ID RFID KABELTEKNOLOGI Til identifikation og dokumentation af kabelinstallationer Fremtidens kabler med RFID chips Har du nogensinde tvivlet på, om du har fundet det rigtige kabel?

Læs mere

Styringsteknik. Et projekt i faget styringsteknik. En rapport af Rune Zaar Østergaard

Styringsteknik. Et projekt i faget styringsteknik. En rapport af Rune Zaar Østergaard Styringsteknik Et projekt i faget styringsteknik. I1 & Q1 I2 En rapport af Rune Zaar Østergaard Styringsteknik 2007 Indholdsfortegnelse 1.0 Formål...3 2.0 Indledning (min ide)... 3 3.0 Problemdefinition...

Læs mere

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 Læringsprogram Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4 R o s k i l d e T e k n i s k e G y m n a s i u m Indholdsfortegnelse FORMÅL...

Læs mere

CANSAT & ARDUINO step by step

CANSAT & ARDUINO step by step CANSAT & ARDUINO step by step Jens Dalsgaard Nielsen SATLAB Aalborg Universitet Danmark jdn@space.aau.dk 1/51 Arduino CANSAT - MÅL At måle ved hjælp af sensor temperatur, tryk, acceleration, CO2, lys,...

Læs mere

Oversigt over kriterier for klarmelding af bølge 2-løsninger i 2013

Oversigt over kriterier for klarmelding af bølge 2-løsninger i 2013 Notat Oversigt over kriterier for klarmelding af bølge 2-løsninger i 2013 Baggrund Frem mod 1. december 2013 gennemføresen klarmeldingsproces med tre statusrapporteringer i hhv. maj, oktober og november.

Læs mere

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6 Side 1 af 6 Indholdsfortegnelse INDHOLDSFORTEGNELSE 1 INTRO 3 STARTEN AF SPECIALISERINGEN 3 ANKOMST TIL SKOTLAND 4 DATABASER 5 NETVÆRK 5 INTERAKTION 5 AFSLUTNING AF SPECIALISERINGEN 5 KONKLUSION 6 Side

Læs mere

Start på Arduino og programmering

Start på Arduino og programmering Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget

Læs mere

Karen Marie Lei, Sektionsleder og civilingeniør, COWI A/S klei@cowi.dk

Karen Marie Lei, Sektionsleder og civilingeniør, COWI A/S klei@cowi.dk Evaluering af pilotprojekt Variable tavler for cyklister ved højresvingende lastbiler Forfattere: Michael Bloksgaard, Ingeniør, Århus Kommune mib@aarhusdk Karen Marie Lei, Sektionsleder og civilingeniør,

Læs mere

1.1 1.2 2.1 2.2 2.3 3.1 3.2 INTRODUCING YOUR MOBILE PHONE Learn about your mobile phone s keys, display and icons. Nøgler Fra forenden af apparetet vil du observere følgende elementer: (Se 1.1 Side 3)

Læs mere

Svendeprøve Projekt Tyveri alarm

Svendeprøve Projekt Tyveri alarm Svendeprøve Projekt Tyveri alarm Påbegyndt.: 8/2-1999 Afleveret.: 4/3-1999 Projektet er lavet af.: Kasper Kirkeby Brian Andersen Thomas Bojer Nielsen Søren Vang Jørgensen Indholds fortegnelse 1. INDLEDNING...3

Læs mere

Hvad skal du vide for at bygge din egen computer?

Hvad skal du vide for at bygge din egen computer? Hvad skal du vide for at bygge din egen computer? Kender du alle de her dele og hvad de gør godt for? Er du mellem 11 og 16 år, og tænker på at sammensætte din egen computer? Så er denne her guide lige

Læs mere

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning

Læs mere

ROSKILDE TEKNISKE GYMNASIUM. Læringsprogram. Lommeregner

ROSKILDE TEKNISKE GYMNASIUM. Læringsprogram. Lommeregner ROSKILDE TEKNISKE GYMNASIUM Læringsprogram Lommeregner Programmering Malte Fibiger, Rasmus Ketelsen, Nicojal Jensen og Leon Bøgelund, Klasse 3.36 04-12-2012 Indholdsfortegnelse Indledende afsnit... 3 Problemformulering...

Læs mere

DESIGN4OEE ANDROID MANUAL V.8

DESIGN4OEE ANDROID MANUAL V.8 DESIGN4OEE ANDROID MANUAL V.8 OmniFleet til Android Version 8.3.0 OmniFleet til Android... 2 Introduktion... 3 Forudsætninger... 3 Download og installation... 3 Hovedmenuen... 4 Opsætning... 4 Køretøjsliste...

Læs mere

Postregistrering Eksamensprojekt i Programmering C Lavet af: Frantz Furrer Svendborg Erhvervsskole HTX Vejleder: Claus Borre

Postregistrering Eksamensprojekt i Programmering C Lavet af: Frantz Furrer Svendborg Erhvervsskole HTX Vejleder: Claus Borre Postregistrering Eksamensprojekt i Lavet af: Frantz Furrer Vejleder: Claus Borre Side af 4 Titelblad: Skolens navn: Svendborg Tekniske Gymnasium - Rapport: Rapportens titel: Postregistrering Side antal:

Læs mere

Fremtidens kassesystem

Fremtidens kassesystem Fremtidens kassesystem Gør hverdagen nemmere, og giver et smil på læben. Fremtidens kassesystem Dette projekt er lavet af Emil Toft, Thomas Gandrup Sørensen & Omran El-Habet (9. klasse, Antvorskovskole).

Læs mere

2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING

2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING 2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING Baggrund Udgangspunktet er projekt 2, dvs. en blog om cupcakes, hvor målgruppe, afsender og modtager allerede er defineret. Du bliver nu bedt om at udvikle et

Læs mere

Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)

Mircobit Kursus Lektion 4   (Du skal her vælge Lets Code Og herefter Block Editor.) Mircobit Kursus Lektion 4 http://microbit.org/ (Du skal her vælge Lets Code Og herefter Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. I skulle lave et stop ur man kunne

Læs mere

Ved indkøring påtrykkes en kendt amplitude (HUSK 50 ohms afslutning) og displayet aflæses.

Ved indkøring påtrykkes en kendt amplitude (HUSK 50 ohms afslutning) og displayet aflæses. /* Power Meter 2012 /* Rettet den 13.februar 2013 /* Version 1.2 /* Input medie er en AD8307, som forsynes fra Arduino Uno stabiliserede 5 volt. A/D input er på Arduino analog input pin A0 AREF er tilført

Læs mere

Matematik A og Informationsteknologi B

Matematik A og Informationsteknologi B Matematik A og Informationsteknologi B Projektopgave 2 Eksponentielle modeller Benjamin Andreas Olander Christiansen Jens Werner Nielsen Klasse 2.4 6. december 2010 Vejledere: Jørn Christian Bendtsen og

Læs mere

DANSK SKOLEDATA APS. Tlf. 86 44 80 99 E-mail DSD@skoledata.dk DSA-Ventelisten

DANSK SKOLEDATA APS. Tlf. 86 44 80 99 E-mail DSD@skoledata.dk DSA-Ventelisten Indholdsfortegnelse Overordnet beskrivelse af programmets funktioner... 2 Log på... 2 Manuel oprettelse af elev.... 3 Optagelse af elever... 3 1 Gruppering og sortering af elever... 3 2 Udvælg aspiranter...

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Programmering C ved mst Termin Juni 117 Institution Uddannelse Fag og niveau Lærer Hold Erhvervsskolerne Aars hhx Programmering C Michael Stenner (mst) 2-3g16 pro Forløbsoversigt

Læs mere

Vejledning til indberetningsløsning for statslige aktieselskaber m.v. www.offentlige-selskaber.dk

Vejledning til indberetningsløsning for statslige aktieselskaber m.v. www.offentlige-selskaber.dk Vejledning til indberetningsløsning for statslige aktieselskaber m.v. www.offentlige-selskaber.dk 1 Offentlige-selskaber.dk s startside giver direkte adgang til at foretage en indberetning. Som en service

Læs mere

HTX. Afsluttende projekt. E-learning Komunikation/It C Helena, Katrine og Rikke 1.1 01-05-2013

HTX. Afsluttende projekt. E-learning Komunikation/It C Helena, Katrine og Rikke 1.1 01-05-2013 HTX Afsluttende projekt E-learning Komunikation/It C Helena, Katrine og Rikke 1.1 01-05-2013 Systemudvikling Indledende aktiviteter Kommunikationsplanlægning for projektet, Laswells fem spørgsmål. o Hvem

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Januar 2012 Institution Gymnasiet HTX Skjern Uddannelse Fag og niveau Lærer(e) Hold Htx Programmering C Henrik

Læs mere

Netbaseret spørgeskemaundersøgelse

Netbaseret spørgeskemaundersøgelse E-læringsmodul til samfundsfag i folkeskolen Netbaseret spørgeskemaundersøgelse It-færdighedsniveau: 1 2 3 4 5 Udarbejdet af: Hasse Francker Christensen Indhold af modulet Indholdsfortegnelse 1 - Hvorfor

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller-programmering med Arduino I teknologi skal vi lære at lave programmer til en microcontroller for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal

Læs mere

Brugermanual 3D Webcam

Brugermanual 3D Webcam Brugermanual 3D Webcam 2 Indholdsfortegnelse Kort introduktion... 4 Installation... 4 Hardware Installation... 4 Software Installation... 5 Forklaring til knapper... 6 Linse Focus... 6 3D Justering...

Læs mere

Hos Podconsultsbutik kan du finde vandpumpen i 3 udgaver, hvilket har betydning for hvordan du samler og forbinder pumpen til din Micro:bit.

Hos Podconsultsbutik kan du finde vandpumpen i 3 udgaver, hvilket har betydning for hvordan du samler og forbinder pumpen til din Micro:bit. Leg med vandpumper Hos Podconsultsbutik kan du finde vandpumpen i 3 udgaver, hvilket har betydning for hvordan du samler og forbinder pumpen til din Micro:bit. For nemheds skyld vil vi i denne guide kalde

Læs mere

SKY. Kommunikations-IT. Alexander L, Anton og Mads Zillo

SKY. Kommunikations-IT. Alexander L, Anton og Mads Zillo SKY Kommunikations-IT Alexander L, Anton og Mads Zillo Indhold i rapporten(uden sidetal) Funktionerer i programmet Brugervenlighed Fejlkilder/problemer undervejs Konklusion Design Ideen bag Game maker

Læs mere

Indholdsfortegnelse Valg af opgave... 2 Introduktion... 2 Problem... 2 Målgruppe... 2 Afsender... 2 Budskab... 2 Kodning... 3 Effekt...

Indholdsfortegnelse Valg af opgave... 2 Introduktion... 2 Problem... 2 Målgruppe... 2 Afsender... 2 Budskab... 2 Kodning... 3 Effekt... Indholdsfortegnelse Valg af opgave... 2 Introduktion... 2 Problem... 2 Målgruppe... 2 Afsender... 2 Budskab... 2 Kodning... 3 Effekt... 3 Information... 3 Programmering... 3 Design... 4 Brochure... 4 Hjemmeside...

Læs mere

Programmering af CS7002 GSM/GPRS modul Version 5

Programmering af CS7002 GSM/GPRS modul Version 5 Comfort CSx75 Programmering af CS7002 GSM/GPRS modul Version 5 Introduktion CS7002 GSM/GPRS modulet er en fuldt integreret enhed som kan sende alarmer trådløst enten via GSM eller GPRS nettet. Der er desuden

Læs mere

Mircobit Kursus Lektion 1

Mircobit Kursus Lektion 1 Mircobit Kursus Lektion 1 I denne lektie skal vi se nærmere på den lille mini computer kaldt microbit. Egentlig kræver det at man har en fysisk microbit men man kan også næsten lave det samme med den simulator

Læs mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler

Læs mere

Vi har valgt at analysere vores gruppe ud fra belbins 9 grupperoller, vi har følgende roller

Vi har valgt at analysere vores gruppe ud fra belbins 9 grupperoller, vi har følgende roller Forside Indledning Vi har fået tildelt et skema over nogle observationer af gærceller, ideen ligger i at gærceller på bestemt tidspunkt vokser eksponentielt. Der skal nu laves en model over som bevise

Læs mere

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4.

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. APPETITVÆKKEREN OZ6YM, Palle A. Andersen Efteråret 2017 Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. DEMO-video

Læs mere

1. Generelt om denne brugervejledning

1. Generelt om denne brugervejledning Pro-Sec ApS. Yderholmvej 59. 4623 Lille Skensved. Version 02-2007 Indholdsfortegnelse 1. GENERELT OM DENNE BRUGERVEJLEDNING... 2 2. BRUGERE... 3 3. BRUGERE PROGRAMMERINGSTILSTAND... 4 4. ALARM-INDIKERING

Læs mere

Det skrå kast, en simulation

Det skrå kast, en simulation Det skrå kast, en simulation Oplæg skrevet af Bartlomiej Rohard Warszawski den 5.november 29 Formål Eleven skal lave et program i Python, der udfører en simpel simulation af acceleration, hastighed, position,

Læs mere

Undervisningsplan. Side 1 af 17. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B

Undervisningsplan. Side 1 af 17. Termin Rybners Tekniske Gymnasium. Uddannelse. Fag og niveau. Informationsteknologi B Undervisningsplan Termin 2014-2016 Institution Uddannelse Fag og niveau Lærer(e) Hold Rybners Tekniske Gymnasium HTX Informationsteknologi B Jeppe Moritz Led, Jens Ahlmann Hansen E13 Oversigt over undervisningsforløb

Læs mere

Der er i det følgende taget små udklip fra rapporten: Bedst i test

Der er i det følgende taget små udklip fra rapporten: Bedst i test SO - resumé Tekstil A: Bedst i test Elever: Tidsperiode: Periode: 5 semester Særfaglige mål: Projektet Bedst i test var et samspilsprojekt mellem teknik - faget, et eller flere af studieretningsfag og

Læs mere

Making digital life simple on this small planet

Making digital life simple on this small planet Making digital life simple on this small planet The Mission Verden er som altid i bevægelse, Onscope ser det som sin mission at skabe eller integrere det digitale workflow med den fysiske verden. Digitalisering

Læs mere