Projekt Når maskinen reagerer - Dataopsamling og aktuatorer



Relaterede dokumenter
Automatisk varmeregulering

Arduino kursus lektion 3:

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

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

ARDUINO PROGRAMMERING

Arduino kursus lektion 4:

Arduinostyret klimaanlæg Afsluttende projekt programmering C

Automatisering Af Hverdagen

Arduino Programmering

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor.

Alt elektronik heri er købt via og arduino udviklingssoftware er hentet fra

Dokumentation af programmering i Python 2.75

TinkerCad - Arduino simulator

CANSAT & ARDUINO step by step

Microcontroller, Arduino

Fra programmering til mikroprocessor

Michael Jokil

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

Lektion 6 / Analog Arduino

Sådan forbindes Arduinoen via et fumlebræt til ATTiny45 chippen.

AM signalet er et automatisk mellemblok signal. Det består af 3 lamper og er opbygget som et U signal med 3 lamper.

Lyskryds. Thomas Olsson Søren Guldbrand Pedersen. Og der blev lys!

Microcontroller, Arduino

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

ysikrapport: Maila Walmod, 1.3 HTX, Rosklide I gruppe med Morten Hedetoft, Kasper Merrild og Theis Hansen Afleveringsdato: 28/2/08

Optimering af fraværsregistrering

Micro:Bit Indbygget sensorer og Monk Makes sensorbord

Montage og brugsanvisning

I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET

Analoge indgange og A/D konvertering. Analoge udgange

IFC Egenskaber. Mohammad Hussain Parsianfar s BYG DTU

Afsluttende - Projekt

Klasse 1.4 Michael Jokil

Betjeningsanvisning til model KCVR9NE Installationsanvisninger:

IDAP manual Analog modul

Start på Arduino og programmering

ELEKTRISK OPBYGNING BI-VAN CAN COM2000

Internt interrupt - Arduino

Det skrå kast, en simulation

SmartAir TS1000. Daglig brug

Maskinanlæg, opsætning af frekvensomformer

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Transienter og RC-kredsløb

Indholdsfortegnelse. Indledning...2. Tidsplan...2. Målgruppe...3. Spørgeskema...3. Kode eksempler...5. Procesbeskrivelse...7. Evaluering...

// inkluder library kode: #include <LiquidCrystal.h> #include <Serial.h> // Initialiser display LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Brugervejledning for Senge- og dørvagt PIR2003

STYRING FOR STOKERFYR

PLC reguleringsteknik

Arduino Programmering

INSTRUKTIONSMANUAL KW

Multilog - 5HS ver.2. 5 Kanals universal datalogger. ninasoft

Bilag til den indsigelse, som sommerhusgrundejerforeningerne på Samsø har fremsendt til Skov- og Naturstyrelsen den 27. april 2012.

INSTALLATIONS GUIDE. Air 4920 Trådløst access point FIBERBREDBÅND TV TELEFONI

Qwpikkemandtyuiopåasdfghjklæøzxc vbnmqwertyuiopåasdflortefissezxcvb nmqwertyuiopåasdfghjklæsupernørd mqwertyuiopåasdfghjklæøzxcvbnmq

Indholdsfortegnelse resultat- & kritikprogrammet.

Rev.: Juni 1997 Udgave: rel. 12/96 Produkt: EWPC 907

DC-Motor Controller. Brugermanual

Opgavesæt udviklet til kursus Grundlæggende elektronik på mobile maskiner 2. Udviklet i 2015

BRUGERVEJLEDNING KMR 1000

Undersøgelse teknologi og resurser: Eleverne skal lære om enkel produktudvikling fra ide til implementering.

Dansk Mink Papir. Teknisk brugermanual

Bruger manual AGAM kontrolboks

Børn, unge og sundhed

NETLON. KV2_2b beskrivelse. Dette dokument indeholder en beskrivelse af en KV2 klasseværelsesstyring fra Netlon.

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

Installationsguide. Router Tilgin HG13xx serien. Fiberbredbånd TV Telefoni

BRUGERVEJLEDNING CP-508LCD ALARMCENTRAL

Betjeningsvejledning. System Alarmpanel xx S2s

Talrækker. Aktivitet Emne Klassetrin Side

Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i)

SeeTool - KNX løsninger til

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

Vejledning til Tidtagningssystem til ridebanespring. Sønderborg. Knap for addering af 6 sekunder ved total nedrivning af forhindring.

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

Dataopsamling og modellering

Indholdsfortegnelse:

Computerens Anatomi. Kom/IT C - Computer Anatomi - Daniel og Fie - 3/ Planlægning af kommunikationsvalg og medieprodukt.

Beskrivelse af tryghedsalarmen

Digital Drejeskive Decoder til 7286 / 7686

Monterings og brugervejledning Portautomatik S 66 samt tilbehør

Opgaver - PLC - analogteknik - forbindelsesteknik...3 Opgaver - PLC - analogteknik - programmering...9

Bitdybde i digitale billeder

IT Support Guide. Installation af netværksprinter (direkte IP print)

BRUGERVEJLEDNING UDENDØRS SIRENE

Novotek Planning Systems A/S 2013 Version 1.0 Jan 2013 ROB-EX 4.2

Digital tæller Programerbar for MIX magnetisk målebånd

COMPUTER ANATOMI klasse 23. FEBRUAR 2015 HTX - ROSKILDE

Kravspecifikation For. Gruppen

Projekt - Valgfrit Tema

Algebra INTRO. I kapitlet arbejdes med følgende centrale matematiske begreber:

Velkommen til ABC Analyzer! Grundkursusmanual 2 vil introducere dig til ABC Analyzers mere avancerede funktioner, bl.a.:

Monterings og brugervejledning Portautomatik K 19 samt tilbehør

Side 2 CS 9452 Brugervejledning. Afsnit Navn Side. 1 Ordforklaring (terminologi) 3. 3 Betjeningsknapper og -lamper 6

S26 MOTOR Original brugermanual

Transkript:

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 - Blink... 8 Arduino opgave - Graph... 9 Første prototype... 10 Anden prototype... 11 Kalibrering... 13 Produkt... 14 Illustration af programmet vha. Processing... 17 Konklusion... 18 Kildeliste... 20 Nikki Mitchell og Jacob Thuesen Side 2 af 20 08-02-2010

Indledning Dette projekt er udstedt i forbindelse med fagene informationsteknologi B, programmering C og studieområde del 2. Projektet omhandler dataopsamling ved hjælp af transducere og aktuatorer, og tilgangen til dataopsamlingen er derfor teknisk orienteret. I forbindelse med projektet har vi (Nikki Mitchell og Jacob Thuesen) brugt Arduino hardware samt Arduino og Processing software til at opsamle og behandle data. I denne rapport vil der være en teoretisk indledning, og herefter en dokumentering af dataopsamlingsprocessen, både den hardware- og den softwaremæssige. Formål Formålet med projektet er, at få eleven til at tilegne sig en dybere forståelse for dataopsamling, transducere, aktuatorer, med mere. Denne forståelse skal give en viden om, hvordan en dataopsamlingsproces gennemføres, og hvordan de opsamlede data eksempelvis kan bruges i forbindelse med aktivering af en ekstern aktuator, og herved regulerer fysiske parameter (lys, temperatur, lyd, etc.) Nikki Mitchell og Jacob Thuesen Side 3 af 20 08-02-2010

Teori Herunder vil der være en beskrivelse af de forskellige udtryk, begreber og lignende, som har relevans for forståelsen af projektet. Dataopsamling Selve begrebet dækker blot over dét, at opsamle data, men ofte vil begrebet henvise til både opsamling af data, og hvordan disse data bliver behandlet. Eksempelvis opsamling af data, lagring af data, visualisering af data og ændring af parameter på baggrund af data. Herunder vil være nogle underbegreber, som er relevante når man har med dataopsamling at gøre. Signal Et signal er, i dette tilfælde, overførelsen af data fra ét sted (en sensor) til et andet. Signaler er altså data transporteret via en elektrisk strøm, en elektrisk spænding eller et elektromagnetisk felt. Støj Støj er en eller flere parametre der kan sløre det opsamlede data. Støj skaber således en (ofte) lille usikkerhed i det data man opfanger. A/D konvertering (ADC) A/D konvertering er konverteringen af analoge signaler, således at de bliver til digitale signaler. Et eksempel er konverteringen fra strøm eller spænding (analogt) til digitale værdier, som er proportionale med strømmen eller spændingens værdi. Successive approximation Dette dækker over, at man estimerer en ukendt værdi ved gentagne gange at sammenligne den med en række af kendte værdier, som kan indikere værdien af den ukendte parameter. Man kan således med stor nøjagtighed nærme sig den korrekte værdi. Sampling rate Definerer hvor ofte data bliver målt, altså hvor ofte der bliver aflæst en værdi af måleren. Resolution Dette definerer det opsamlede datas nøjagtighed. I vores prototyper er resolution lig 10 bit, altså kan værdierne det opsamles ligge mellem 0 og 1024. Nikki Mitchell og Jacob Thuesen Side 4 af 20 08-02-2010

ATMEGA328 På Arduinohardwaren sidder ATMEGA328, som er den komponent der svarer til hardwarens hukommelse. ATMEGA328 er blot den seneste opgradering af denne komponent. Arduino Arduino dækker over to ting, nemlig Arduinoplatformen (som kan ses ovenfor), samt Arduino softwaren. Platformen skal købes, men softwaren er open-source (frit tilgængelig). Arduino kan, ved hjælp af forskellige former for sensorer, bruges til at opsamle fysiske data, som kan overføres til en PC igennem softwaren. Man kan ligeledes skrive programmer i softwaren, som kan indvirke på hvad der sker med de komponenter der er tilsluttet platformen. Arduino viser tydeligt hvorledes rå hardware og software interagerer med hinanden, og giver brugerne mulighed for at bestemme hvordan og hvorledes denne interaktion skal foregå, og hvad resultatet af den skal være. Transducere Transducere er komponenter der kan omdanne én form for information til en anden. Vi bruger transducere i forbindelse med dataopsamlingsprocessen, eksempelvis en temperatursensor, der kan omdanne værdien for temperaturen til et elektrisk signal, som så kan føres ind i computeren. Aktuatorer Aktuatorer er komponenter der modtager et signal, og på baggrund af dette udfører en mekanisk handling. Transduceren opsamler altså data, og hvis disse data har en eller flere givne værdier (defineret igennem softwaren af brugeren), vil aktuatoren reagere. Eksempelvis en blæser der aktiveres, hvis temperaturen bliver for høj. Nikki Mitchell og Jacob Thuesen Side 5 af 20 08-02-2010

Kalibrering Kalibrering omhandler at omregne og omskrive dataværdierne, som transduceren opfanger, til en brugbar enhed. Det rå data en transducer på Arduinoplatformen opfanger, kan være en værdi imellem 0 og 1024. Hvis man måler temperatur, er en sådan værdi ikke videre brugbar. Man skal således finde ud af hvad en given værdi imellem 0 og 1024 svarer til i grader celsius. Dette gøres ved at få transduceren til at måle en værdi for temperaturen et sted, hvor man allerede kender temperaturen i grader celsius. Gøres dette flere gange med forskellige værdier, kan man til sidst finde sammenhængen imellem grader celsius og 10-bit værdier. Denne sammenhæng bør helst være lineær, da det gør omregningsprocessen simplest. Regulering: Hysteresis Henviser til et system med hukommelse. Setpoint Et setpoint er en øremærkning af en given dataværdi. Setpointet indikerer en dataværdi, som der ønskes opnået i bedst mulige grad. Afviger systemet fra værdien af setpointet, kan man vha. en aktuator forsøge at regulere således, at værdien opnås. Feedback Et andet ord for tilbagemelding. Talsystemer: Det binære talsystem Det binære talsystem består kun af cifrene 0 og 1. Disse indikerer hvorvidt en værdi er gældende eller ej, hvor 1 betyder at den er, og 0 betyder at den ikke er. Dette fungerer ved, at man har et talsystem som hedder 1, 2, 4, 8, 16, 32 etc. Hver af disse værdier kan være aktiveret (med 1) eller ikke aktiveret (med 0). Man kan så finde den korresponderende værdi i decimaltal ved at lægge alle værdierne sammen. Eksempel. Et binært tal 010010. Værdierne 2 og 16 er aktiveret, altså er den tilsvarende decimale værdi 2+16=18. Det er muligt at få alle decimale værdier med det binære talsystem. Nikki Mitchell og Jacob Thuesen Side 6 af 20 08-02-2010

Det hexadecimale talsystem Det hexadecimale talsystem er baseret på grundtallet 16. Vi har følgende tal i det hexadecimale talsystem: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f. Hvor a, b, c, d, e, f svarer til 10, 11, 12, 13, 14, 15. Kommunikationsteori: Shannon og Weavers kommunikationsmodel Denne model er blevet kaldt the mother of all models, altså alle modellernes moder. Modellen legemliggør koncepterne bag ikke altid lige håndgribelige begreber som informationskilde, besked, sender, signal, kanal, støj, modtager, kodning, afkodning, etc. Overstående et et eksempel på Shannon og Weavers kommunikationsmodel. Dette eksempel viser en korrespondance imellem to instanser. Dette kan både, som modellen viser, være imellem to mennesker, men det kan også være en legemliggørelse af interaktionen imellem to instanser i et system, eksempelvis et Arduinosystem. Begreber fra bogen Getting Started with Arduino Prototyping At skabe interagerende systemer, og at forsøge at forbedre disse. Tinkering At eksperimentere med teknologien uden noget endeligt mål. Eksempelvis kan man bruge en gammel teknisk ting, og så ændre på den, for at se hvad der sker. Overstående er blot et lille udpluk af de mange begreber der er at finde i Arduinobogen, men de illustrerer den tankegang der ligger til grund for Arduinosystemet. Det handler i og for sig blot om lysten til at kunne skabe noget. Arduino appellerer til ens lyst til at eksperimentere med tekniske kredsløb Nikki Mitchell og Jacob Thuesen Side 7 af 20 08-02-2010

Arduino opgave - Blink I denne opgave brugte vi Arduino til at få lampen til at blinke. Vi kunne ændre hastigheden for at få den til at blinke hurtigere eller langsommere. Kildekoden er som følger: const int ledpin = 13; void setup() { pinmode(ledpin, OUTPUT); void loop() { digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(1000); Her ses det at vi først definerer hvor dioden er placeret - i pin 13. Dernæst fortæller vi at dioden er vores output. Setup() kører kun en enkelte gang når programmet startes, i forhold til næste kommando loop(), som fortsætter til programmet stoppes. I loopet tændes dioden (beskrevet ved HIGH) og forbliver tændt i ét sekund, indtil dioden slukkes (beskrevet ved LOW) i ét sekund. Herefter starter loopet forfra. Nikki Mitchell og Jacob Thuesen Side 8 af 20 08-02-2010

Arduino opgave - Graph Opgaven blev brugt som forberedende øvelse til det egentlige projekt. Opgaven viser klart hvordan man tilslutter komponenter til boardet, behandler disse, samt de outputs det frembringer. Til sidst i øvelsen benytter vi også programmet Processing til at illustrere resultaterne på en graf. Konkret går opgaven ud på at opnå informationer om lysstyrke ved hjælp af en lysfølsom enhed. Koden til Arduino er givet på forhånd og ser således ud: void setup() { Serial.begin(9600); void loop() { Serial.println(analogRead(0)); delay(10); Først startes programmet, dernæst loopes handlingen hvor input fra enheden printes i Serial Monitoren, med et interval på 10ms. Koden til Processing er også givet på forhånd og er derfor ikke enormt interessant. Resultatet af grafen blev dog således: Her er lysstyrken ændret ved hjælp af en skyggende hånd, samt en lysende lommelygte, og derved kan de store svingninger ses. Nikki Mitchell og Jacob Thuesen Side 9 af 20 08-02-2010

Første prototype Krav- og testspecifikation For vores prototype er det vigtigste krav at vi får en form for output fra systemet, som opfører sig overens med de forhold som temperaturer opfører sig under. Dette testes naturligvis ved at sætte det til computeren og køre programmet og dernæst tjekke om vi opfanger et output fra Serial Porten. Design Vi designer vores program og arduino-board ud fra samme fremgangsmåde som i eksemplet "Graph", dog skal LDR'en udskiftes med en temperaturfølsomenhed. Implementering Det viser sig at vi kan bruge præcis samme kode til temperaturmåleren, som vi brugte til lysstyrkemålingen i "Graph". Opstillingen ser nu således ud: Test Tilslutter vi denne til computeren og iagttager Serial Monitoren får en lang række værdier, som øges når vi varmer enheden op, og falder når den afkøles. Vi kan altså herudfra konkludere at enheden opfører sig som forventet, og at værdierne skifter i forhold til temperaturen. Dermed har prototypen bestået ud fra de krav som blev stillet i kravspecifikationen. Nikki Mitchell og Jacob Thuesen Side 10 af 20 08-02-2010

Anden prototype Krav- og testspecifikation Ved denne prototype ønsker vi at få en diode til at blinke når temperaturværdierne overskrider to set points. Imellem disse to punkter skal dioden være slukket. Dette testes ved at tilføje kommandoer til de specifikke værdier, og dernæst ændre temperaturen på måleren og se om diode opfører sig i overensstemmelse med Serial Monitoren. Design Vi bygger videre på koden fra første prototype, men indsætter denne gang if-statements, der skal definere i hvilke intervaller at dioden skal blinke. Ud fra første prototype har vi fundet et omtrentligt interval hvori værdierne bevæger sig ved stuetemperatur og når man varmer måleren op med fingrene. Ud fra dette kan vi vælge to set points, så testen kan udføres. Implementering Først isætter vi en diode i pin 13. Så ser systemet således ud: Nikki Mitchell og Jacob Thuesen Side 11 af 20 08-02-2010

Herunder ses den nye programkode: const int analogpin = 0; const int ledpin = 13; void setup() { pinmode(ledpin, OUTPUT); Serial.begin(9600); void loop() { int analogvalue = analogread(analogpin); if (analogvalue < 650) { digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(1000); if (analogvalue > 700) { digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(1000); else { digitalwrite(ledpin,low); Serial.println(analogValue, DEC); delay(1000); Det ses, at først defineres udgangene på hhv. temperaturmåleren og dioden. Dernæst startes programmet og loopet udføres. Først i loopet defineres en variabel - analogvalue. Denne er blot værdien som bliver modtaget fra måleren. Dernæst opstilles tre vilkår med if-statements; er analogvalue under 650, over 700, eller midt imellem. Hvis et vilkår er opfyldt udføres en specifik opgave - ved de to første vilkår vil en diode blinke i etsekundsintervaller, i det sidste vil dioden være slukket. Til sidst vises også værdien for inputtet. Nikki Mitchell og Jacob Thuesen Side 12 af 20 08-02-2010

Test Denne test er udelukkende visuel, og vi så at dioden blinkende som den skulle ved samtidig at holde øje med værdierne. Dermed er anden prototype godkendt i overensstemmelse med de stillede krav. Kalibrering Før vi kan gå videre til næste punkt er vi nødsaget til at foretage en kalibrering af vores måleudstyr. Derved menes at vi skal opnå et output i de enheder vi ønsker, hvilket i dette tilfælde er grader celsius. Vi bliver derfor nødt til at finde en række sammenligningspunkter, hvorefter vi kan tjekke om forholdende er proportionale mellem den reelle temperatur og de værdier systemet giver os. For at finde disse punkter måler vi temperaturen med et termometer og noterer den tilsvarende værdi på temperaturmåleren. Vi fik følgende resultater: Cº Ard 21,6 614 35,7 725 25 648 34,2 710 30,3 692 Med disse kan vi opstille en graf for at se om punkterne er tilnærmelsesvis lineære: R-værdien på næsten 0,99 viser os at linjen er godkendt, og derved kan vi opstille vores ligning som bliver følgende: Nikki Mitchell og Jacob Thuesen Side 13 af 20 08-02-2010

Produkt Krav- og testspecifikation Det endelige produkt skal overholde de krav som blev stillet i opgaveformuleringen: Arduino-programmet skal aktivere en aktuator når den målte værdi underskrider det nederste setpunkt. Når den målte værdi overskrider det øverste setpunkt skal programmet aktivere en anden aktuator. Eksempel: Temperaturen i et drivhus skal holdes mellem 25 og 30 grader Celsius, ved at åbne og lukke tagvinduerne. Åbning og lukning af vinduerne simuleres ved at tænde og slukke lysdioder eller motorer. Opstillingen skal kalibreres, f.eks. således at temperaturen vises med enheden grader Celsius. Istedet vælger vi dog at vise det mellem 20 o C og 25 o C, da disse temperaturer er nemmere at opnå ved testen. Desuden ønsker vi at hastigheden af diodens blink skal variere alt efter om temperaturen er for høj eller for lav, og så skal output i Serial Monitoren vises i grader celsius. Dette testet på samme måde som prototyperne - ved at holde øje med systemet, samtidig med at temperaturen varieres. Design Design af program og board er umiddelbart ikke voldsomt ændrede i forhold til anden prototype. Dog tilføjer vi en kommando for at omregne input til grader celsius. Når værdien går under 20 o C vil dioden blinke med et-sekundsintervaller, hvorimod den vil blinke 10 gange i sekundet hvis temperaturen overstiger 25 o C. Nikki Mitchell og Jacob Thuesen Side 14 af 20 08-02-2010

Implementering Koden til det endelige produkt ser således ud: const int analogpin = 0; const int ledpin = 13; void setup() { pinmode(ledpin, OUTPUT); Serial.begin(9600); void loop() { int analogvalue = analogread(analogpin); int tempc = (analogvalue - 454.44)/ 7.6076; if (analogvalue < 606.592) { digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(1000); if (analogvalue > 644.63) { digitalwrite(ledpin, HIGH); delay(100); digitalwrite(ledpin, LOW); delay(100); else { digitalwrite(ledpin,low); Serial.println(tempc, DEC); delay(1000); Det ses at vi har tilføjet en variabel, tempc, som er givet ved den førnævnte kalibreringsligning. Sidst i koden har vi også ændret printet til celsius værdien i stedet for analogvalue. Nikki Mitchell og Jacob Thuesen Side 15 af 20 08-02-2010

Test Testen foregår igen visuelt, og foretages ved at iagttage systemet, mens temperaturen. Denne gang blev det sikret at temperaturen svingede under 20 O C og over 25 o C, for at den nye funktion kunne testes. Produktet fungerede i overensstemmelse med de stillede krav og betragtes som godkendt. Nikki Mitchell og Jacob Thuesen Side 16 af 20 08-02-2010

Illustration af programmet vha. Processing Vi kan illustrere temperatursvingninger ved hjælp af en graf i programmet processing. Koden er den samme som fra Graph og kan findes på Arduinos hjemmeside: import processing.serial.*; Serial myport; int xpos = 1; void setup () { size(400, 300); println(serial.list()); myport = new Serial(this, Serial.list()[0], 9600); myport.bufferuntil('\n'); background(0); void draw () { void serialevent (Serial myport) { String instring = myport.readstringuntil('\n'); if (instring!= null) { instring = trim(instring); float inbyte = float(instring); inbyte = map(inbyte, 0, 100, 0, height); stroke(127,34,255); line(xpos, height, xpos, height - inbyte); if (xpos >= width) { xpos = 0; background(0); else { // increment the horizontal position: xpos++; Resultatet ved tilfældige temperaturændringer blev således: Nikki Mitchell og Jacob Thuesen Side 17 af 20 08-02-2010

Konklusion Informationsteknologi B: redegøre for grundlæggende funktioner af it-komponenter (hardware og software) og samspillet mellem dem Dette ses i stor grad i teoridelen hvor der er forklaret om en lang række begreber der dækker netop dette område, og dermed også i hvilken sammenhæng de kan benyttes. redegøre for samspillet mellem it-komponenter og de fysiske omgivelser. Projektets kerne ligger i at udnytte de fysiske omgivelser, konkret temperaturen, til at designe og regulere vores IT-system. Derfor giver opgaven som helhed et klart billede af hvordan dette mål er opnået. realisere prototyper på it-systemer herunder kunne installere, konfigurere og tilpasse relevante ITkomponenter Igen viser projektet som helhed hvordan dette punkt er opfyldt. Vi starter på bar bund og skal udarbejde en simpel prototype (første prototype) og derefter i små skridt udvikle, kalibrere og redigere denne for at komme til det endelige resultat. Programmering C: Anvende integrerede udviklingsmiljøer (Integrated Development Environments) Dette mål er opfyldt ved både at benytte Arduino og Processing, som begge opfylder de krav der er til IDE. Øve brugen af systemudviklingsmetoden Kigger man på opbygningen af denne rapport, og dermed også vores fremgangsmåde, vil man overordnet se at rapporten er opbygget ud fra systemudviklingsmetoden, mens underpunkterne også benytter sig af metoden. Derved benyttes samme metode til at give en naturlig kobling igennem hele projektet. Øve dokumentation af programmer Da vi har skrevet og dokumenteret forløbet i denne rapport er dette krav også opfyldt, da netop dette dokumentationsarbejde må antages at være en øvelse. Nikki Mitchell og Jacob Thuesen Side 18 af 20 08-02-2010

Studieområdet del 2: dokumentere viden om forskellige arbejds- og samarbejdsformer og planlægge og anvende disse hensigtsmæssigt i praktiske forløb Dette mål kommer ikke direkte til udtryk i denne rapport, men ligger som grundlag for en lang række af de ting som indgår i rapporten. Fx er teorien om det binære og hexadecimale talsystem baseret på læreroplæg, mens koden til de første prototyper er kommet af selvstændigt studie. Udviklingen af disse skete derimod i samarbejde med og med inputs fra flere forskellige medstuderende. Udarbejdelsen indeholder altså, under overfladen, en lang række af arbejdsformer, som alle har haft indflydelse på det endelige resultat. Nikki Mitchell og Jacob Thuesen Side 19 af 20 08-02-2010

Kildeliste http://en.wikipedia.org/ http://www.arduino.cc/ http://www.processing.org/ Getting Started with Arduino af Massimo Banzi Nikki Mitchell og Jacob Thuesen Side 20 af 20 08-02-2010