{jcomments on}Utgangspunket er minmumskravet for CanSat-prosjektet der det kun kreves å lese av trykk og temperatur og sende dette til bakken ved hjelp av en radiosender. Vi har imidlertid lagt til noen ekstra funksjoner, som GPS og lagring av data for trykk, temperatur og GPS på SD-minnebrikke i tillegg til at data sendes tilbake til bakken.
En UNO er for spinkel for å lese GPS-signal sammen med trykk og temperatur fra en IMU. Det er mulig å bruke biblioteket AltSoftSerial for å emulere en ekstra serieport på pinne 8 og 9 på en Arduino. Men programbiblioteket er i konflikt med andre biblioteker som vi ønsker å benytte. Når datalogg skal lagres på ed SD minnebrikke samtidig som den sendes til bakken ved hjelp av telemetri (RF-samband), klarer ikke en UNO jobben. En MEGA med fire serieporter og utvidet programminne er derimot velegnet. Det er også mulig å bruke et Teensy-kort eller et Multiwii AIO-kort som begge har 2560-prosessoren fra Atmel.
Utstyret vi bruker er derfor en Arduino MEGA med et påmontert prototype-bord. Der har vi loddet fast en sender, en SD-enhet og en 10DOF IMU (GY-67). IMU-en har flere funksjoner enn hva vi bruker i første runde. Vi bruker den nå til å lese av trykk og temperatur. Med trykket kan vi også lese høyden. SD-minnet lager datapakker som er tidskodet. På den måten kan vi synkronisere i datalesingen med tiden.
Dataloggen på SD-minnet tar vi senere inn i et dataprogram som lager en ktl-fil for Google Earth. En CSV-fil for Excel for tegning av plott for temperatur og høyde generes også. I Google Earth er det mulig å tegne inn banen for satellitten som en tredimensjonal tracking-graf i landskapsbildet.
Programskissen bygges opp fra eksempelprogrammer fra SD-biblioteket (ReadWrite) og fra SFE_BMP180-blbiotek (SFE_BMP180_example). GPS-en bi bruker er en U-Blox G6100 GPS-enhet som sender med 38400 baudrate. RF-transmitteren bruker også det. På denne måte var det mulig å lage en graf med god tidsoppløsnig. Koden følger under og kan lastes ned her sammen med aktuelle biblioteker.