41030 Design af mekatronik. Project 1: Sensors & data Gruppe 10.2. Sofus Addinton s124141 Daniel Vorting s141018 Nikolai Eskild Jensen s145325

Relaterede dokumenter
Arduino kursus lektion 4:

Resultater af test og evaluering af Stress Graph i Psykiatriens hverdagstestere. Testperiode: 25. januar 30. marts 2016

Variabel- sammenhænge

FAQ. Waoo! Web TV på computeren. Fiberbredbånd TV Telefoni

SDB. MySQL Installation Guide

Arduino Programmering

Go On! 7. til 9. klasse

Til underviseren. I slutningen af hver skrivelse er der plads til, at du selv kan udfylde med konkrete eksempler fra undervisningen.

Microcontroller, Arduino

Tilslutning af udstyr Sådan forbinder du computer, telefon og TV til fiberboksen

Måling af graffiti i Frederiksberg Kommune

Årsafslutning i SummaSummarum 4

Kort og godt om NemID. En ny og sikker adgang til det digitale Danmark

VEJLEDNING SPAMFILTERET. 1. Udgave, august 2015 Tilpasset FirstClass version 12.1, Dansk


Når mor eller far er ulykkesskadet. når mor eller far er ulykkesskadet

Start med at vælge hvilken afdeling der skal laves ændringer i f.eks. fodbold.

Generisk programmering - opgave 2 - Doxygen

Arduino kursus lektion 3:

Videopoint. Vejledning til simpelt brug

GoTime Grundlæggende vejledning Om denne brugervejledning

Statistikkompendium. Statistik

Er du mand for dit helbred?

Microcontroller, Arduino

Arbejdsmiljøgruppens problemløsning

Målstyret undervisning og tegn på læring

MANUAL ISOREADER. Ver SKIOLD GØR EN FORSKEL!

Traditionen tro byder august september på forældremøder i de enkelte klasser,

Projekt ID. Funktionen anvendes til:

Velkommen til 2. omgang af IT for let øvede

Notat om håndtering af aktualitet i matrikulære sager

Pinsedag Joh. 14,15-21; Jer. 31,31-34; Apg. 2,1-11 Salmer: 290, 300, ,292 (alterg.), 298

Telefoni Brugervejledning

Manual til skinnelayoutprogram

Resultater af test og evaluering af Remories i Psykiatriens hverdagstestere. Testperiode: 28. april 20. juni 2016

Transskription af fokusgruppeinterview på Brårup Skole, Skive

GT1000 Brugervejledning

Programmering C. Casper Hermansen Klasse 2.7 Programmering C. Navn: Casper Hermansen. Klasse: 2.7. Fag: Programmering C

Pendulbevægelse. Måling af svingningstid: Jacob Nielsen 1

Basal statistik for sundhedsvidenskabelige forskere, forår 2015 Udleveret 3. marts, afleveres senest ved øvelserne i uge 13 (

Clublog Dansk vejledning af OZ0J Version 1.0 opdateret juli Forord. Denne vejledning indeholder opstart og løbende brug af Clublog.

PERSONALE- OG LEDELSESPOLITIKKEN SAT I SPIL

Vejledning til personlige funktioner på MIT DANSKE ARK ( eksklusive profil og cv) Indholdsfortegnelse:

Villys Studiekreds Præsentation af slægten på en hjemmeside.

Nu siger man at levetid på t8 rør er 1 år og på t5 rør ca 5 år. hvorfra kommer de tal, er det phillips der har opgivet de tal eller hvor er de fra.

Gode råd om læsning i 3. klasse på Løjtegårdsskolen

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

Et træningstilbud til borgere med erhvervet hjerneskade

Folkesundhed Aarhus Dit Liv - Din Sundhed

Få mere ud af fjernvarmen. og spar penge

ARDUINO PROGRAMMERING

Job i Avis. Fotograf. Mit kamera er digitalt, og på den lille skærm kan jeg se billederne. Nu tror jeg faktisk, at jeg har taget nok.

Lederadfærdsanalyse II egen opfattelse af ledelsesstil

Ældresagen datastue Aktivitetsteltscentret Bavnehøj Nørre Snede Tema: Internettet på ipad. Tema. Internettet. på ipad Opdateret 29.

Brugervejledning. til. Landsforeningen Danske Folkedanseres. Medlemssystem (For dansere)

Ansøgervejledning for elever i 9. kl. Brugervejledning til Optagelse.dk

Projekt Når maskinen reagerer - Dataopsamling og aktuatorer

Notater fra temamøde om branding og værdiskabelse fra byggepladser og bygninger

Det er altså muligt at dele lige på to kvalitativt forskellige måder: Deling uden forståelse af helheden Deling med forståelse af helheden

Tillykke med din nye ipad. Denne guide hjælper dig med at oprette et Apple-ID mens du sætter din ipad op

Dansk Ride Forbunds Stævnesystem Netværksopsætning

INDHOLDSFORTEGNELSE INDLEDNING KAPITEL ET... 9 Gratis Dropbox-konto. KAPITEL TO Dropbox uden installation

IntoWords ipad Tjekliste

APV og trivsel APV og trivsel

Pia Schiermer, Underviser ved UNI-C og Amtscentrene 2 pia@schiermer.dk

CANSAT & ARDUINO step by step

Retfærdighed betyder ikke at alle får det samme. Retfærdighed betyder at alle får hvad de har brug for

tre gange. Der er ikke noget at sige til, hvis Peter sidder og vrider sig lidt i den dårlige samvittighed.

Kommer der automatisk flere i arbejde, når arbejdsstyrken øges?

Bilag F - Caroline 00.00

UFAGLÆRTE HAR FORTSAT DE MEST USIKRE JOB

Vejledning til dagpengekortet på Selvbetjeningen

Brugermanual - NT s kvalitetsdatabase

VIA læreruddannelsen Silkeborg. WordMat kompendium

D-Star - Digital Smart Technologies for Amateur Radio.

Pilot projekt - Fjernaflæste måler. Brian Truegaard Teamleder 2015

Bilag 14: Transskribering af interview med Anna. Interview foretaget d. 20. marts 2014.

VEJLEDNING Smartphone Applikation

ArbejdsPladsVurdering

BØRN OG UNGE Notat November Samlet resultat for sprogvurdering af 3-årige i 2009

Vejret Lærervejledning og opgaver klasse

SPØRGESKEMAUNDERSØGELSE

Crowdsourcing, Innovation og brugerinvolvering

IndFak Kontrakt manual

L: Præsenterer og spørger om han har nogle spørgsmål inden de går i gang. Det har han ikke.

WebGIS. Zoom. Klik på knappen Startside (skift øst/vest) hvis du vil se kommuner i den anden landsdel. September 2014

Brugervejledning. ETKA Integration til KT15 i Onlinesystemet

Lektion 9 Statistik enkeltobservationer

Karen elsker sommer. Lørdag morgen Det er lørdag morgen. Klokken er 7. Karens mobiltelefon ringer. Det er vækkeuret. Karen slår det hurtigt fra.

Overgangen til RejsUd fra andet rejseafregningssystem

Hvis du har den i mappen i forvejen skal du ikke hente den en gang til. Nu skal baggrundsbilledet laves, så tryk på NY på ikonen foroven.

Katalogets formål er, at fungere som et værktøj i arbejdet med at optimere og udvikle rum og rumoplevelser. Mie Dinesen

Monteringsvejledning for AP900 til Hyundai i > med Original betjening

Rediger eller opret institutionsmedarbejder på en ungdomsuddannelse

guide efter ferien Arbejdsklar sider Styrk dit liv med Chris MacDonald Juli Se flere guider på bt.dk/plus og b.

Introduktion til forældre og andre voksne, der gerne vil være en del af vores verden

Digital post. AMU-nr

Det siger FOAs dagplejere om medicinadministration i dagplejen

PC - installation af Maple 2016 med GYM-pakken

Transkript:

41030 Design af mekatronik Project 1: Sensors & data Gruppe 10.2 Sofus Addinton s124141 Daniel Vorting s141018 Nikolai Eskild Jensen s145325 02-03-2016

Indholdsfortegnelse 1 Introduktion 2 2 Beskrivelse af sensorer 2 2.1 BMP085............................................... 2 2.2 RTC................................................. 2 3 Eksperimenterne 3 3.1 Værelse (Atmosfærisk tryk og temperatur over 3 dage)..................... 3 3.2 Værelse (Atmosfærisk tryk og temperatur over 7 timer).................... 3 3.2.1 Opstilling og fejl...................................... 3 3.3 Elevator............................................... 4 3.4 Trappe................................................ 4 4 Koden 4 4.1 Void setup.............................................. 4 4.2 Void loop.............................................. 5 5 Diskussion 5 6 Bilag 6 6.1 Kildekode.............................................. 6 6.2 Rådata................................................ 6 6.3 Datasheets............................................. 6 6.4 Grafer................................................ 6 1 af 9

1 Introduktion Vi har i dette forsøg arbejdet med et digitalt barometer, hvor vi har optaget tryk- og temperaturændringer på et værelse, samt ændringer ved bevægelse fra første til ottende etage i en bygning. Vi vil i denne rapport eftervise hvordan man kan bruge en Arduino, til at gemme data på et SD-kort, og lave relevant databehandling over opsamlede data. Vi vil benytte et BMP085 Bosch barometer (beskrevet i kapitel 2.1) til at måle trykket, i eksperimenterne. Projektet har til formål at gøre kendskabet til arbejde med sensorer, data-opsamling større og at skrive kode større, samt give et indblik i metrologiske fænomener der kan observeres med en Arduino. Det anbefales til gennemlæsning af denne rapport, at man har graferne ved hånden, så man kan observere dem samtidigt med at de bliver gennemgået. 2 Beskrivelse af sensorer 2.1 BMP085 Som nævt i kapitel 1 benytter vi et BMP085 Bosch barometer. Figure 1: BMP085 Bosch barometer BMP085 er en digital tryk, temperatur og højdemåler der gør det muligt at måle disse forskellige parametre med opsætning til eksempelvis en Arduino. Selve tryk-, temperatur- og højdemålingsenheden er den lille sølvfarvede firkant som ses på figur 1. Den måler absolute pressure som er trykket målt fra absolut vakum. Sensorens præcision er 1 Pascal og 0,1 C, hvilket er mere end rigelig nøjagtighed for vores eksperiment. På sensoren ses 6 pins, som udgør strøm (GND og VCC), data-transmissions pins SCL = serial clock og SDA serial data (som var dem vi brugte), og EOC = End of conversion output samt XCLR = Master Clear (low-active), som vi ikke gjorde brug af i dette projekt. 2.2 RTC RTC et fungerer ved at der sidder et eksternt batteri, som holder komponenten kørende selvom Arduinoen er slukket. Den fungerer ligesom et digitalt armbåndsur, der giver strøm til en lille krystal, der så vibrerer og som kan aflæses og give chippen den korrekte tid/dato. På figur 2, ses at RTC en har 6 pins. De 4 af dem som vi gjorde brug af er VCC = strøm, GND = ground, SDA = Serial Data og SCL = serial clock. 2 af 9

3 Eksperimenterne Figure 2: Den RTC, Real Time Clock, vi benytter i eksperimentet 3.1 Værelse (Atmosfærisk tryk og temperatur over 3 dage) I dette eksperiment forsøgte vi at måle lufttrykket på et værelse over 3 dage. Vores antagelse inden forsøgets start var, at de målte data ville stemme nogenlunde overens med målte data fra et professionelt metrologisk institut (DMI). Desværre mislykkedes forsøget, da filen blev korruperet. 3.2 Værelse (Atmosfærisk tryk og temperatur over 7 timer) Her forsøgte vi at opnå samme resultater som ovenfor, desværre under stort tidspres (forklaret yderligere i 3.2.1). Som det kan ses på grafen, kan man tydeligt se, da værelsets vindue bliver åbnet om natten, og temperaturen derfor falder indtil det igen bliver lukket, og radiatoren opvarmer lokalet igen. Derudover ses også et spring i trykket, når vinduet åbnes og lukkes (som kommenteret på i grafen). Men samlet kan man se, at trykket falder henover natten, hvilket stemmer godt overens med de online data vi kan finde. På figur 3 ses det tydeligt at trykket falder fra omkring 1001 hpa til 991 hpa i løbet af natten. Det er et udtryk for at vejret bevæger sig mod overskyet og regnfuldt. Hvilket også stemmer overens med observeret vejr. Vi kan se på temperaturen i figur 4 falder den drastisk da vinduet bliver åbnet og falder helt indtil ca. kl. 4:30 hvor vinduet igen bliver lukket og radiatoren opvarmer lokalet. 3.2.1 Opstilling og fejl Udover de forrige forsøg blev det, vi troede skulle blive det endelige eksperimentet, opsat og testet lørdag d. 27/2 ved 22:45 og fik lov at stå natten over og indtil tirsdag d. 1/3 kl. 22:45. Noget gik dog galt her, og derfor blev vi nødt til at sætte data til logging henover natten fra tirsdag d. 1/3 kl. 23:00 til onsdag morgen kl. 06:45. Vores data blev opsamlet af et digitalt barometer, som gemte dataen på et tilkoblet SD kort. Vores kode er skrevet således, at der blev taget en måling pr. sekund. Hele vores setup har været tilkoblet en USB til 230v omformer, så den har været tilsluttet ekstern strøm udenom en computer. Vi har derfor valgt, kun at se på natten mellem d. 1. marts, og d. 2 marts. Vi observerede, at vejret skiftede fra højttryksvejr til lavtryksvejr, og onsdag morgen var det typisk lavtryksvejr med overskyet himmel og regnvejr. På figur 3 er data for tryk vist på et diagram. Det er tydeligt at se, skiftet fra højtryk til lavtryk. 3 af 9

3.3 Elevator I dette eksperiment, vil vi måle lufttrykket i en elevator, ved op- og nedkørsel. Ved eksperimentet tilkoblede vi et 9v. batteri for at kunne bevæge os samtidigt med at Arduinoen kørte Vi startede målingen ved at stille os ind i elevatoren og begyndte målingen på boardet ved at trykke RS-knappen ind ved 0. etage. Derefter kørte vi op til 8. etage. og trykkede RS-knappen ind igen. Det gjorde at vi på SD-kortet ville få et break med en ny header, og derved kunne vi se, hvornår vi skiftede til ny måling. Derefter kørte vi ned igen, men på vejen ned blev elevatoren stoppet på 5. etage og ventede der noget tid inden vi kørte ned til 0. etage, hvor vi resatte med RS-knappen igen. Som det kan ses på vores målinger i figur 6 når vi kører op med elevatoren falder trykket og på figur 7 ses det at da vi kører ned stiger trykket og udjævnes på 5. etage, og stiger derefter igen når elevatoren fortsætter mod 0. etage. Der er altså en god sammenhæng mellem højde og tryk som forventet. 3.4 Trappe I dette eksperiment, vil vi måle lufttrykket når vi går op og ned ad en trappe. Her forventede vi en mere jævn fordeling af trykket, fordi vi ikke f.eks. blev bremset af andre der skulle ind og ud af elevatoren (som ved 5. etage i elevator-eksperimentet) og målingen foregår over længere tid. Som det ses på figur 8 sker der nogen udfald i den ellers meget pæne lineære graf. Det kan skyldes at trappeopgangen er et lukket rum, hvor en flere døre både forbinder til andre gange, og en større dør der fører udenfor. Når disse åbnes og lukkes af andre personer, kan det resultere i disse udsving, fordi trykket ændres af f.eks. blæst udefra når en dør åbnes. På grafen ses dog et forholdsvis jævnt fald i trykket i takt med at vi bevæger os fra 0. etage til 8. etage 4 Koden Første iteration af koden blev allerede skrevet den 07/02, det er denne tidlige kode, som der er blevet bygget videre på i alle iterationer. Første iteration blev brygget sammen af eksempler fra forskellige relevante biblioteker, hvilket hvilket betød at der desværre blev overført nogle redundante klasser til koden, som først blev fjernet i senere iterationer. Konventionen for pæn kode foreskriver at man inkluderer objekter i topppen af af koden, selvom compileren læser hele koden inden den eksekveres. Vi inkluderer først nødvendige bibiloteker i koden. 4.1 Void setup I setuppet begynder vi Real time uret, første gang og indstiller dette. Kommandoen til at sætte uret er siden udkommenteret, men stadig inkluderet, da det gør det nemmere at sætte uret igen, såfremt at batteriet skulle løbe tør eller blive fjernet fra uret. Vi oplevede nogle problemer med Leonardo boardet. Det var nødvendigt at sætte nogle slukke pin 8 og sætte pin 17 til output, til trods for at vi ikke kører noget på disse pins If (!bmp.begin()) { delay(5000); Serial.print("waiting for bmp085 - Check wires"); } Dette stykke kode er inkluderet for at give bordet lidt tid til at starte ordenligt, såfremt at sensoren ikke er begyndt endnu. Det er altså blot en hurtig måde, sørge for at sensoren er klar til logge inden loopet 4 af 9

påbegynder. Det sikrer også at vi får en fejlmeddelelse, hvis bmp en er sat forkert i boardet, da koden aldrig vil eksekvere længere, men vi får en fejlmeddelse i serial monitoren. 4.2 Void loop Vi kalder sensor objketet i loopet og bruger kommandoerne fra dette til til at skrive dataen, både i serial monitoren og til SD kortet. Til seriel monitoren skriver vi dataen i naturligt sprog, altså Pressure: 1000.3 hpa..etc Mens vi blot logger dataen komma sepereret på kortet under den relevante header. Det er en af de primære opgraderinger fra de tidligere revisioner. Timestampet er således også skrevet i unixtid for at gøre databehandlingen lettere. 5 Diskussion Vi var i gruppen hurtige til at få skrevet og testet vores kode af så vi allerede efter første weekend efter opgaven var stillet, havde en færdig og brugbar kode til måling af vores data. Vi beslutte i gruppen at vi kunne logge dataen på en smartere måde, så vi slettede daten og reviderede koden. Version 2.0 blev skrevet efter vi fik udleveret RTC modulet og denne revision inkluderede RTC funktionalitet, hvor 1.0 loggede data på processorens clockspeed via. delays. 2.1 introducerede unixtid på sd kortet, men bibeholdt realtid i serial monitoren. Der blev også i denne revision skrevet en enkelt dataheader i setuppet således der kun blev skrevet data i loopet. Her skete der sandsynligvis en fejl. Da vi kopirede SD metoden til headeren. Der manglede nemlig datafile.close(); i loopet. Denne fejl blev rettet 2.2, men fordi vi har været for dårlige til revisionsstyring, og den endelige data skulle måles på en anden computer, blev denne rettelse aldrig inkluderet, hvilket naturligvis resulterede i at vores data korruperede i løbet af den 3-dages måling. Desværre har vores målinger lidt en del af, at vi har haft mange problemer med opsamling af data. Vi har siden opgaven blev stillet udført 3 3-dages målinger. De er mislykkedes af forskellige årsager, men den sidste menes at være grundet en revisionsfejl som har korruperet dataen på SD-kortet. Vores opstilling blev testet flere gange både før og efter fejlene, hvor det kørte uden problemer i kortere perioder. Kun da vi sidste gang fra tirsdag aften d. 1/3 til onsdag morgen d. 2/3 kørte en længere opsamling af data (ca. 7 timer) lykkedes det. Det har naturligvis resulteret i at vores data ikke blev opsamlet over det antal dage som det skulle. De data vi har logget viser en tydelig sammenhæng mellem det barometriske tryk som er blevet målt, og de data som vi kan få oplyst på nettet. Der er et tydeligt skift fra højttryksvejr til lavtryksvejr. Vores lufttryk går fra 1001 hpa til 991 hpa, hvilket stemmer godt overens med de online data. Ved vores dataopsamling i elevatoren kørte vi fra 0. til 8. etage på Rigshospitalets Kollegium. Dette resulterede i nogen rimelig gode data. Derefter kørte vi ned igen hvor elevatoren stoppede på 5. etage (hvilket tydeligt ses på målingerne) og derefter kørte videre. Til sidste forsøgte vi at gå distancen fra 0. til 8. etage på trapperne. Det gav nogen større udsving i data, men det kan stadig ses, at trykket falder. 5 af 9

6 Bilag 6.1 Kildekode Der er kun én kildekode til begge eksperimenter, det ikke lykkedes os at skrive en strømbesparende kode til det mobile eksperiment. Koden findes i mappen under code. 6.2 Rådata Dataen for de to eksperimenter, ligger i mappen under experiments. 6.3 Datasheets Datasheet for Bosch Sensortec BMP085, ligger i mappen under datasheets 6.4 Grafer Figure 3: Trykmåling på værelset 6 af 9

Figure 4: Temperaturmåling på værelset Figure 5: Trykmåling i København, kilde: wunderground.com 7 af 9

Figure 6: Figure 7: 8 af 9

Figure 8: Trappe eksperimentet 9 af 9