TFE4850 Eksperter i Team - Studentsatellitt Infrarødt kamera Prosjektrapport

Størrelse: px
Begynne med side:

Download "TFE4850 Eksperter i Team - Studentsatellitt Infrarødt kamera Prosjektrapport"

Transkript

1 TFE4850 Eksperter i Team - Studentsatellitt Infrarødt kamera Prosjektrapport Eirik Marthinsen Geir-Arne Fuglstad Jørn Skogsrud Magnus Botnan Sindre Hansen 5. mai 2010

2 TODO: Bør skrive noe her Sammendrag

3 Innhold 1 Innledning 4 2 IR-kamera IR-kamera Hva er IR? Hvordan fungerer et IR-kamera? Hva kan vi bruke IR til? Hvilken nytte har dette? Brennvidde vs. sensorstørrelse Kritisk feilanalyse Objektiv Termografisk kamera Bruksområder Nær-infrarødt kamera Bruksområder Satellitteori Plassering av bilde Baneteori Solsynkron bane Tidskorreksjon Numerisk beregning Nettløsninger Hjemmeside En praktisk beskrivelse av hjemmesiden Hva er en god hjemmeside? Forsiden: Brukerens første møte med IR-Earth Bildesøk: Nettsidens viktigste del Øvrige deler av siden Den tekniske delen ved utvklingen av hjemmesiden Kravspesifikasjoner Databaser Nettsiden Fra server til applikasjon: Unix-skript D-fremvisning

4 4.4.1 Krav Muligheter Nødvendige Java-biblioteker Java 3D Utplassering av bilder Rotasjon Henting av bilder fra database Resultater Realisering av kameraprototype Mikrokontroller Kode Lysfilter Strømforsyning Objektiv Applet Implementasjon Nærmeste-nabo interpolasjon Overføringshastighet Diskusjon Kameraprototypen Hjemmesiden Applet Konklusjon 37 Bibliography 41 A Datablad for IR-kamera 41 3

5 Kapittel 1 Innledning Faget Eksperter i Team ble opprettet i 2001 som et svar på næringslivets ønsker om studenter med mer erfaring fra tverrfarlig samarbeid. Et stadig økende krav til spesialisert kunnskap og økende kompleksitet i prosjekter har ført til at erfaring, kunnskap om og evne til tverrfaglig samarbeid har blitt et viktig fokuspunkt. EiT ble arrangert for 10. år på rad våren 2010 med 1642(NTNU[19]) studenter fordelt på 61 landsbyer, hver med et eget tema. Vår gruppe(ir-earth) var en del av Studentsatellittlandsbyen og besto av fem medlemmer. Studentsatellitt er et større prosjekt som også har inkludert prosjekt- og masteroppgaver, og bidrag gjennom EiT har vært en relativt viktig del av dette prosjektet, både som problemløsing og introduksjon for studenter som senere velger å fordype seg i studentsatellittprosjektet. Nasjonalt senter for romrelatert opplæring(narom) var ekstern kontakt for vår landsby. Det er tenkt at studentsatellitt skal følge CubeSat-standarden. Denne standarden er utviklet ved California Oplytechnic State University(CubeSat[21]). Den gir en billigere og enklere måte for NTNU å utvikle og få sendt opp en satellitt, enn å måtte designe en slik standard selv. I denne forbindelse så vi på en type nyttelast for en slik type satellitt. Vi valgte å jobbe med et prosjekt om hvordan et IR-kamera kan brukes på en studentsatellitt. Vår problemstilling var Vurdere muligheten for å sende opp et IR-kamera og bruke det til å ta bilder. Videre se på muligheten for å sende disse til bakkestasjon på jorden og vise bildene på en hjemmeside. Med denne problemstillingen ønsket vi å velge en bredere oppgave enn bare å se på den tekniske delen av kameraet. Dette er fordi det i tillegg ga oss muligheten til å se på hvordan slike data kan gjøres tilgjengelig for folk flest, og på den måten skape interesse for dette prosjektet også utenfor studentsatellittmiljøet. Siden Kamera-Gruppen som var på samme landsby som oss, valgte å blant annet å se på overføring av bilder fra satellitt til bakkestasjon, valgte vi å fokusere på selve IR-kameraet og en nettløsning for å vise de. I hovedsak jobbet tre personer med selve kameraet og posisjonering av satellitten, mens to personer hadde hovedansvaret for nettløsning. 4

6 Kapittel 2 IR-kamera 2.1 IR-kamera Hva er IR? Infrarød stråling (IR) er elektromagnetisk stråling med bølgelengde mikrometer. Sensitiviteten til menneskets øye for elektromagnetisk stråling faller raskt når bølgelengden blir over 700nm, så for det blotte øyet er ikke infrarød stråling synlig. Forskjellige elektroniske sensorer kan derimot oppfatte infrarød stråling, noe som gjør at man kan ta bilder med lys fra det infrarøde spekteret mye på samme måte man tar vanlige fotografier. IR kan også brukes når det er lite eller ikke noe synlig lys til stede, noe som blir utnyttet til flere formål, blant annet innen overvåking og militæret. Alle objekter gir fra seg svartkroppstråling i et spekter definert av temperaturen til legemet, noe som gjør at man ved hjelp av et termografisk kamera (et IR kamera som er følsomt for de frekvensene som sendes ut ved svartkroppstråling ved romtemperatur) kan se temperaturen til omgivelsene. Dette er noe av det som danner basisen for at det er interessant å sende opp satelitter utstyrt for å oppfatte infrarød stråling Hvordan fungerer et IR-kamera? IR-kameraer kan hovedsaklig deles inn i to kategorier, kjølte og ukjølte kameraer. Disse opererer på helt forskjellige måter. Et kjølt IR-kamera fungerer stort sett på samme måte som et kamera for synlig lys, bortsett fra at frekvensområdet er i den infrarøde delen av spekteret. Virkemåten her er at fotonene eksiterer elektonene i halvlederen ut av valensbåndet og lager en strøm som kan registreres. Forskjellen ligger i at energien til fotonene i IR-spekteret er så lav at den termiske energien ved romtemperatur vil overdøve signalet. Derfor trengs det aktiv kjøling av sensoren for å få et tilfredsstillende støy/bilde-signal. Et slikt system er relativt plass- og energikrevende, og derfor dårlig egnet til bruk på en cubesat. Halvledere som har lite nok båndgap til at IR-stråling skal klare å eksitere elektronene er også meget dyrt, og masseproduseres ikke på samme skala som silisium. 5

7 Et ukjølt IR-kamera fungerer ved at varmeenergien fra IR-strålingen treffer et pyroelektrisk eller ferroelektrisk materiale, eller et mikrobolometer, som igjen gir en forandring i motstand, spenning eller strøm som kan detekteres. Det er forskjellig prinsipp fra de kjølte IR-sensorene ved at fotonene ikke slår løs elektronene direkte. Ukjølte sensorer har ikke samme krav til temperaturregulering som de kjølte sensorene, og trenger heller ikke lages av like eksotiske materialer. Til gjengjeld har ukjølte sensorer mye lavere nøyaktighet og følsomhet, men i en cubesat vil ikke dette være et stort ulempe da mengden data som kan overføres er meget begrenset Hva kan vi bruke IR til? IR-bilder og -video er relativt utbredt innen overvåkning og innbruddsalarmer. Mindre IRkameraer har også utbredelse innen brannvesen hvor det brukes for å få oversikt over branner, innen bygningsbransjen hvor det kan brukes for å kontrollere isolering og finne hot spots og flere andre bruksområder. Mer avanserte og høyoppløste IR-kameraer, samt kameraer som kan oppfatte både deler av det synlige og infrarøde spekteret brukes i det militære for overvåkning og samling av informasjon, og er ofte eksportbegrenset. IR-bilder brukes også innen meterologi og klimaforskning for å overvåke blant annet skyer og havstrømmer, og det er dette som er det mest interessante bruksområdet for thermografiske kameraer i satellitt Hvilken nytte har dette? Ved å kunne skyte opp flere og billigere satellitter utstyr med IR-følsomme kameraer kan man få oftere oppdatert og mer detaljert meteorologisk data. Ved å finne billigere metoder for å samle data kan man samle inn større mengder data og bruke dette til å lage mer pålitelige værmeldinger, samt gi større muligheter til overvåkning av blant annet værfenomener som orkaner. Mer data om havstrømmer og skyformasjon/bevegelse kan også være med å på lage bedre modeller for klimaet/global oppvarming Brennvidde vs. sensorstørrelse De fleste som har drevet med fotografi er vant til at fokallengden til objektivet tilsvarer en bestemt field of view. Dette er sant når man snakker om et system med fast størrelse på bildebrikken/filmen, men et IR-kamera i en satelitt vil gjerne bruke sensorer som har betydelig mindre fysisk størrelse enn 35mm-formatet som har vært standard på filmkameraer. Fordelen med å bruke mindre sensorer er at man kan få et mindre field of view ved samme fokallengde, samt at objektivene ikke trenger å projisere bildet over et like stort område. Forholdet mellom Angle of view og brennvidden kan beskrives vha ligningen α = 2 arctan d hvor α er vinkelen 2f på synsfeltet, d d er diameteren på sensoren og f er fokallengden. Ut fra denne ligningen ser vi at hvis vi har små sensorer med liten d kan vi bruke mye kortere fokallengde og allikevel få like stor eller like liten synsvinkel som hvis vi skulle brukt en større sensor og lenger fokallengde. 6

8 Kategori Følger Tabell 2.1: lol1 1 Katastrofiske feil, eller tap av redundans eller evne til å oppdate feil som kan føre til katastrofiske feil 2 Tap av evne til å gjennomføre oppdrag, eller tap av redundans som skal forhindre tap av evne til å gjennomføre oppdrag 3 Senket evne til å gjennomføre oppdrag 4 Mindre feil, ikke relevant for gjennomføringen av oppdrag Kritisk feilanalyse Når man designer instrumenter som skal være del av en satelitt er det viktig å kartlegge hvilke komponenter som kan feile, hvordan de kan feile, og hva som eventuelt blir konsekvensen av dette. Etter at en satellitt først har blitt skutt opp i rommet er det ingen mulighet for reparasjoner eller vedlikehold, så alt må virke som det skal fra begynnelsen. For å gjøre dette vanskelig er oppskytningen en relativt stor fysisk påkjenning, og i rommet blir elektronikken utsatt for store mengder stråling. Dette gjør at komponenter kommer til å slutte å virke før eller senere, og det er viktig å tenke på dette i designet av både hardware og software i satellitten. Failure Modes, Effects, Criticality Analysis er betegnelsen på et bottom-up, induktivt system for å skaffe en oversikt over potensielle problemer, sannsynligheten for at de inntreffer, og konsekvensene dersom de gjør det. Feilene rangeres så etter hvilke konsekvenser de vil ha dersom de inntreffer, slik at man kan dirigere ressurser og prioriteringer der de vil ha mest nytte. Kritisk feilanalyse kunne blitt viet mye større oppmerksomhet, og ført til relativt lange teoretiske utredninger, men denne rapporten vil kun inneholde en relativt kort oppsummering da det finnes flere forskjellige standarder på området. Alvorlighetsgraden av feil på komponenter kan deles inn etter flere forskjellige systemer, men en grov inndeling etter en amerikansk standard (MIL-STD-882) kan en se på figur 2.1. Feil som kan påvirke et eventuelt kamera i satellitten kan f.eks være som i figur 2.2 Ved konstruksjon av en potensiell satellitt bør kritisk feilanalyse utføres for alle delene av satellitten. Ulempen med et slikt system er imidlertid at det er meget arbeidskrevende, og må utføres for et stort antall trivielle situasjoner. På en annen side er kostnadene for arbeid på satellitten før den sendes opp relativt liten i forhold til kostnaden ved funksjonsfeil etter at satellitten har blitt skutt opp. 2.2 Objektiv En optisk linse brukes for å bryte innkommende lys slik at det vises på bildesensorbrikken til kameraet. For å få et godt bilde må bildebrikken være i riktig avstand fra linsen slik at alle stråler fra et spesifikt punkt på objektet det taes bilde av brytes til samme punkt på bildebrikken (se figur 2.1). 7

9 Tabell 2.2: lol2 Komponent Årsak Alvorlighetsgrad Sensor Gradvis degradering over tid 3 eller 4, avhengig av levetiden på sensor og satellitt Sensor Manglende output, fysisk skade eller tap 2 av strømtilførsel Kameramodul Kortslutning eller åpen krets 1 eller 2 avhengig av hvor robust resten av systemet er. Dersom satellitten har flere oppdrag, bør denne ikke være høyere enn 3 Kameramodul Null output 2 Kameramodul Lyslekkasje 3 Kameramodul Tap av struktural integritet 2 eller 3, avhengig av konstruksjonen Figur 2.1: Brytning av lysstråler fra samme punkt på objektet Noen viktige begrep: Fokalpunktet: Midtpunktet i bildesensorbrikken. Brennvidde (også kalt fokallengde): Avstanden mellom det optiske senteret i objektivet og fokalpunktet. Dette bestemmer bildevinkelen. Kortere brennvidde gir videre bildevinkel. Blendeverdi (F/#): Skrives som en brøk der telleren angir objektivets brennvidde (F) og nevneren er tallet som fremkommer ved å dividere objektivets brennvidde med diameteren på den største optiske blenderåpningen. Jo lavere tallet i nevneren er, jo mer lys kan objektivet slippe i gjennom på fokalplanet. 8

10 2.3 Termografisk kamera Infrarøde kameraer brukes ofte i industrien til termografi, det vil si avlesning av temperatur på en overflate. Dette kan være nyttig for å avdekke varmetap i bygninger, varmgang i elektriske anlegg eller andre formål der temperatur har en vesentlig innvirkning. Disse kameraene oppfatter IR-stråler med bølgelengder på typisk mikrometer. Termografiske kameraer kan deles opp i to hovedtyper [9]: Termografisk kamera med avkjølt bildesensor. Termografisk kamera uten avkjølt bildesensor. Avkjøling av bildesensorene brukes for at bildene ikke skal påvirkes av sensorens egne varmeutvikling. De bruker typisk mer plass, strøm og tid for å ta bilder sammenlignet med kameraer uten avkjøling. Til gjengjeld gir de bedre bilder og gir mulighet for å bruke linser med større blendeverdi (se kapittel??). Dette gjør det mulig å lage mindre og billigere høykvalitetslinser med lengre fokallengde. Et av kameraene vi fant på markedet var Miricle Microcam fra Thermoteknix Systems Ltd. A. Dette hadde følgende spesifikasjoner. Har ikke avkjølt bildesensor. Videokamera. Gir videodata i formatet Composite PAL/NTSC med frame rate 60 fps. Matrisestørrelse på 384x288 piksler. Antall piksler: Oppfatter IR-stråler med bølgelengder fra 8 til 12 mikrometer. Effektforbruk på 0.6 Watt ved 5V spenningspådrag. Typisk vekt med optikk: 74 gram. Størrelse på 42.5x50 mm. Fungerer i temperaturer fra -20 til 60 grader celcius. Pris på rundt NOK. Dette kameraet vil antakelig være akseptabelt med hensyn på plass- og strømforbruk [2]. Kameraet har heller ingen bevegelige deler, og vi slipper dermed å tenke på problemer dette kunne medført i rommet. Kameraet gir også ut videosignal, noe som kan være problematisk mhp. minneforbruk. Mulighetene for å bruke kameraet til å ta stillbilder med akseptabelt minneforbruk bør derfor undersøkes videre Bruksområder Dette kameraet oppfatter infrarødt lys med bølgelengder fra 8 til 12 mikrometer. Dette området passer spesielt godt når man tar bilder av meterologiske fenomen [?]. F.eks. vil man kunne skille ulike typer skyer fra hverandre og vil kunne detektere temperaturen på landområder eller i havet. Dette er verdifullt for f.eks. fiskere eller shippingindustrien som ønsker informasjon om 9

11 de beste fiskestedene eller hvordan havstrømmer oppfører seg. 2.4 Nær-infrarødt kamera Kameraet vi bruker kalles C328V-6016BW [11] og tar stillbilder. Det har følgende spesifikasjoner. 8-bit, 256-nivås svart-hvit bildesensor. Fysisk størrelse på 20x28 mm. Oppløsning: 640x480 piksler (VGA). Også mulig å nedsample til 320x240 (QVGA). Bruker spenningen 3.3 Volt og et gjennomsnittlig strømforbruk på 105 ma. UART-grensesnitt. Overføringsraten detekteres automatisk og kan være fra 7200 bps til bps. Kameraet har fire pinner som beskrevet i tabellen nedenfor. Pinne VCC TxD RxD GND Tabell 2.3: Beskrivelse av kamerapinner Beskrivelse Strømforsyning (3.3V DC) Data transmit (3.3V DC) Data recieve (3.3V DC) Jord VCC kobles til strømforsyningskretsen vår og resten av pinnene kobles til mikrokontrolleren. Merk at TxD må strømdeles for å få omtrent 3.3V ettersom mikrokontrolleren sender ut 5V på hver pinne og vi bruker en software-implementasjon av UART-grensesnittet for å kommunisere med kameraet Bruksområder Kameraet reklameres som spesielt sensitivt for infrarødt lys. Ettersom det har en CMOSbildesensor må dette i såfall bety at det kan oppfatte infrarødt lys med bølgelengder fra rundt 0.75 til 1 mikrometer. Dette betyr at kameraet i hovedsak oppfatter infrarødt som opprinnelig kommer fra solen og som reflekteres fra f.eks. blader og annen vegetasjon. Dette betyr at et kamera som oppfatter nær-infrarødt lys kan være spesielt egnet til å kartlegge vegetasjon og forskjellige egenskaper ved denne [12]. Bølgelengder fra 0.4 til 2.7 mikrometer har vist seg å være spesielt egnet for refleksjon fra blader. I tillegg til å kartlegge hvor mye vegetasjon det finnes, kan dette være nyttig for å kartlegge stress, aldring og sykdom i vegetasjonen på jorda. 10

12 Kapittel 3 Satellitteori 3.1 Plassering av bilde Systemet er avhengig av å vite posisjon og orientering av satelitten i det øyeblikket bildet taes for å kunne vite hvor og hvordan bildet endelig skal plasseres på modellen av jorden. Dette kan bestemmes enten ved, gitt noen initialbetingelser, beregninger eller ved direkte målinger på det aktuelle tidspunktet. Satellitten beveger seg med en fart på i overkant av 7 km/s så en viss presisjon er helt nødvendig for at bildene ikke skal bli feilplassert. Måling av posisjonen kan bestemmes ved for eksempel bruk av GPS eller andre former for triangulering, men ulempen med dette er at man utstyrer satellitten med flere komponenter og øker dermed kompleksiteten og sårbarheten til systemet. Alternativet er å beregne banen til satellitten. I det følgende vil vi se på beregning av posisjonen. Orientering av satellitten er verre å prediktere. Satellitten vil i utgangspunktet ikke være orientert med kameraet rettet loddrett ned som hadde vært det enkleste. Den vil i teorien kunne ha en vilkårlig orientering, samt rotere rundt en eller annen akse. Eventuell rotasjon vil holde seg stabil så om man har tilstrekkelig med initialbetingelser ksn dette også beregnes, men det er ikke gjort. 3.2 Baneteori Å beregne baneformen kan være både veldig enkelt og veldig komplisert avhengig av hvor høy presisjon man har behov for. Det enkleste er et tolegemesystemet med kun satellitten og en sfærisk jordklode. For korte tider er dette en fin modell. Gravitasjonskraften fra jorda er i størrelsesorden 10 5 ganger sterkere i forhold til månen og 10 3 ganger sterkere i forhold til sola, om man tar utgangspunkt i en banehøyde på 800 km. 11

13 3.2.1 Solsynkron bane Satellitten er tenkt å følge en solsynkron bane. Det vil si at orienteringen til banen i forhold til sola til en hver tid er den samme. Det er det samme som å si at soltiden er konstant i en gitt posisjon langs banen. Dette kan være en gunstig da bildene vil bli tatt på samme tid av døgnet ved samme breddegrad og er ideelt for sammenligning av bilder tatt på samme breddegrad ulike steder rundt jorden. En solsynkron bane oppnås ved å kombinere banehellning og banehøyde på en slik måte at orbitalplanet presiserer rundt jorden med en hastighet på en runde i året. α α α Figur 3.1: Figuren viser orbitalplanet til banen i forhold til sola for en solsynkron satellittbane. Årsaken til at banen vil presisere slik er på grunn av jordas ikke-sfæriske form. Jorda er litt flattrykt og tykkere rundt ekvateor på grunn av jordas rotasjon. Bortsett fra når satellitten er akkurat over ekvator vil gravitasjonskrafta virke virke en anelse unna jordas sentrum. Dette vil skape et dreiemoment som fører til denne presisjonen. En god approksimasjon av presisjonsraten vil være [23] ω p = 3a2 2r 2 J 2ω cos i (3.1) hvor a er jordas ekvatorradius, r er satellittens baneradius, ω er satellittens rotasjonshastighet, i er banens inklinasjon i forholt til ekvatorplanet og J 2 er jordas andre formfaktor. J 2 er relatert til jordas ikke-sfæriske form og kan beskrives som følger J 2 = 2ɛ E 3 a3 ω 2 E 3GM E (3.2) hvor ɛ E er et mål på jordas flattrykking, ω er jordas rotasjonshastighet, G er gravitasjonskonstanten og M e er jordas masse. Flattrykktheten ɛ E er definert som forholdet mellom differansen av korte og lange halvakse og lange halvakse ɛ E = (a b)/a. For jorda er denne størrelsen J 2 = Ved å velge banehøyde og inklanasjonsvinkel på en god måte kan man dermed sørge for at presisjonsraten er en runde per år. Om presisjonen er i riktig retning så vil man dermed ha en solsynkron bane. Et eksempel på en bane kan da være en med periode på 100 minutter, og dermed en banehøyde på omtrent 763 km og dermed en inklanasjon på

14 3.3 Tidskorreksjon Om man skal registrere tiden et bilde er tatt, er det en forutsetning at denne tiden er korrekt. Tiden blir her målt i satellitten som beveger seg med høy hastighet og i et annet sted i gravitasjonsfeltet. Korreksjon i tiden på grunn av tidsdilatasjon er [22] til første orden i 1/c ( ) korreksjon for 1 ( ) v (3.3) tidsdilatasjon 2 c 2 hvor v er banefarten til satellitten. Korreksjon på grunn av gravitasjonsfeltet er ( ) korreksjon for GM ( 1 gravitasjonsfeltet c 2 r 1 ) (3.4) R hvor r og R er henholdsvis satellittradien og jordradien, M er jordmassen og G er gravitsjonskonstenten. Dette gir et avvik på 8ms per døgn, og 3.1 s i året. Innenfor noen få dager kan det være neglisjerbart men over lengre tidsrom vil det være avgjørende å ta hensyn til dette avviket. 3.4 Numerisk beregning Det vanligste måten å bestemme posisjonen på er å benytte seg av numeriske beregninger. Da kan man om ønskelig putte mange forskjellige patrametere inn i modellen for å fø ønsket nøyaktighet i beregningene. Med de beste modellene og nøyaktige initialbetingelser kan man beregne satellittbaner med en presisjon i størrelsesorden meter. Det finnes mange dataprogrammer på markedet for slike numersike beregninger on NAROM benytter seg for eksempel av programmet Satellite Tool Kit. Det samme programmet blir blandt annet benyttet av både NASA, ESA og Boeing. Det er nok på denne måten vi bør finne posisjonen til banen. Det vil gi veldig høy nøyaktighet. Om man samtidig oppdaterer posisjonen med observasjoner fra bekken vil man kunne kunnne korrigere for eventuell drift. 13

15 Kapittel 4 Nettløsninger 4.1 Hjemmeside Når en ønsker å formidle informasjon i dagens samfunn er ikke Internett til å komme utenom. For å distribuere våre IR-bilder og programmet IR-Earth utvklet vi en hjemmeside med tilhørende teknologi. Beskrivelsen av hjemmesiden er bygget opp av to deler, den første delen er om det praktiske på hjemmesiden, som hva den inneholder og hvordan dette er en god måte å dele IR-bilder på. Den andre delen er teoretisk og tar for seg den tekniske delen ved utvkling av hjemmesiden, databaser og UNIX-skripting. Nettsiden kan besøkes på og alle filer er lagt i vedlegget på denne rapporten. 14

16 Figur 4.1: Forsiden av hjemmesiden 15

17 4.2 En praktisk beskrivelse av hjemmesiden Hva er en god hjemmeside? Mulighetene ved en hjemmeside endrer seg over tid og hjemmesider som før var moderne er i dag fryktelig utdaterte. Et eksempel på dette kan en se ved NTNU sin utredning fra 1996[13] om hvordan NTNUs nye hjemmeside burde utformes. Med dagens teknologi er mulighetene større og hjemmesider inkluderer nå grafikk som ville vært altfor tung å laste i Selv om teknologien utvikles er det fortsatt noen grunnprinsipper som ligger til grunn for hva som er en god hjemmeside. Nettstedet smashingmagazine.com (SM) utarbidet i principles of effective web design[18], 1. Don t make users think 2. Don t squander users patience 3. Manage to focus users attention 4. Strive for feature exposure 5. Make use of effective writing 6. Strive for simplicity 7. Don t be afraid of the white space 8. Communicate effectively with a visible language ( visible language er det brukeren ser) 9. Conventions are our friends 10. Test early, test often Ved utformingen av hjemmesiden har disse punktene på ingen måte blitt fulgt slavisk, men det er greit å ha dem i bakhodet Forsiden: Brukerens første møte med IR-Earth En forside må både være informativ og enkel slik at brukeren fort forstår om dette er noen som er interessant. Vi har valgt en forside som inneholder et enkelt sammendrag av hva prosjektet vårt går ut på sammen med vår introduksjonsfilm. Filmen er satt inn for å gjøre innholdet mer levende og fange brukerens interesse. I margen til venstre er det plassert to godt synlige referanser til NTNU og NAROM. Prosjektet er støttet av disse to aktørene og for en bruker vil det være ønskelig å se hvem om står bak. Dessuten har både NTNU og NAROM et anerkjent rykte så dette vil uten tvil være med å øke seriøsiteten ved siden umiddelbart. Av navigasjon har vi valgt å plassere lenkene mellom bildene og hovedfeltet på siden. Vi har valgt følgende lenker på navigasjonsmenyen, 16

18 Figur 4.2: Brukeren kan velge å søke på både koordinater og stedsnavn. Navn Bildesøk IR-Earth Medlemmer Tekniske data Hensikt Mulighet for å søke opp bilder i databasen, både på posisjon og stedsnavn IR-Earth lenker til appleten, og med dette valgnavnet ønsker vi at hvis brukeren skal trykke på en link, skal det være denne. Informasjon om de ulike medlemmene Teknisk data om IR-kamera Siden er på ingen måte nyvinnende når det kommer til design og kan ikke sammenlikne seg med sidene til for eksempel ESA, men på et så lite prosjekt har vi rett og slett ikke nok data til å lage noe så omfattende Bildesøk: Nettsidens viktigste del I denne siden skal brukerne ha muligheten til å søke på områder i verden i et gitt tidsrom og så skal de få opp de bildene som inneholder området i det oppgitte tidsintervallet. Her er det viktig at en ikke ber om får mye av brukeren. Vi har derfor lagt til rette for at brukeren kan søke på både koordinater og stedsnavn. Hvis en skulle kreve at brukeren selv fant koordinater til stedsnavn ville det blitt for tungvindt, samtidig bør det være støtte for de som har noen spesifikke koordinater de ønsker å se. Det kan for eksempel være områder i havet hvor det ikke er noen stedsnavn i nærheten. 17

19 Figur 4.3: Brukeren får opp en liste med bilder som tilfredstiller kravene brukeren har satt Øvrige deler av siden IR-Earth Da vi satt oss ned for å skrive en prosjektdefinisjon var IR-Earth på mange måter vårt endelige produkt og appleten må ha en naturlig inkludering på hjemmesiden. Appleten forutsetter java installert og åpner i hovedmenyen som vist på figur 4.4. Medlemmer og Tekniske data Siden med tekniske data er lagt med for at de spesielt interesserte skal kunne lære mer om kamera. Dette er selvsagt kun vårt prototypekamera, da et fjern ir-kamera koster langt over budsjettet. Vi følte også det kunne være interessant for utenomstående å lære om medlemmene bak prosjektet. 18

20 Figur 4.4: Inkludering av appleten på hjemmesiden. 4.3 Den tekniske delen ved utvklingen av hjemmesiden Kravspesifikasjoner Før utvklingen av nettsider og databaser kan starte er en nødt til å sette seg ned for å finne ut hvilke tjenester nettsiden skal levere. En annen gruppe arbeidet med datakommunikasjon med satelitten og dermed kunne vi anta at hvis bildene ble tatt med IR-kameraet vil de kunne bli transportert ned til jorden. Vårt spørsmål ble da hva vi skulle gjøre når bildene ligger på en server på jorda. Vi kom fram til at bildene automatisk skal gå fra server og inn på nettsiden og IR-Earth, og at en på nettsiden skal kunne søke i bildene. Utover dette skal nettsiden ha en del annen informasjon, men det er mer et innholds- og designmessig problem enn programmering Databaser Som databasesystem ble MySQL valgt. MySQL er en av de mest brukte databasene når det kommer til web-applikasjoner og støtter mange plattformer, noe som er gunstig når databasen ikke bare skal kommunisere med nettsidene, men også java-appleten IR-Earth. Med MySQL som valg for database var bruk av PHP på nettsiden det kanoniske valget. Det kan nevnes at store sider som Flickr, Facebook og Wikipedia bruker MySQL til lagring av data[14]. På nettsiden skal det være mulig å søke på et koordinat og få opp alle bilder der det koordinatet dekkes. For at dette skal være mulig må hvert bilde lagres med informasjon om hvor sentrum av bildet ligger slik at vi kan finne alle punkter som ligger innenfor en viss radius. Vi har valgt å søke etter punkter innenfor en sirkel siden bildet ikke er kvadratisk og vi ikke kjenner 19

21 rotasjonen til satellitten i det bildet blir tatt. Radiusen til sirkelen regnet vi ut ved å kjenne høyden til satellitten, bildets brennvidde og sentrum. Det er også nødvendig å legge med timestamp på bildene slik at en kan søke på tidsintervall. Med disse spesifikasjonene i bakhodet ble databasen opprettet med følgende felt: (id, dato, longitude, latitude) som vist på figur Nettsiden Av funksjonalitet på nettsiden krever vi ikke så mye utover at den skal kunne kommunisere med databasen. Nettsiden er forutenom HTML og CSS utviklet i PHP da dette er et ypperlig skriptspråk for å kommunisere med MySQL. Siden er programmert i tre lag, et øvre lag som inneholder logo, logoer og meny, en hoveddel hvor inneholdet for hver side står, og en underdel. Førstnevnte og sistnevnte er skrevet i henholdsvis over.php og bottom.php og inkludert på alle sidene. Dette, sammen med CSS, gjør det veldig enkelt å foretå endringer i oppbyggingen av sidene Fra server til applikasjon: Unix-skript En av de viktigste delene ved prosjektet er automatikken i å få bilder fra server og tilgjengelig for brukermassen. For at dette skal være gjennomførbart antar vi at det til hvert bilde lagres informasjon på formen (bildenavn, dato - tid, lengdegrad, breddegrad) der lengdegrad og breddegrad er koordinatene til sentrum av bildet. I figur 4.6 ser en eksempel på datafilen som kommer inn sammen med bildefilene. I tillegg setter man på en cron-jobb som gjør at scriptet kjøres hvert Nte minutt, der N er en parameter som velges etter hvor ofte vi kan forvente å få inn bilder på server. Etter at scriptet er kjørt vil bildene som havnet på server havne i passende mapper på serveren, for eksempel vil et bilde tatt 22/10/2010 havne i mappen bilder/2010/22/10 og bildenavnet være time minutt sekund lengdegrad breddegrad.jpg. Figur 4.5: Skjermdump som viser hvordan bilder legges inn i databasen 20

22 Figur 4.6: Denne informasjonsfilen legges på serveren sammen med bildefilene. Første feltet er navnet på bildet nå deretter følger dato med tid, lengdegrad og breddegrad D-fremvisning Krav Til å begynne med hadde vi noen enkle krav til hva vi ønsket Mulighet for å vise bilder på en tredimensjonal jordklode. Mulighet for å plassere bilder i vilkårlige posisjoner. Mulighet for å hente ut bilder fra en database. Bakgrunnen for kravene var et ønske om at dette systemet skulle inngå i et større automatisert system, der bilder mottas fra satellitten og legges i en database automatisk. Denne delen skulle inngå som en alternativ og mer spennende måte å vise bildene på Muligheter Basert på kravene var det ingen nødvendighet å skrive applikasjonen i Java. Andre utbredte muligheter som Flash ville også ha fungere. Grunnen til at valget tidlig falt på Java, var at vi hadde tidligere erfaring med Java. Vi var derfor sikre på at vi skulle rekke å bli ferdige hvis vi valgte denne løsningen. I tillegg var det et krav at løsningen enkelt skulle kunne brukes på forskjellige operativsystemer. Java oppfyller kravene til kompabilitet, ettersom det er utviklet programvare for å kjøre Java til de fleste operativsystemer. Alle de vanligste operativsystemene som Windows, Mac og de vanligste linux distribusjonen har mulighet for å kjøre Java og Java-appleter. Et annet positivt punkt med Java er at den samme kompilerte koden kan kjøre på alle plattformene, slik at det ikke trengs noen plattformspesifike forandringer i koden. Dette er fordi den kompilerte koden kjøres på en virituell maskin på brukerens datamaskin. Dette betyr at 21

23 programmet ikke kjøres direkte på maskinen, men på en emulert maskin som startes på den brukerens datamaskin Nødvendige Java-biblioteker Vårt ønske om å vise bilder på en jordklode medførte at vi trengte en måte å implementere en tredimensjonal jordklode som kunne roteres og zoomes. I tillegg til muligheter for å vise bildene i riktig størrelse og proposjoner på selve jordkloden. Dette lar seg gjøre med 2D-grafikk biblioteker, men er en mye lettere jobb med 3D-biblioteker som automatisk rendrer en scene basert på avstandene objektene har fra et virtuelt kamera og deres rotasjoner. For Java finnes et slik type bibliotek kalt Java 3D, men dette er ikke med i en standard Java-installasjon. Dette løste vi ved å la Java automatisk laste ned Java 3D bibliotekene på klientmaskinen og la disse være tilgjengelig mens Appleten kjøres. Dette kan gjøres ved å spesifisere en JNLP-fil der Java 3D bibiotekene angis som eksterne biblioteker. Hvis denne da startes med Java Web Start rammeverket vil disse filene automatisk lastes ned og være tilgjengelige til applikasjonen avsluttes. Fra og med Java SE 6 Update 10 er det støtte for at Appleter som er spesifisert i en slik fil kan startes i nettleseren. En JNLP-fil er en tekstfil som inneholder forskjellige tags som angir diverse informasjon om Appleten Java 3D Java 3D er et bibliotek til Java som gir et programmeringsgrensesnitt for tredimensjonal grafikk. Dette grensesnittet er objektorientert og baserer seg på scener som konstrueres fra en scene-graf. Det vil si en graf som gir en representasjon av objektene som skal tegnes på skjermen. Dette kan være faktiske geometriske objekter eller objekter som utfører rotasjoner eller translasjoner av geometriske objekter og så videre. Når biblioteket brukes er det ikke nødvendig å tenke på hvordan lavnivå renderingen foregår, med OpenGL og Direct3D for eksempel. Selve bibliotekene og mer informasjon kan finnes på Sun sine hjemmesider[15] Utplassering av bilder Utplassering av bilder på jordkloden utgjør en teoretisk utfordring. Før vi går videre med dette problemet la oss se på en enklere oppgave. Anta vi har to bilder, herfra kalt bilde A og bilde B, som har forskjellige oppløsning. Det vil si et forskjellig antall pixler i høyde og/eller bredde. Vi har her antatt at bildene er lagret som bitmaps, det vil si at bildet er delt inn i pixler som har verdier som angir farge. La oss videre anta at vi ønsker å plassere bilde B innenfor et gitt rektangulært område på bilde A. For å gjøre dette må vi på en eller annen måte oppskalere eller nedskalere bilde B, slik at antall pixler i bredde og høyde stemmer med det antall pixler innenfor det avgrensede rektangulære område i bilde A. Det finnes ulike algoritmer for å oppnå dette, men de har til felles at de angir en eller annen interpolasjon av pixlene i bilde B. Det vil si at de angir en sammenheng som skal brukes på pixlene i bilde B for å finne verdiene på pixlene i det avgrensede området i bilde A. 22

24 Figur 4.7: En enkel illustrasjon av hvilke verdier som brukes ved bilineær interpolasjon. Verdien i pikselen markert i blått estimeres med et vektet gjennomsnitt av de to pikslene merket i grønt som igjen er et vektet gjennomsnitt av de to nærmeste pikslene horisontalt for hver av de to. En av de enkleste algortimene for å gjøre dette kalles nærmeste-nabo interpolasjon. Denne foregår ved at man først tenker seg at et bilde består av et regulært gitter av punkter. Det vil si at avstanden mellom nærmeste gitterpunkter horisontalt er den samme overalt, og at det samme er tilfellet for vertikale avstander. Punktene i gitteret er de ulike pixlene. For å gjøre interpolasjonen legges det det nye og det gamle gitteret over hverandre og skaleres slik at de er like brede og høye. Etter dette er gjort gir man hver piksel i det nye gitteret den samme verdien som den pikselen i det gamle gitteret som er nærmest den nye pikselen. Mer avanserte algoritmer framkommer på samme måte ved å legge det nye gitteret over det gamle, men i steden se på flere punkter i det gamle bildet for hvert punkt i det nye bildet. Et eksempel er bilineær interpolasjon der man brukes pikslene i den nærmeste 2 2 ruten. Man gjør et vektet gjennomsnitt horisontalt og så et vektet gjennomsnitt vertikalt av disse verdiene igjen. Se figur 4.7 for en visualisering av dette. Dette vektede gjennomsnittet kan typisk være en lineær interpolasjon mellom verdiene. I prinsippet trenger man å gjøre noe lignende når et bilde skal settes inn på teksturen som brukes på jordkloden. Problemet er at det brukes en rektangulær tekstur for jordkloden. Denne teksturen brukes ved at det lages tekstur-koordinater på jordkloden som gis en verdi basert på interpolasjon mellom verdier i teksturen. Denne transformasjonen fra et rektangulært område til en sfære, betyr at det helt klart vil gi feil resultat å plassere bildet direkte som et rektangulært område på teksturen. Ettersom bildet da vil bli deformert når teksturen blir plassert ut på jordkloden. For å løse dette problemet må vi ta hensyn til denne deformasjonen når bildet plasseres ut, slik at det etter deformasjonen vil se riktig ut. Vi må i prinsippet gjøre den omvendte opperasjonen av deformasjonen. I tillegg er vi nødt til å ta hensyn til at høyre og venstre ende av texturen vil være ved siden av hverandre på overfalten av jordkloden. Dette fordi teksturen brettes rundt jordkloden. Løsningen vi valgte var å bruke en tilnærmet nærmeste-nabo interpolasjon, der nærmeste nabo vil bli i den vanlige Euklidske forstand i rommet. Algoritmen foregår som følger. Vi starter med 23

25 (a) Bildet vist på jordkloden i forhold til (b) Bildet vist på jordkloden etter nevnte startposisjon av jordkloden. rotasjoner. Figur 4.8: Jordkloden før rotasjon i a) og etter rotasjon i b). å gjøre en tenkt rotasjon av jordkloden slik at senteret av området bildet skal settes inn på er rett foran oss på jordkloden. I tillegg tenker vi oss at vi gjør en rotasjon om aksen gjennom sentrum av jordkloden og det punktet på jordkloden senteret av bildet skal settes inn på, slik at topp og bunn av bildet blir parallelle med en tenkt ekvator. Se figur 4.8 for et nærmere eksempel av hva som menes. Etter disse tenkte rotasjonene projiserer vi hele den halvkulen som er synlig ned på et plan gjennom sentrum av jordkloden som står vinkelrett på aksen gjennom sentrum av jordkloden og senteret av bildet. Denne operasjonen gjør at vi mister den delen informasjon som ligger i avstanden fra dette planet. Dette betyr at avstandene mellom punkter som projiseres vil forandre seg. Men nært sentret av bildet vil denne tilnærmingen være god ettersom punkter der ligger omtrent like langt fra planet. Etter projeksjonen finner vi posisjonene i planet til hver av teksturkordinatene og posisjonene i planet til pikslene i bildet. Dette gjøres ved å sette radiusen til sfæren lik jordens radius og sette en virkelig bredde og høyde på bildet. Når vi har disse romlige posisjonene kan vi gå igjennom alle pikslene på teksturen og bestemme om de er på riktig halvkule og om de projiseres til et punkt som er innenfor bildet som skal settes inn. Hvis det projiseres til et punkt innenfor bildet bruker vi den nærmeste pikselen på bildet. Der nærmest betyr minst Euklidsk avstand i planet. Det er verdt å merke seg at antall piksler som må skiftes på teksturen vil variere veldig avhengig av hvor bildet skal plasseres på jordkloden. Ved nordpolen har teksturen mange flere piksler enn ved for eksempel breddegrad 0. Dette trenger vi ikke å tenke på med denne metoden. Det er derimot mulig å gjøre store kutt i antall piksler som vi trenger å vurdere, spesielt hvis bildet har liten romlig størrelse. Men vi anser foreløpig ikke kjøretid som et problem. 24

26 4.4.6 Rotasjon For å bevege oss mellom to mulige posisjoner av jordkloden trenger vi en måte å rotere jordkloden på som oppfattes som naturlig for brukeren. I tillegg til en natrulig måte å forandre avstanden fra jordkloden på. Når det gjelder forandring av avstand til jordkloden kommer alle avstander til å være på den samme skalaen, det vil si ikke langt ifra eller veldig nærme, slik at vi kan bruke en lineær interpolasjon i tid mellom start- og sluttavstand. For selve rotasjonen er det flere aktuelle metoder. Hva som oppfattes som en naturlig måte å rotere en jordklode på kan diskuteres. Men vi bestemte oss for to kriterier som vi fokuserte på. For det første bør rotasjonen ha en jevn fart, uten store forandringer i vinkelhastighet. For det andre bør rotasjonen gå så direkte som mulig mellom de to orienteringene av jordkloden, det vil si ikke rotere først i lengdegrad og så i breddegrad og så videre. En mulighetet er å representere en orientering av jordkloden med Euler-vinkeler som angir en rotasjon fra en referanseposisjon. Denne referanseposisjonen vil typisk være ingen rotasjon av jordkloden i forhold til hvordan den er når Appleten startes. Det er flere mulige spesifikasjoner av Euler-vinklene, men for dette tilfellet vil en naturlig spesifikasjon være å la lengdegrad og breddegrad være to av vinklene og til slutt la den siste vinkelen være rotasjonen om aksen gjennom sentrum av jordkloden og punktet på den angitte lengdegraden og breddegraden. Disse Euler-vinklene kan representere enhver mulig orientering av jordkloden, men er ikke problemfrie. Det største problemet er at det ikke er noen enkel måte å rotere mellom to forskjellige orienteringer angitt ved sine respektive Euler-vinkler med jevn fart. Se for eksempel på tilfellet med en breddegrad som er nær nordpolen, her vil en forandring av lengdegrad ha mye større effekt enn ved en breddegrad nær ekvator. I tillegg må også den siste Eulervinkelen forandres. Vi valgte derfor å forkaste denne representasjonen selv om den kanskje er den letteste og mest intuitive. Vi ser at det er nødvendig med en annen representasjon av en orientering av jordkloden. Det bør være en representasjon der det er enkelt å gjøre en interpolasjon i tid som gir en jevn rotasjonfart. Det finnes en annen representasjon som oppfyller nettopp dette. Idéen bak denne representasjonen er at man representerer en orientering av jordkloden med en rotasjon av jordkloden i forhold til en referanseposisjon, ved å angi en rotasjonsakse og hvor mange grader jorden er rotert om denne aksen. Dette gjøres vanligvis ved bruk av et kvaternion. Et kvaternion er en samling av fire tall som har visse regler for hvordan de skal adderes og multipliseres. Vi skal ikke gå dypt inn på egenskapene til kvaternionene i denne rapporten, men nærmere informasjon kan finnes på Mathworld sine nettsider[16]. Fordelen med kvaternioner er at det finnes noe som kalles sfærisk lineær interpolasjon, som kan brukes til å gi en rotasjon med konstant vinkelhastighet mellom to orienteringer gitt ved kvaternioner[17]. Slik at denne typen rotasjoner oppfyller det første av våre kriterier. Videre svarer rotasjonen gitt ved denne typen interpolasjon til rt rotasjonen mellom to orienteringer gjøres om bare en akse. Det vil si at det velges én akse slik at jevn rotasjon om denne gir en jevn rotasjon fra start- til sluttorientering. Det finnes bare én slik akse untatt i det degenererte tilfellet at start- og sluttorientering er de samme. Slik at denne rotasjonen fungerer også bra i forhold til vårt andre kriterium, ettersom det bare skjer rotasjon om én akse ved hver rotasjon. 25

27 4.4.7 Henting av bilder fra database Appleten skal finne bilder basert på start- og sluttdato og posisjon. Informasjon om disse bildene skal lagres i en MySQL-database. Denne informasjonen skal være tilstrekkelig til å finne bildet på serveren og til å plassere bildet på jordkloden. Det er ikke ønskelig at Appleten gjør direkte oppslag i MySQL-databasen. Både fordi det kan utgjøre en sikkerhetsrisiko ettersom Appleten kjøres på brukerenes datamaskin og av praktiske hensyn. Vi ikke at kildekoden skal spesifisere en spesifik MySQL-database, brukernavn og passord. Ettersom vi ønsker at Appleten ikke skal være bundet opp mot en database som muligens skal forandres, både med tanke på at det i fremtiden kan bli aktuelt med andre databasetyper enn MySQL og at det i fremtiden kan tenkes at adressen til serveren forandres. I tillegg til at det blir umulig å skifte brukernavn og passord som brukes av appleten uten å kompilere kildekoden på nytt. Vår løsning var å gjøre spørringen i databasen på serveren, ved at Appleten kontakter en side skrevet i et skripting-språk som JSP eller PHP og så retureneres resultatene i ren tekst. På denne måten blir Appleten uavhengig av databasen som ligger i bakgrunnen 26

28 Kapittel 5 Resultater 5.1 Realisering av kameraprototype Vår prototype av kamerasystemet består av en ferdigkjøpt kameramodul, et lysfilter, en linse, et Arduino-testbrett med tilhørende mikrokontroller og strømforsyning. Den ferdigkjøpte kameramodulen består av bildesensoren, linsen og den har også egen lagringsplass for bildet Mikrokontroller Mikrokontrolleren er av typen ATMega328p. Den har følgende spesifikasjoner. Klokkehastighet: Opp til 20 MHz mulig. Vi kjører den på 16 MHz. Intern EEPROM (ikke-volatilt minne): 1 Kb. Brukes ikke. Intern SRAM (volatilt minne): 2 Kb. Brukes som buffer av programmet vårt. Mikrokontrolleren sitter på et Arduino-testbrett [3] og mikrokontrolleren programmeres ved hjelp av deres bibliotek, IDE og programmeringsspråk (C/C++). Disse bibliotekene gjør det raskt og enkelt å sette opp en fungerende prototype på kort tid. Arduinos løsninger er opensource både når det gjelder hardware og software og de har etterhvert fått et rimelig stort brukermiljø av hobbyentusiaster. Kretsskjema for hele systemet i ett er vist i figur

29 Figur 5.1: Skjema for hele kretsen På kretsskjemaet ser vi et Arduino-testbrett koblet til en strømforsyning og kameraprototypen vår. Lysdiodene brukes for å signalisere overføring av data (Arduino pin 13) og eventuelle feil (Arduino pin 7). RxD og TxD er henholdsvis mottaker- og sendeporten (UART-grensesnitt) til kameraet og opererer i likhet med VCC på 3.3V. Resistansene som er koblet RxD er for å dele opp utgangsspenningen fra Arduino-pin 3, som er på 5V, slik at denne blir nedskalert til 3.3V (se ligning 5.1). Grunnen til at dette må gjøres er at det brukes et UART-grensesnitt implementert i software for å kommunisere med kameraet. V OUT = 5.0V/(100K + 200K) 200K = 3.33V (5.1) Merk at det antas at strømtrekket til kameraets port RxD er neglisjerbart Kode Koden på mikrokontrolleren vår er basert på kode funnet på en japansk blogg [4], der forfatteren tar bilde ved hjelp av Arduino-hardwaren og et lignende kamera. Vi har gjort noen 28

30 justeringer i denne for å tilpasse den vår egen kameramodul. Mikrokontrolleren kommuniserer med kameraet ved hjelp av UART-grensesnittet. Dette grensesnittet består av en inngangsport og en utgangsport, der utgangsporten tar bytes av data og overfører hver bit i serie og inngangsporten tar i mot bits av data og setter dem sammen til bytes [6]. Dette grensesnittet er implementert i mikrokontrollerens hardware, men problemet i vårt tilfelle er at det kun finnes en inngang- og en utgangsport og at vi aller helst vil kommunisere med datamaskinen og kameraet samtidig. For å få til dette benytter koden seg av en software-implementasjon av UART-grensesnittet kalt NewSoftwareSerial [10]. Prosedyren for å ta et bilde er som følgende. Kameraet synkroniseres med mikrokontrolleren. Kameraet initialiseres og ønsket oppløsning (QVGA eller VGA) settes. Setter ønsket pakkestørrelse i bytes. Dette er antall bytes kameraet skal overføre til mikrokontrolleren før mikrokontrolleren sender en bekreftelse (ACK-melding) til kameraet. Venter i 2 sekund for å klargjøre kameraet. Mikrokontrolleren sender beskjed til kameraet om å ta et bilde med JPEG-komprimering eller ingen komprimering. Kameraet tar et bilde og lagrer det på kameramodulens interne EEPROM. Mikrokontrolleren sender beskjed til kameraet om å overføre bildet til mikrokontrolleren. Mikrokontrolleren mottar så en pakke (på et visst antall bytes), som den lagrer/bufrer i egen RAM og deretter sender direkte til datamaskinen. Mikrokontrolleren sender en bekreftelsesmelding til kameraet om at den har mottatt pakken og er klar til å motta en ny Lysfilter I motsetning til et vanlig kamera må vårt kamera ha et lysfilter som filtrerer bort synlig lys og bare slipper i gjennom infrarødt lys. For prototypen har vi benyttet en svart diskettplate for filtrere bort noe av det synlig lyset, etter ide fra diverse sider på internett. Selv om vi fikk tatt et akseptabelt bilde er problemet at vi ikke vet noe om hvorvidt det vi ser på bildet er synlig lys eller infrarødt lys, evt. hvilke av disse to lystypene som dominerer. For å teste om kameraet oppfattet IR-lys i det hele tatt tok vi bilde av IR-dioden til en fjernkontroll. Dette lyset ble oppfattet godt av kameraet. Et bilde tatt av en avslått fjernkontroll er vist i figur 5.2. Samme fjernkontroll i påslått tilstand er vist i figur

31 Figur 5.2: Bilde av avslått IR-diode til en fjernkontroll Figur 5.3: Bilde av påslått IR-diode til en fjernkontroll 30

32 5.1.4 Strømforsyning Ettersom Arduino-testbrettet har en utgangsstrøm på 50mA ved 3.3V og kameraet vårt har et gjennomsnittlig strømforbruk på 105mA ble det brukt en ekstern strømkilde til kameraet. Strømforsyningen er en egen krets laget ved hjelp av spenningsregulatoren LM317 [5]. Kretsen er den anbefalte standardkretsen vist på informasjonsiden til spenningsregulatoren og består av noen kapasitanser og resistanser som vist i figur stk. AA-batterier på 1.5 V hver brukes for å forsyne denne kretsen med strøm. Ligningen for å regne ut utgangsspenningen til denne kretsen er vist i 5.2. V OUT = 1.25 (1 + R 2 /R 1 ) + I ADJ (R 2 ) (5.2) Her er I ADJ svært liten og kan ignoreres for dette formålet. Om R 1 = 240Ohm som vist i figur 5.4, må R 2 være omtrent lik 400Ohm for at vi skal få V out = 3.33V. Figur 5.4: Krets for spenningsregulatoren LM117/LM Objektiv Objektivet vi bruker fulgte med kameraet og har følgende spesifikasjoner. Brennvidde: 6 mm. Synsvinkel: 39.8 grader. Blendeverdi (F/#): Applet Implementasjon Appleten består av et enkelt grensesnitt med mulighet for å hente ut nye bilder fra databasen og for å gå videre til neste bilde. Utseende rett etter at Appleten startes er vist i figur 5.5. Som figuren viser er grensesnittet delt opp i to deler. Til venstre vises jordkloden og til høyere vises informasjon om bildet og funksjonalitet for å bytte bilde. 31

33 Figur 5.5: Utseende på Applet. Øverst til høyre vises hvor mange bilder som ble funnet ved forrige søk og hvilket av disse bildene som vises nå. Under dette står det informasjon om hvilken lengdegrad og breddegrad senteret av bildet er plassert på. Til slutt vises også tid og dato for når bildet ble tatt. Knappen under denne informasjon brukes for å gå videre til neste bilde. Bildene vises i kronologisk rekkefølge. Nede på høyre side er det mulighet for å søke etter nye bilder i databasen. Det er mulig å avgrense søket basert på starttid, sluttid og posisjon. Det må alltid velges en starttid og sluttid, men posisjonen vil bare benyttes hvis det er krysset av på Position. Hvis søk på posisjon er valgt vil treffene innenfor det valgte tidsrommet filtreres slik at bare bilder som inneholder denne posisjonen returneres. Dette søket gjøres via en nettside som gjør selve spørringen i databasen. Basert på resultatet fra denne nettsiden lagres tiden bildet ble tatt, bildets posisjon på jordkloden og en lenke til bildet. På denne måten er det ikke nødvendig å laste ned bilder før de skal brukes. Neste bilde lastes først ned når Show next image -knappen benyttes. Da lastes bildet ned og jordkloden begynner å rotere mens bildet plasseres ut på jordkloden. Selve jordkloden til venstre kan også roteres og zoomes manuelt ved bruk av musen. Vi bestemte oss for å plassere bildene ut i størrelsen 500km 500km på jordkloden. Dette fordi det er en mellomting mellom faktisk størrelse og noe som har stor nok størrelse til at det er mulig å se noen detaljer i bildet. Det er også mulighet for å styre bildets rotasjon om sitt senter når bildet plasseres ut. Det var tenkt at dette skulle benyttes for å ta høyde for satellittens bevegelsesretning og rotasjon om sin egen akse, men vi fant ut at det var vanskelig å bestemme dette presist, slik at denne funksjonaliteten er ikke i bruk Nærmeste-nabo interpolasjon Teorien bak vår metode for å plassere ut bilder på jordkloden er forklart i teoridelen av denne rapporten. Det er flere grunner til at denne ikke fungerer perfekt i implementasjonen. Blant annet er ikke den geometriske figuren en perfekt sfære, den er bygget opp av polygoner. Videre er det en feil grunnet tilnærmingen gjort på avstandsmålet når nærmeste nabo velges. Ettersom bildene som skal settes inn vil være små sammenlignet med jordas radius er det første av disse problemene som blir mest aktuelt. 32

34 Figur 5.6: Eksempel på å plassere et bilde på et område som ikke er i nærheten av polene. Figur 5.7: Eksempel på å plassere et bilde på et område som er i nærheten av en polene. Denne metoden fungerer ganske bra på områder som ikke er nærme noen av polene som man kan se på figur 5.6. Bildet er noe dratt ut på figuren, men det skyldes at det er satt en bredde og høyde som ikke har riktige proposjoner. Man kan uansett se at venstre og høyre kant forblir rette slik de skal være og at det ikke er noen innsmaling mot topp og bunn av bildet. På figur 5.7 kan man se resultatet når deler av bildet ligger over nordpolen. Det blir en sterk effekt av at jordkloden er bygget opp av polygoner. Det virker som polygonene som møtes i nordpolen ikke bruker alle pikslene i teksturen, men at polygonene bruker forskjellige deler av teksturen. Dette gir klare kanter der to forskjellige polygoner møtes Overføringshastighet Kameraet vårt har en maksimal overføringshastighet på bps. I følge [1] skal satelitten overføre data ned til jorden med en hastighet på 9600bps. Kameraet vårt har med andre ord god nok hastighet for å overføre data. Ligning 5.3 og 5.4 viser henholdsvis total overføringstid fra kameraet til resten av systemet og hvor mye energi kameraet bruker på den tiden (worst 33

Prosjektoppgave i FYS-MEK 1110

Prosjektoppgave i FYS-MEK 1110 Prosjektoppgave i FYS-MEK 1110 03.05.2005 Kari Alterskjær Gruppe 1 Prosjektoppgave i FYS-MEK 1110 våren 2005 Hensikten med prosjektoppgaven er å studere Jordas bevegelse rundt sola og beregne bevegelsen

Detaljer

Mars Robotene (5. 7. trinn)

Mars Robotene (5. 7. trinn) Mars Robotene (5. 7. trinn) Lærerveiledning Informasjon om skoleprogrammet Gjennom dette skoleprogrammet skal elevene oppleve og trene seg på et teknologi og design prosjekt, samt få erfaring med datainnsamling.

Detaljer

SUPER DISCLAIMER. Vi endrer opplegget litt fra år til år, og vi hører på dere!

SUPER DISCLAIMER. Vi endrer opplegget litt fra år til år, og vi hører på dere! ARDUINO BASISKUNNSKAP ELEKTRISITET SIKKERHET PRAKSIS INSTALLASJON PROGRAMMERING GRUNNLEGGENDE TEORI ÅPEN SONE FOR EKSPERIMENTELL INFORMATIKK STUDIELABEN Roger Antonsen INF1510 23. januar 2012 SUPER DISCLAIMER

Detaljer

WORKSHOP BRUK AV SENSORTEKNOLOGI

WORKSHOP BRUK AV SENSORTEKNOLOGI WORKSHOP BRUK AV SENSORTEKNOLOGI MIKROKONTROLLERE - ARDUINO KURS 27.08.16 ANALOG - DIGITAL FRA VARIASJONER AV STRØMSTYRKE TIL TALL ARDUINO BRUKES TIL Å UTFØRE SLIK KONVERTERING STRØM/TALL ELLER TALL/STRØM

Detaljer

Geografisk navigasjon. Lengde- og breddegrader

Geografisk navigasjon. Lengde- og breddegrader Geografisk navigasjon Kartreferanse er en tallangivelse av en geografisk posisjon. Tallene kan legges inn i en datamaskin med digitalt kart, en GPS eller avmerkes på et papirkart. En slik tallmessig beskrivelse

Detaljer

Analog til digital omformer

Analog til digital omformer A/D-omformer Julian Tobias Venstad ED-0 Analog til digital omformer (Engelsk: Analog to Digital Converter, ADC) Forside En rask innføring. Innholdsfortegnelse Forside 1 Innholdsfortegnelse 2 1. Introduksjon

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:

Detaljer

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk.

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk. Innhold Steg 1: Installasjon... 3 Steg 2: Installasjon av programvare... 3 Steg 3. Oppsett av wifi, email varsling og alarm... 5 Steg 4: Installasjon og oppsett av mobil app... 8 Steg 5: Installasjon og

Detaljer

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1. Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal

Detaljer

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Oblig 5 Webutvikling. Av Thomas Gitlevaag Oblig 5 Webutvikling Av Thomas Gitlevaag For oppgave 1 og 2 skal dere levere en funksjonell webside på deres hjemmeområde. Dere skal også levere alle phps-filene slik at man for en hver side kan slenge

Detaljer

www.ir.hiof.no/~eb/viz.htm Side 1 av 12

www.ir.hiof.no/~eb/viz.htm Side 1 av 12 VIZhtm Side 1 av 12 Innhold Side MÅL 1 OPPGAVE / RESULTAT 1 BESKRIVELSE ØVING 6A 2 BESKRIVELSE ØVING 6B 9 BESKRIVELSE ØVING 6C 12 MÅL Når du har utført denne øvingen, skal du kunne: Benytte et kamera som

Detaljer

Innstallasjon og oppsett av Wordpress

Innstallasjon og oppsett av Wordpress Del 1 - Installasjon og oppsett Innstallasjon og oppsett av Wordpress Wordpress har blitt en veldig populær publiseringsplattform for websider. Uten særlige tekniske ferdigheter kan man sette opp profesjonelle

Detaljer

LABORATORIERAPPORT. Halvlederdioden AC-beregninger. Christian Egebakken

LABORATORIERAPPORT. Halvlederdioden AC-beregninger. Christian Egebakken LABORATORIERAPPORT Halvlederdioden AC-beregninger AV Christian Egebakken Sammendrag I dette prosjektet har vi forklart den grunnleggende teorien bak dioden. Vi har undersøkt noen av bruksområdene til vanlige

Detaljer

Administrering av SafariSøk

Administrering av SafariSøk Administrering av SafariSøk Administrering av SafariSøk Revisjonshistorie Revisjon $Revision: 1.6 $ $Date: 2003/08/05 12:44:02 $ Innholdsfortegnelse 1. Om programmet... 1 Generelt... 1 2. Fremgangsmåter...

Detaljer

KRAVSPESIFIKASJON FOR SOSIORAMA

KRAVSPESIFIKASJON FOR SOSIORAMA KRAVSPESIFIKASJON FOR SOSIORAMA Innhold 1. Forord... 2 2. Definisjoner... 3 3. Innledning... 4 3.1 Bakgrunn og formål... 4 3.2 Målsetting og avgrensninger... 4 4. Detaljert beskrivelse... 8 4.1 Funksjonelle

Detaljer

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet TGA Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"

Detaljer

med canvas Canvas Grafikk Læreplansmål Gløer Olav Langslet Sandvika VGS

med canvas Canvas Grafikk Læreplansmål Gløer Olav Langslet Sandvika VGS Grafikk med canvas Gløer Olav Langslet Sandvika VGS Høsten 2011 Informasjonsteknologi 2 Canvas Læreplansmål Eleven skal kunne bruke programmeringsspråk i multimedieapplikasjoner Med CSS3, HTML og JavaScript

Detaljer

KOM I GANG MED WORDPRESS En enkel guide for å hjelpe deg gjennom det grunnleggende i Wordpress

KOM I GANG MED WORDPRESS En enkel guide for å hjelpe deg gjennom det grunnleggende i Wordpress KOM I GANG MED WORDPRESS En enkel guide for å hjelpe deg gjennom det grunnleggende i Wordpress Sist oppdatert 05.06.2015 Innholdsfortegnelse 1. Hva er Wordpress?... 3 2. Hvordan logger jeg inn i kontrollpanelet?...

Detaljer

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Inf109 Programmering for realister Uke 5 I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse. Før du starter må du kopiere filen graphics.py fra http://www.ii.uib.no/~matthew/inf1092014

Detaljer

Sprettende ball Introduksjon Processing PDF

Sprettende ball Introduksjon Processing PDF Sprettende ball Introduksjon Processing PDF Introduksjon: I denne modulen skal vi lære et programmeringsspråk som heter Processing. Det ble laget for å gjøre programmering lett for designere og andre som

Detaljer

TMA4100 Matematikk 1, høst 2013

TMA4100 Matematikk 1, høst 2013 TMA4100 Matematikk 1, høst 2013 Teknostart forelesning 4 www.ntnu.no TMA4100 Matematikk 1, høst 2013, Teknostart forelesning 4 Hva er Maple? www.ntnu.no TMA4100 Matematikk 1, høst 2013, Teknostart forelesning

Detaljer

Installere programvare gjennom Datapennalet - Tilbud

Installere programvare gjennom Datapennalet - Tilbud NTNU Trondheim Norges Teknisk- Naturvitenskapelige Universitet Datapennalet Installere programvare gjennom Datapennalet - Tilbud Påmeldingsinfo Hvordan tjenesten fungerer Krav til utstyr Uttesting av programvareformidling

Detaljer

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk

Produktdokumentasjon. Madison Møbler Administrasjonsside og Nettbutikk Produktdokumentasjon Madison Møbler Administrasjonsside og Nettbutikk 1 1. Forord 1.1 Dokumentasjonen Dette er en teknisk dokumentasjon på produktet som er utviklet. Denne er tiltenkt personer med teknisk

Detaljer

TMA4100 Matematikk 1, høst 2013

TMA4100 Matematikk 1, høst 2013 TMA4100 Matematikk 1, høst 2013 Teknostart forelesning 4 www.ntnu.no TMA4100 Matematikk 1, høst 2013, Teknostart forelesning 4 Hva er Maple? Maple er et kraftig matematikkverktøy. Symbolsk matematikk er

Detaljer

INF Obligatorisk oppgave 2

INF Obligatorisk oppgave 2 INF3320 - Obligatorisk oppgave 2 Innleveringsfrist: 23. september (Revisjon 4. september 2003) I denne oppgaven skal vi se på transformasjoner og interaktivitet. Vi skal lage et lite program som implementerer

Detaljer

9 Brukergrensesnitt (Ny design)

9 Brukergrensesnitt (Ny design) 9 Brukergrensesnitt (Ny design) Når du er ferdig med å lage prosjektet, laste det opp til Sensiokontrolleren og til internett, vil du kunne prøve ut brukergrensesnittet i Sensio xsetup. Du kan også styre

Detaljer

RF5100 Lineær algebra Leksjon 10

RF5100 Lineær algebra Leksjon 10 RF5100 Lineær algebra Leksjon 10 Lars Sydnes, NITH 11. november 2013 I. LITT OM LYS OG FARGER GRUNNLEGGENDE FORUTSETNINGER Vi ser objekter fordi de reflekterer lys. Lys kan betraktes som bølger / forstyrrelser

Detaljer

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte Plan for forelesingen Beskrive en større problemstilling Planlegge programmet Skrive koden, én klasse om gangen

Detaljer

IN1060: Bruksorientert design

IN1060: Bruksorientert design IN1060: Bruksorientert design Ukeoppgaver i Arduino - uke 2 Vår 2018 Innhold 1. Analoge signaler 2 1.1. Lese og skrive analoge signaler 2 1.2. Potensiometer og serial monitor 2 1.3. Pulserende lys 3 1.4.

Detaljer

INF1510: Bruksorientert design

INF1510: Bruksorientert design INF1510: Bruksorientert design Ukeoppgaver i Arduino - uke 2 Vår 2017 Innhold 1. Analoge signaler 1 1.1. Lese og skrive analoge signaler 1 1.2. Potensiometer og serial monitor 1 1.3. Pulserende lys 2 1.4.

Detaljer

notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS

notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS Mine notater Gløer Olav Langslet Sandvika VGS Et praktisk eksempel med objekter Vi kjenner alle til korktavlen med gule lapper. Vi henger opp en lapp for at vi selv eller andre skal huske eller bli minnet

Detaljer

Installasjon InfoMediaPlayer:

Installasjon InfoMediaPlayer: Installasjon InfoMediaPlayer: InfoMediaPlayer lastes ned fra: https://dl.dropboxusercontent.com/u/81046462/5.5.42.exe Dette er en executable RAR fil, så kjør filen og sett C:\InfoMedia som bane for utpakking.

Detaljer

INF1510: Bruksorientert design

INF1510: Bruksorientert design INF1510: Bruksorientert design Ukeoppgaver i Arduino - uke 1 Vår 2017 Innhold 1. Elektrisitet 2 1.1. Kretsbygging 2 1.2. Komponenter 2 1.3. Dårlige kretser 3 1.4. Analoge og Digitale signaler 4 1.5. Likestrøm

Detaljer

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

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett. Norgestur Introduksjon Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over Norge, mens du prøver å raskest mulig finne steder og byer du blir

Detaljer

Prototyping med Arduino del 2

Prototyping med Arduino del 2 Prototyping med Arduino del 2 Magnus Li magl@ifi.uio.no INF1510 30.01.2017 Arduinoundervisningen Forelesninger Mandag 30.01 & 06.02 Gjennomgang av grunnleggende temaer Teknisk verksted Mandag 30.01, 06.02,

Detaljer

WordPress startguide

WordPress startguide WordPress startguide INNLEDNING... 2 BLOGGINNLEGG... 3 HVORDAN LEGGE TIL ET BLOGGINNLEGG:... 4 UNDERSIDER... 5 HVORDAN LAGE EN NY SIDE... 6 LAST OPP BILDER/VIDEO... 7 KOMMENTARER PÅ INNLEGG... 8 UTSEENDE...

Detaljer

4. Dynamisk skjemaer (GUI)

4. Dynamisk skjemaer (GUI) 4. Dynamisk skjemaer (GUI) I drofus kan flere skjermbilder selv defineres av prosjektet. Disse skjermbildene kan redigeres av en med administratortilgang til prosjektet. For tiden kan følgende skjemaer

Detaljer

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...

Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering... Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...9 2 Forord Denne kravspesifikasjonen har blitt utviklet i

Detaljer

Reelle tall på datamaskin

Reelle tall på datamaskin Reelle tall på datamaskin Knut Mørken 5. september 2007 1 Innledning Tirsdag 4/9 var tema for forelesningen hvordan reelle tall representeres på datamaskin og noen konsekvenser av dette, særlig med tanke

Detaljer

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus Forprosjektrapport Gruppe 2 Hovedprosjekt 2014, Høgskolen i Oslo og Akershus 1 INNHOLD 2 Presentasjon... 2 2.1 Gruppen medlemmer... 2 2.2 Oppgave... 2 2.3 Oppdragsgiver... 2 2.4 Veileder... 2 3 Sammendrag...

Detaljer

Nedlasting av SCRIBUS og installasjon av programmet

Nedlasting av SCRIBUS og installasjon av programmet Nedlasting av SCRIBUS og installasjon av programmet Laget for BODØ FRIMERKEKLUBB av Sten Isaksen Versjon 06.01.2018 1 Før du laster ned Scribus: Du må vite hvilken versjon av Windows du har, sannsynligvis

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: FYS00 Eksamensdag: 5. juni 08 Tid for eksamen: 09.00-3.00, 4 timer Oppgavesettet er på 5 sider Vedlegg: Formelark (3 sider).

Detaljer

King Kong Erfaren Scratch PDF

King Kong Erfaren Scratch PDF King Kong Erfaren Scratch PDF Introduksjon I dette spillet inspirert av historien om King Kong, skal vi se hvor lett det er å bruke grafikk som ikke allerede ligger i Scratchbiblioteket. I spillet styrer

Detaljer

Communicate SymWriter: R1 Lage en tavle

Communicate SymWriter: R1 Lage en tavle Communicate SymWriter: R1 Lage en tavle I denne delen beskrives egenskaper som kan brukes for å lage en tavle til å skrive med. Stort sett vil du bare ha bruk for en del av dette når du lager skrivemiljøer.

Detaljer

Dokument 1 - Sammendrag

Dokument 1 - Sammendrag Dokument 1 - Sammendrag Automatnett - Nytt CMS-verktøy for Uno-X Automat Fakultet for teknologi, kunst og design Høgskolen i Oslo og Akershus, 2013 Innholdsfortegnelse Sammendrag 1 1. Innledning 1 2. Om

Detaljer

INF1510 Oblig #1. Kjetil Heen, februar 2016

INF1510 Oblig #1. Kjetil Heen, februar 2016 INF1510 Oblig #1 Kjetil Heen, februar 2016 1 2 Etch-a-sketch Det ferdige sluttproduktet skal simulere en klassisk leke, Etch-a-sketch, et tegnebrett, hvor man tegner på en flate ved å skru på 2 hjul, og

Detaljer

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk System Dokumentasjon Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk System Dokumentsjon 23/04/2018 Systemutvikling og dokumentasjon/ia4412

Detaljer

Litt mer om Arduino. Roger Antonsen Sten Solli INF1510 31. januar 2011

Litt mer om Arduino. Roger Antonsen Sten Solli INF1510 31. januar 2011 Litt mer om Arduino Roger Antonsen Sten Solli INF1510 31. januar 2011 ARDUINO Input (Data) Prosessering Output Arduino Man kan bruke de 3 elementene i varierende grad, og også kutte noen helt ut. Det finnes

Detaljer

Geometra. Brukermanual. Telefon: 64831920

Geometra. Brukermanual. Telefon: 64831920 Geometra Brukermanual Telefon: 64831920 Innhold GENERELT...3 Hva er Geometra?...3 Om PDF tegninger...3 KOM I GANG!...5 Start programvaren og logg inn...5 Grunnleggende funksjoner:...6 Lag et prosjekt,

Detaljer

Testsituasjon Resultat Kommentar. Fungerer som det skal!

Testsituasjon Resultat Kommentar. Fungerer som det skal! Test- rapport Testsituasjon Resultat Kommentar Test av PHP-variablene. Sjekke om de er riktig deklarert, og om de kommer med fra form til database Alle variablene som skal leses fra konfigurasjonssiden,

Detaljer

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

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett. Hvor i All Verden? Del 1 Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. I denne første leksjonen vil vi se på hvordan

Detaljer

Her er en enkel bruksanvisning på administrasjonspanelet til hjemmesiden din på QTSystems.

Her er en enkel bruksanvisning på administrasjonspanelet til hjemmesiden din på QTSystems. Her er en enkel bruksanvisning på administrasjonspanelet til hjemmesiden din på QTSystems. Redigert 10.februar 2010. For at det skal bli lettere å lese denne manualen kan du justere størrelsen på dette

Detaljer

Fagerjord sier følgende:

Fagerjord sier følgende: Arbeidskrav 2A I denne oppgaven skal jeg utføre en analyse av hjemmesiden til Tattoo Temple (http://www.tattootemple.hk) basert på lenker. Analysen er noe basert på et tidligere gruppearbeid. Hjemmesiden

Detaljer

a. Hva er de inverse transformasjonene avfølgende tre transformasjoner T, R og S: θ θ sin( ) cos( ) Fasit: 1 s x cos( θ) sin( θ) 0 0 y y z

a. Hva er de inverse transformasjonene avfølgende tre transformasjoner T, R og S: θ θ sin( ) cos( ) Fasit: 1 s x cos( θ) sin( θ) 0 0 y y z Kommentar: Svar kort og konsist. Husk at eksamen har tre oppgaver. Poengene for hver (del-) oppgave bør gi en indikasjon på hvor me tid som bør benttes per oppgave. Oppgave 1: Forskjellige emner (40 poeng)

Detaljer

1. Arduino Bluetooth 2 HC-05 modul

1. Arduino Bluetooth 2 HC-05 modul 1. Arduino Bluetooth 2 HC-05 modul Bluetooth er en trådløs teknologi som lar to enheter kommunisere med hverandre. Bluetooth ble opprinnelig laget for mobiletelefoner av svenske Eriksson og har vært en

Detaljer

Tegneprogram Journeyman Scratch PDF

Tegneprogram Journeyman Scratch PDF Tegneprogram Journeyman Scratch PDF Introduksjon I dette prosjektet lager vi et tegneprogram slik at du etterpå kan lage din egen kunst. Du kan tegne med forskjellige farger, bruke viskelær, lage stempler

Detaljer

Snake Expert Scratch PDF

Snake Expert Scratch PDF Snake Expert Scratch PDF Introduksjon En eller annen variant av Snake har eksistert på nesten alle personlige datamaskiner helt siden slutten av 1970-tallet. Ekstra populært ble spillet da det dukket opp

Detaljer

Steg 1: Hente grafikk fra nettet

Steg 1: Hente grafikk fra nettet Scratch King Kong Skrevet av: Samuel Erik Abildsø og Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill, Animasjon Fag: Engelsk, Kunst og håndverk, Matematikk, Programmering Klassetrinn: 1.-4. klasse,

Detaljer

Brukerdokumentasjon for LabOra portal - forfattere

Brukerdokumentasjon for LabOra portal - forfattere Brukerdokumentasjon for LabOra portal - forfattere Skin: Dnnbest-Grey-Skin1024 Skin: Metro7 Custom LabOra web-portal er et web-basert publiseringsprogram for publisering av informasjon på hjemmesider.

Detaljer

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang VMware Horizon View Client Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang Introduksjon Fjerntilgang er blitt oppgradert til en bedre og mer moderne løsning. Programmet er identisk

Detaljer

Humanware. Trekker Breeze versjon 2.0.0.

Humanware. Trekker Breeze versjon 2.0.0. Humanware Trekker Breeze versjon 2.0.0. Humanware er stolte av å kunne introdusere versjon 2.0 av Trekker Breeze talende GPS. Denne oppgraderingen er gratis for alle Trekker Breeze brukere. Programmet

Detaljer

PUBLISERING AV INNHOLD TIL KVAMSSIDA.NO

PUBLISERING AV INNHOLD TIL KVAMSSIDA.NO PUBLISERING AV INNHOLD TIL KVAMSSIDA.NO Innhold Kapitel 1 - Registrering og innlogging... 2 Kapitel 2 - Lage ny artikkel uten bruk av bilder eller annen grafikk... 3 Kapitel 2a - Ingress... 4 Kapitel 3

Detaljer

PROGRAMMERING AV SPILL

PROGRAMMERING AV SPILL PROGRAMMERING AV SPILL Nå skal dere bruke Scratch i stedet for S4A (Scratch for Arduino). Forskjellen er at dere nå programmerer uten roboter. Alt dere gjør skjer på datamaskinen. Sidene etter denne har

Detaljer

I denne oppgaven skal du lære hvordan du kan flytte rundt på elementer og gjemme elementene bak andre elementer ved hjelp av CSS.

I denne oppgaven skal du lære hvordan du kan flytte rundt på elementer og gjemme elementene bak andre elementer ved hjelp av CSS. CSS: Skjul ninjaene Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Trude Martinsen Kurs: Web Tema: Tekstbasert, Nettside Fag: Matematikk, Programmering, Teknologi, Kunst og håndverk

Detaljer

Landåstorget Seniornett klubb

Landåstorget Seniornett klubb Landåstorget Seniornett klubb Dokumentasjon for klubbens "sommermøte" onsdag 12 juni. Tema: Foto- / billedbehandling Når man i dag kjøper et fotoapparat får man som regel også med: - minst en CD/DVD plate

Detaljer

DOKUMENTASJON E-post oppsett

DOKUMENTASJON E-post oppsett DOKUMENTASJON E-post oppsett Oppsett av e-post konto Veiledningen viser innstillinger for Microsoft Outlook 2013, og oppkobling mot server kan gjøres med POP3 (lagre e-post lokalt på maskin) eller IMAP

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. mai 2009 (Sist oppdatert: 2009-05-17 22:38) Forelesning 29: Kompleksitetsteori

Detaljer

BAAN IVc. BAAN Data Navigator - Brukerhåndbok

BAAN IVc. BAAN Data Navigator - Brukerhåndbok BAAN IVc BAAN Data Navigator - Brukerhåndbok Utgitt av: Baan Development B.V. P.O.Box 143 3770 AC Barneveld The Netherlands Trykt i Nederland Baan Development B.V. 1997. Med enerett. Informasjonen i dette

Detaljer

Forelesning 29: Kompleksitetsteori

Forelesning 29: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 29: Kompleksitetsteori 13. mai 2009 (Sist oppdatert: 2009-05-17

Detaljer

Teknisk Rapport HVASS

Teknisk Rapport HVASS Teknisk Rapport HVASS IN1060 - Bruksorientert design ved Universitetet i Oslo VÅR 2019 Dato: 12.06.2019 Frida Hope Carpenter - Cornelia Føien - Guro Handeland - Nadia H.S. Møller - Ådne Rosenvinge Innholdsfortegnelse

Detaljer

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

2. La det bli lys Ditt første Arduino program 2. La det bli lys Ditt første Arduino program Det første vi skal gjøre nå, er å få den Orange "L"-lampen til å blinke. På denne måten sørger vi for at vi kan snakke med Arduinoen, og at vi får lastet opp

Detaljer

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

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle Scratch Norgestur Skrevet av: Geir Arne Hjelle Kurs: Scratch Språk: Norsk bokmål Introduksjon Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over

Detaljer

Prosjekt 2 - Introduksjon til Vitenskapelige Beregninger

Prosjekt 2 - Introduksjon til Vitenskapelige Beregninger Prosjekt - Introduksjon til Vitenskapelige Beregninger Studentnr: 755, 759 og 7577 Mars 6 Oppgave Feltlinjene for en kvadrupol med positive punktladninger Q lang x-aksen i x = ±r og negative punktladninger

Detaljer

Installere JBuilder Foundation i Mandrake Linux 10.0

Installere JBuilder Foundation i Mandrake Linux 10.0 Installere JBuilder Foundation i Mandrake Linux 10.0 Installasjon av JBuilder Foundation på Linux (dekker her spesifikt fremgangen ved bruk av Mandrake Linux 10.0, men distribusjon vil gjøre liten eller

Detaljer

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle Hvor i All Verden? Del 1 Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

Manual til laboratorieøvelse. Solceller. Foto: Túrelio, Wikimedia Commons. Versjon 10.02.14

Manual til laboratorieøvelse. Solceller. Foto: Túrelio, Wikimedia Commons. Versjon 10.02.14 Manual til laboratorieøvelse Solceller Foto: Túrelio, Wikimedia Commons Versjon 10.02.14 Teori Energi og arbeid Arbeid er et mål på bruk av krefter og har symbolet W. Energi er et mål på lagret arbeid

Detaljer

NorthIce videobriller

NorthIce videobriller NorthIce videobriller EGENSKAPER Verdens første videobriller med HD kvalitet som gir opptak med meget naturlige farger Fleksibelt design som passer til alle ansikter og for alle aldre 5 MegaPixel CMOS

Detaljer

Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp

Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp Læringsplattform for IT-fag basert på HTML5 utviklet i CakePhp { En selvstendig plattform som kan brukes til å formidle kurs på nett med dagsaktuell teknologi. Oppgave 5, av Fredrik Johnsen Oppgavestiller

Detaljer

Stødighetstester. Lærerveiledning. Passer for: 7. - 10. trinn Antall elever: Maksimum 15

Stødighetstester. Lærerveiledning. Passer for: 7. - 10. trinn Antall elever: Maksimum 15 Lærerveiledning Stødighetstester Passer for: 7. - 10. trinn Antall elever: Maksimum 15 Varighet: 90 minutter Stødighetstester er et skoleprogram hvor elevene får jobbe praktisk med elektronikk. De vil

Detaljer

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle Soloball Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal nå lære hvordan vi

Detaljer

Utvikling og testing av alternativ metode for henting og lagring av værdata fra målestasjoner uten å benytte en lokal logger

Utvikling og testing av alternativ metode for henting og lagring av værdata fra målestasjoner uten å benytte en lokal logger SPISS Naturfaglige artikler av elever i videregående opplæring Utvikling og testing av alternativ metode for henting og lagring av værdata fra målestasjoner uten å benytte en lokal logger Forfattere: Ian

Detaljer

Kom i gang med micro:bit

Kom i gang med micro:bit Kom i gang med micro:bit Kenneth Fossland, Brundalen skole 2019 Bilde: flickr.com makecode.microbit.org https://docs.google.com/document/d/1rjglb2tczwjhzcrklfyxhhn6vguuj-1jdt9ivuvbpu0/edit#heading=h.7s5hifmcog5y

Detaljer

AST1010 En kosmisk reise. Forelesning 4: Fysikken i astrofysikk, del 1

AST1010 En kosmisk reise. Forelesning 4: Fysikken i astrofysikk, del 1 AST1010 En kosmisk reise Forelesning 4: Fysikken i astrofysikk, del 1 Innhold Mekanikk Termodynamikk Elektrisitet og magnetisme Elektromagnetiske bølger Mekanikk Newtons bevegelseslover Et legeme som ikke

Detaljer

Teknostart prosjekt 2010 for Kommunikasjonsteknologi. Posisjoneringstjenester for mobiltelefon

Teknostart prosjekt 2010 for Kommunikasjonsteknologi. Posisjoneringstjenester for mobiltelefon Teknostart prosjekt 2010 for Kommunikasjonsteknologi Posisjoneringstjenester for mobiltelefon 1. Innledning Posisjoneringstjenester har utallige anvendelsesområder. I denne oppgaven skal det brukes en

Detaljer

Elektrolaboratoriet RAPPORT. Oppgave nr. 1. Spenningsdeling og strømdeling. Skrevet av xxxxxxxx. Klasse: 09HBINEA. Faglærer: Tor Arne Folkestad

Elektrolaboratoriet RAPPORT. Oppgave nr. 1. Spenningsdeling og strømdeling. Skrevet av xxxxxxxx. Klasse: 09HBINEA. Faglærer: Tor Arne Folkestad Elektrolaboratoriet RAPPORT Oppgave nr. 1 Spenningsdeling og strømdeling Skrevet av xxxxxxxx Klasse: 09HBINEA Faglærer: Tor Arne Folkestad Oppgaven utført, dato: 5.10.2010 Rapporten innlevert, dato: 01.11.2010

Detaljer

Kort norsk manual Hvordan komme i gang:

Kort norsk manual Hvordan komme i gang: Kort norsk manual Hvordan komme i gang: Det første du må gjøre er å laste inn et skip i programmet. Det gjør du ved å velge Open under File -menyen. Fra underkatalogen Ships Database velger du et skip,

Detaljer

Brukerveiledning WordPress. Innlogging:

Brukerveiledning WordPress. Innlogging: Brukerveiledning WordPress Her er en liten guide for hjelpe deg gjennom det grunnleggende i Wordpress. Denne veilederen vil ta deg gjennom: Innlogging Lage en side Lage et innlegg Innlogging: For å logge

Detaljer

ELEKTRISITET. - Sammenhengen mellom spenning, strøm og resistans. Lene Dypvik NN Øyvind Nilsen. Naturfag 1 Høgskolen i Bodø 18.01.02.

ELEKTRISITET. - Sammenhengen mellom spenning, strøm og resistans. Lene Dypvik NN Øyvind Nilsen. Naturfag 1 Høgskolen i Bodø 18.01.02. ELEKTRISITET - Sammenhengen mellom spenning, strøm og resistans Lene Dypvik NN Øyvind Nilsen Naturfag 1 Høgskolen i Bodø 18.01.02.2008 Revidert av Lene, Øyvind og NN Innledning Dette forsøket handler om

Detaljer

PowerOffice Server Service

PowerOffice Server Service PowerOffice Server Service 20 14 Po we ro ffice AS - v4.5.1 PowerOffice SQL - PowerOffice Server Service Alle rettigheter reservert. Ingen deler av dette arbeidet kan reproduseres i noen form eller på

Detaljer

Steg 1: Hvordan styre figurer med piltastene

Steg 1: Hvordan styre figurer med piltastene Labyrint Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon I dette spillet vil vi kontrollere en

Detaljer

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen Sprettende ball Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Naturfag, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon:

Detaljer

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften Kravspesifikasjon Presentasjon Hovedprosjektet gjennomføres ved Høgskolen i Oslo, avdelingen for ingeniørutdanning. Målet med oppgaven er å utvikle en online webshop for bestilling av postkasser. Dette

Detaljer

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere. Soloball Introduksjon Scratch Introduksjon Vi skal nå lære hvordan vi kan lage et enkelt ballspill med Scratch. I soloball skal du styre katten som kontrollerer ballen, slik at ballen ikke går i nettet.

Detaljer

En enkel lærerveiledning

En enkel lærerveiledning En enkel lærerveiledning ~ 1 ~ Innhold INNLEDNING... 3 Hva?... 3 Hvorfor?... 3 INN- og UTLOGGING... 4 Innlogging... 4 Utlogging... 5 Lærerinnlogging/-utlogging... 5 OUTLOOK / EPOST... 6 Skrive epost...

Detaljer

Bachelorprosjekt 2015

Bachelorprosjekt 2015 Bachelorprosjekt 2015 Høgskolen i Oslo og Akershus Tam Ha (s171513) Arslan Yousaf (s189135) Gabriel Noraker Alfarrustad (s161910) Eivind Lund (s180381) Phillip Padiernos Næss (s162951) Forprosjekt Prosjektets

Detaljer

4.1. Kravspesifikasjon

4.1. Kravspesifikasjon 4.1. Kravspesifikasjon Dette delkapittelet beskriver nærgående alle deler av systemet, hvordan det er tenkt ferdigutviklet med fokus på oppdragsgivers ønsker. 4.1.1. Innledning Informasjon om hvordan kravspesifikasjonens

Detaljer

Introduksjon...5. Systemkrav...7. For Windows...9

Introduksjon...5. Systemkrav...7. For Windows...9 Innholdfortegnelse Introduksjon...................................5 Systemkrav...................................7 For Windows...................................9 Installere programvare for bildeutskrift

Detaljer

Brukermanual for EIK IFs webside

Brukermanual for EIK IFs webside Brukermanual for EIK IFs webside Denne brukermanualen er en skjematisk gjennomgang av basisfunksjonene for hver enkelt årgang/lag. Arild Neste. Tel: 977 42 162, ar-neste@online.no EIK, 9. november 2009

Detaljer

WordPress. Brukerveiledning. Kjære kunde. Innlogging:

WordPress. Brukerveiledning. Kjære kunde. Innlogging: Brukerveiledning WordPress Sist oppdatert: 26.02.2014 Kjære kunde Her er en liten guide for å hjelpe deg gjennom det grunnleggende i Wordpress. Denne veilederen vil ta deg gjennom: Innlogging - s.1 Kontrollpanel

Detaljer

Hvor i all verden? Helge Jellestad

Hvor i all verden? Helge Jellestad Helge Jellestad Hvor i all verden? Vi presenterer her deler av et et undervisningsopplegg for ungdomstrinnet og videregående skole. Hele opplegget kan du lese mer om på www.caspar.no/tangenten/2009/hvor-i-all-verden.pdf.

Detaljer