Optimering af fraværsregistrering
|
|
- Mette Holmberg
- 8 år siden
- Visninger:
Transkript
1 Journal Optimering af fraværsregistrering Eksamensprojekt i Programmering C, klasse 3.4, 2011 AFLEVERET
2 Indhold Abstract... Fejl! Bogmærke er ikke defineret. Problemformulering... 2 Produktet... 3 Funktion... 3 Uddybelse af programmet... 5 Test Konklusion Bilag Bilag 1 Produktkode, inklusiv kommentarer (software) Bilag 2 Arduino og RFID-system (hardware)
3 Resume Denne journal præsentere og dokumentere det endelige produkt, der er produceret i sammenhæng med eksamensprojektet i Programmering C og Informationsteknologi B Journalen er udelukkende tiltænkt som besvarelse af opgaven i forhold til Programmering C, mens en separat rapport dokumentere arbejdet i forhold i til Informationsteknologi B. Journalen indleder med en problemformuleringen, der er baggrunden for udviklingen af produktet. Dokumentationen af produktet består af en overfladisk del, som giver et en overblik over dets funktion og virkemåde, samt en mere detaljeret del, hvori det vigtigste kode dokumenteres og uddybes. Herefter beskrives de tests, der er blevet udført i sammenhæng med udviklingen af produktet og det endelige produkt. Journalen afsluttes med en konklusion. Bilaget indeholder det endelige produkt i form af en.ino fil, samt billeder af opsætningen af de fysiske komponenter. Problemformulering Produktet er udarbejdet fra resultat af en indledende problemanalyse, der kort er opsummeret i følgende 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. 2
4 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. Funktion 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. 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. 3
5 4
6 Uddybelse af programmet I dette afsnit forklares programmets vigtigste kodeelementer i forhold til, hvordan de er skrevet og hvorfor de er skrevet således. 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); 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. 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 5
7 Tiden (if-statement) Programme 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 (while-løkke) For at registrere kortet, benyttes en while-løkke og den digitale port RFID. En whileløkke vil gentage det tildelte stykke kode, så længe den angivet betingelse er sand eksempel på dette: while(x <= 10){ x += 1 Denne løkke vil gentage sig selv 10 gange, da den betingelsen ellers ikke vil være sand. 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 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: 6
8 while(rfid.available() >0){ c = RFID.read(); msg += c; Tjekker og registrerer tag-id (if-statement) 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 (if-statement) 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. int pos=ankommet.indexof(msg); msg=""; msg += ankommet.substring(0,pos); 7
9 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. Fraværsregistreringen (array, if- og for-statement) 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. 8
10 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. En for-løkke er en løkke, der vil gentage et stykke kode et givent antal gange: for(int i=0; i<5; i++){ Serial.println((int)i); Denne løkke vil gentage sig selv 5 gange, og printe værdien af i for hver gang. 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; 9
11 Optælling af tilstedeværelse (for-løkke) 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. 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. 10
12 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. 11
13 - 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. Konklusion På trods af at produktet blot er tiltænkt som en tidlig prototype på et potentielt system, formår det 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. 12
14 13
15 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. 14
Optimering af fraværsregistrering
Rapport Optimering af fraværsregistrering Eksamensprojekt i Informationsteknologi B, klasse 3.4, 2011 AFLEVERET 09-05-2014 Indhold Forord... 2 Indledende afsnit... 3 Problemanalyse... 3 Problemformulering...
Læs mereIndholdsfortegnelse 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 mereProgrammering 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 mereArduino 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 mereArduinostyret 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 mereArduinostyret 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 mereMircobit 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 mereArduino 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 mereStart 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 mereEnes 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 mereProjekt 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 mereRF-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 mereUndervisningsbeskrivelse
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 mereMichael 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 mereMicrocontroller, 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 mereCANSAT & 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 mereconst int disponibel_10= 10; const int disponibel_11= 11; const int disponibel_12= 12; const int blinkled = 13; // pin 13 er LED på NANO
Styring_af_analog_repeater_OZ1LN_07-04-2018_v_1_07 device Arduino NANO fra v 1.06_j kræves Starttid bærebølge for valid pilottone ved start fra v 1.06_j kræves ResetTid uden bærebølge ved genstart efter
Læs mereTest 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 mereKapitel 3 Betinget logik i C#
Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret
Læs mereBrugermanual 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 mereInternt interrupt - Arduino
Programmering for begyndere Brug af Arduino Internt interrupt - Arduino - Afslutning EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Intern interrupt Jeg vil rydde lidt op. Her er nogle punkter vil har glemt
Læs mereVed 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 mereFra programmering til mikroprocessor
Programmering for begyndere Brug af Arduino Fra programmering til mikroprocessor EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Programmerings kursus Sidste gang (Introduktion)
Læs mereEKSEMPEL 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 mereBrug af digitale ind og udgange
Programmering for begyndere Brug af Arduino Programmeringskursus Brug af digitale ind og udgange Oversigt over aftenen Digitale ind- og udgange Det er der ikke så meget i: Digitale indgange kan tænde og
Læs mereAlt elektronik heri er købt via http://dx.com, og arduino udviklingssoftware er hentet fra http://arduino.cc.
Få-tiden-til-at-gå-[DIGITAL]-ur =============================== Copyright 2013, Richard Jørgensen. Alle ophavsretlige rettigheder frafaldet 2015. (Kopier og brug som du har lyst.) Forord: ===== Denne vejledning
Læs mereDANMARKS 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 mereSystemkald DM14. 1. Obligatoriske opgave. Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111
DM14 1. Obligatoriske opgave Systemkald Antal sider: 7 inkl. 2 bilag Afleveret: d. 18/3-2004 Afleveret af: Jacob Christiansen, 130282-2111 Side 1 af 5 Intro: Formålet med opgaven at et lave en system kald
Læs mereProgrammering 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 mereProgram 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 mereIndholdsfortegnelse for kapitel 2
Indholdsfortegnelse for kapitel 2 Kapitel 2. Analyse.......................................................... 2 Analyse af 2.1...................................................... 2 Analysen af Database.................................................
Læs mereProgrammering for begyndere Lektion 2. Opsamling mm
Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger
Læs mereAnaloge indgange og A/D konvertering. Analoge udgange
Programmering for begyndere Brug af Arduino Programmeringskursus Analoge indgange og A/D konvertering Analoge udgange Knud Krogsgaard Jensen OZ1QK Oversigt Oversigt over i aften: A/D konvertering iterations
Læs mereFang Prikkerne. Introduktion. Scratch
Scratch 2 Fang Prikkerne All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion
Læs mereCykel 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 mereMy booking. Generelt. Forsiden. Version 9.0
My booking Version 9.0 System til at lave online bookinger, med mulighed for opdeling i grupper, forskellige booking typer, ændre layout indstillinger, status styring, sprogvalg samt en del mere, detaljer
Læs mereIT 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 mereAt klippe en streng over på det mest hensigtsmæssige sted
Denne guide er oprindeligt udgivet på Eksperten.dk At klippe en streng over på det mest hensigtsmæssige sted Formålet med denne artikel er at kaste lidt lys over, hvordan man klipper en streng over på
Læs mereMircobit 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 mereProjekt - RoboNet Del Journal.
Projekt - RoboNet Del Journal. Udarbejdet af: Klaus Jørgensen. Gruppe: Jacob Clausen, Klaus Jørgensen og Ole Rud It og Elektronikteknolog, 2a Erhvervsakademiet Fyn Udarbejdet i perioden: 20/01-03 03/02-03
Læs mereARDUINO PROGRAMMERING
ARDUINO PROGRAMMERING Teknologisk Institut Opgaver i programmering af Arduino Indholdsfortegnelse Kapitel 1... 2 Arduino Uno mikrokontroller... 2 Digitalt signal... 3 Analogt signal... 3 Arduino Uno Specifikationer...
Læs mereVisualiseringsprogram
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 mereIT Rapport 27-02-08. Netværkskonsulenterne Forslag til IT-løsning vedrørende campingpladsen. Danielle og Jonas 2.4 Side 1 af 5
Netværkskonsulenterne Forslag til IT-løsning vedrørende campingpladsen Danielle og Jonas 2.4 Side 1 af 5 Resume Indholdsfortegnelse Resume...2 Indledning...3 Database...3 Netværksopstilling...4 Indkøb
Læs mereMicrocontroller, 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 mereArduino kursus lektion 4:
Arduino kursus lektion 4: I denne lektion skal vi bruge et digitalt termometer til at aflæse temperaturen! Herefter skal vi tænde 3 dioder som hver indikerer forskellige temperaturer! Opgave 1: Temperatursensor
Læs mereSpil Master Mind. Indledning.
side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form
Læs mereSpecialiseringen 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 mereAf: 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 mereRF-ID. Materialet er meget foreløbigt. Derfor modtages rettelser og forslag meget gerne Side 1 af 15. Redigeret 14/
Materialet er meget foreløbigt. Derfor modtages rettelser og forslag meget gerne. ------------------------ Side 1 af 15 RF ID står for Radio Frequency Identification. teknologien kendes fra fx Natløb.
Læs mereListen 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 mereLectio. 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 mereProgrammering C RTG - 3.3 09-02-2015
Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...
Læs mereKlasse 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 mereNVR Client system. Bruger Manual. SuperVision Alarmteknik ApS Cedervej 2, 8462 Harlev J +45 70 23 93 10 www.supervision-alarm.dk
NVR Client system Bruger Manual SuperVision Alarmteknik ApS Cedervej 2, 8462 Harlev J +45 70 23 93 10 www.supervision-alarm.dk 1 Indholdsfortegnelse. Side 3: Side 4-5: Side 6: Side 8: Side 10: Side 11:
Læs mereDM536. Rapport og debug
DM536 Rapport og debug Kilder Vigtig.it (Felix Palludan Hargreaves) http://vigtig.it/dm502/howto_report.pdf http://vigtig.it/blog/teaching/#toc-relevant-tips Peter Schneider-Kamp http://imada.sdu.dk/~petersk/dm536/project2.pdf
Læs mereFIP INFORMATIK C/B IT A
FIP INFORMATIK C/B IT A KORT OM OS Anders Lindskjold (Campus Vejle) Jan Peter Klembach (Varde Handelsgymnasium) Er i erfarne IT-undervisere? HJÆLP TIL NYE UNDERVISERE CCT Center for Computational Thinking
Læs mereAutomatisk varmeregulering
1 Automatisk varmeregulering Temperaturmåling vha. Arduino Informationsteknologi B Programmering C Eksamen 2010 I forbindelse med fagene Informationsteknologi B og Programmering C, er et eksamensprojekt
Læs mereIT-progressionsplan 2014
IT-progressionsplan 2014 (Planen er stadig under udvikling) Overordnet beskrivelse - "IT-dannelse" Eleverne skal undervises i forskellige systemer, hvorved de gennem undervisningen og den konkrete anvendelse
Læs mereSSI 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 mereMartin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox
Martin Olsen DM0 Projekt 0 Del I. marts 0 FOTO: Colourbox Indhold Indledning... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Kildekode til SimpleInv.java... Kildekode til MergeSort.java...
Læs mereUndervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Aug 2018 / Maj 2019 Institution Vejen Business College Uddannelse Fag og niveau Lærer(e) Hold EUX Informationsteknologi
Læs mereTypisk modul-opbygget PLC system (Allan Bradley)
1 Typisk modul-opbygget PLC system (Allan Bradley) 5 6 Prrammøren nødt til at define hvilke modul systemet består af i hvilke slots de placet. Et typisk system vil have såvel anale som digitale ind- udgange
Læs mereMircobit 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 mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs merePython 3 kursus lektion 1:
Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan
Læs mereMANUAL SKIOLD GØR EN FORSKEL DISTRIWIN SERVICE INSTALLATION
MANUAL SKIOLD GØR EN FORSKEL DISTRIWIN SERVICE INSTALLATION 140 981 002 930 Vers. 1.01 05-01-2017 INDHOLD 1 Introduktion... 4 2 Udpak DistriWin Service installationen... 4 3 Installer DistriWin Service...
Læs mereUndervisnings plan til Programmering
Undervisnings plan til Programmering Klasse: 7. klasse Fag: Fysik/Kemi Emne: We are all mad Dette forløb tager udgangspunkt i, at filmen Alice i Eventyrland er en blanding af almindelig film og tegnefilm
Læs mereKontrol-strukturer i PHP
Denne guide er oprindeligt udgivet på Eksperten.dk Kontrol-strukturer i PHP Denne artikel gennemgår kontrolstrukturer i PHP. 'if', 'switch', 'while' og 'for' bliver gennemgået. Den forudsætter lidt grundlæggende
Læs mereIde med Diff. Mål. Tidsplan. 1.uge: 2.uge:
Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.
Læs mereDet 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 mereElevforudsæ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 mereAlgoritmeskabeloner: Sweep- og søgealgoritmer C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte
Læs mereProgrammeringseksempel tl BCxxxx (Seriel)
APP-NOTE 600005 Beckhoff Application Note Date: 8/28/2006 Document Status: First Draft Beckhoff Automation Aps Naverland 2, DK-2600 Glostrup Phone +45 43 46 76 20 Fax +45 43 46 63 35 Programmeringseksempel
Læs mereProgrammering i C. Lektion oktober 2008
Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969
Læs mereQwickly fremmøderegistrering mm. i Blackboard
v. 1.0 august 17 Qwickly fremmøderegistrering mm. i Blackboard Fremmøde-registrering på kurser kan foregå digitalt i Blackboard via den installerede building block, Qwickly. Qwickly består af to dele,
Læs mereInstallationsmanual. 2 Installering...6. 3 Installering SMS sender...7. 4 Installering PSTN/GSM sender...7. 5 Installering PSTN GSM konverter...
CS 47 Syntax Side 2 Indholdsfortegnelse 1 Introduktion...4 1.1 Funktioner...4 1.2 Forsyning...4 1.3 PSTN support...5 1.4 GSM support...5 1.5 SMS support...5 1.6 Indgange...5 1.7 Udgange...5 1.8 Password...5
Læs mere//--------------------------------- Definition af porte og funktioner -------------------------
Temeraturmåler (C-program).txt // Initialiserings-sekvens #include #pragma model=medium #pragma code=0x0000 #pragma xdata=0x4000 #pragma asm=on #pragma parameters=register //#define display P4
Læs mereVelkommen til TIS-Web
Velkommen til TIS-Web Velkommen til TIS-Web din digitale online service for lagring og analyse af digitale fartskriver data. Med denne vejledning ønsker vi at introducerer de mest almindelige muligheder
Læs mereAVR 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 mere28-8-2008 HTX NÆSTVED CASE: AUTOVÆRKSTED. IT B Stine Andersen, Susanne Nielsen og Morten Kristensen
28-8- HTX NÆSTVED IT B Stine Andersen, Susanne Nielsen og Morten Kristensen Indholdsfortegnelse Indledning... 2 Problemformulering... 3 Fysisk system... 3 Hardware og software konfiguration... 3 Overvågning
Læs mereForelæsning Uge 3 Torsdag
Forelæsning Uge 3 Torsdag Billedredigering (bl.a. brug af for-løkker) Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt)
Læs mereDemonstration af transitmetoden
Demonstration af transitmetoden Introduktion: Det kan være svært at observere exoplaneter direkte, derfor benytter man sig i langt højere grad af transitmetoden: Her udnyttes at exoplaneter der bevæger
Læs mereExceptions i Delphi. Try except
Exceptions i Delphi Exceptions er en teknik til at fange fejl under programafviklingen. Ikke programmeringsfejl, men fejl der opstår i forskellige situationer, f.eks. en fil der mangler en fil der er skrivebeskyttet,
Læs mereSproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract
Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget
Læs mereProgrammering i C. Lektion 4. 5. december 2008
Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )
Læs mereTinkerCad - 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 mereDANSK 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 mereUndervisningsbeskrivelse
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 mereIT 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 mereUdarbejdet af CFU Absalon
Chatbots i Scratch Introduktion: En chatbot er et lille program, der kan chatte. De bruges mange steder på internettet, enten for at kunne hjælpe i nogle bestemte situationer eller for at underholde. De
Læs mere1. Når egenskaben Handling er indstillet til "Altid" for et løkke-ikon, vises symbolet for uendeligt ( ) nederst til højre i ikonet.
Løkke-ikon Brug dette ikon til at gentage programkodesekvenser. Indstil den betingelse, der skal standse løkken: tid, antal gentagelser, et logisk signal eller en sensor. Du kan også indstille en løkke
Læs mereAdobe Digital Editions
Adobe Digital Editions Kom godt i gang Klik på knapperne nedenfor for at komme videre Forberedelse Download Adobe Digital Editions: Til Windows TRYK HER Til Mac OS TRYK HER Bemærk: Adobe Digital Editions
Læs mereDette 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