AAU CANSAT KIT - CodeShield test kodeKan hentes shield2test.pde Koden måler på 6 analoge indgang og printer dem på udgang sammen med tidskode. Sampletid er sat til 2 Hz men kan ændres. NB: En spidsfindighed er at en samplingsomgang dvs 500 millisekunder har varigehd i sig selv idet det tager ca 1 millisekund pr karakter at printe. Dette kompenseres der for. koden: shield2test.pde /* xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx */ // AAU cansat shield v2 testprpogram // Jens Dalsgaard Nielsen // AAU - Satlab jdn@es.aau.dk // no guarantee #define SAMPLETIME 500 // msec unsigned long newTime,oldTime,looptime; // for accurate loop time unsigned int slp; void setup() { Serial.begin(9600); newTime = oldTime = millis(); // time in milli sec since start } // Maaler spaending på analog indgang nr "portnr" // 10 bit maalevaerdi (0-1023) regnes om til Volt (0-5V) // NBNB De 5V der bruegs som reference kan findes på connector. // Maal venligst efter for at se om der er 5V. Hvis der fesk kun er 4.85V svarer // 1023 til 4.85 så %-tal nedenfor skal retets til 4.85 float analogVoltage(int portnr) { float f; f = analogRead(portnr); return 5.0 * f/1023; // 10 bit to 0-5V } float a0,a1,a2,a3,a4,a5; void loop() { newTime = millis(); // beregn tid siden du var her sidst // komenser i delay looptime = (newTime-oldTime); // traek det fra i den tid vi skal vente slp = SAMPLETIME - looptime; delay(slp); //registrer tid for start i naeste loekke oldTime = millis(); Serial.print(oldTime); // print data hjem med komma imellem Serial.print(" , "); Serial.print( analogVoltage(0)); Serial.print(" , "); Serial.print( analogVoltage(1)); Serial.print(" , "); Serial.print( analogVoltage(2)); Serial.print(" , "); Serial.print( analogVoltage(3)); Serial.print(" , "); Serial.print( analogVoltage(4)); Serial.print(" , "); Serial.println( analogVoltage(5)); } |