Daniel Blomdahl / Mbed 2 deprecated multiple_variable_temp

Dependencies:   MAX31855 SDFileSystem mbed

Committer:
DanielBlomdahl
Date:
Sun May 15 02:32:40 2016 +0000
Revision:
11:1e56b710b568
Parent:
10:f5d4d5e30b9b
Final Publish

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DanielBlomdahl 2:a2966bf82e8c 1
DanielBlomdahl 0:42e8fa13c7a9 2 #include "mbed.h"
DanielBlomdahl 2:a2966bf82e8c 3 #include "MAX31855.h"
DanielBlomdahl 6:76e8649a643f 4 #include "SDSaveFunction.h"
DanielBlomdahl 0:42e8fa13c7a9 5
DanielBlomdahl 2:a2966bf82e8c 6 Serial pc(USBTX,USBRX);
DanielBlomdahl 2:a2966bf82e8c 7 SPI spi(NC,PTD3,PTD1);
DanielBlomdahl 7:9032b52be810 8 SPI sdspi(PTE3,PTE1,PTE2);
DanielBlomdahl 9:c97cd10b11ac 9 DigitalIn eject(PTA4); // INT2
DanielBlomdahl 9:c97cd10b11ac 10 DigitalOut greenLed(LED2);
DanielBlomdahl 9:c97cd10b11ac 11 DigitalOut redLed(LED1);
DanielBlomdahl 2:a2966bf82e8c 12
DanielBlomdahl 11:1e56b710b568 13 MAX31855 thermometer1(spi,PTB9);
DanielBlomdahl 11:1e56b710b568 14 MAX31855 thermometer2(spi,PTD0);
DanielBlomdahl 7:9032b52be810 15 AnalogIn solarPanel(PTB2);
DanielBlomdahl 1:8116bd9d3c46 16 Timer t;
DanielBlomdahl 0:42e8fa13c7a9 17
DanielBlomdahl 7:9032b52be810 18
DanielBlomdahl 0:42e8fa13c7a9 19 int main()
DanielBlomdahl 0:42e8fa13c7a9 20 {
DanielBlomdahl 11:1e56b710b568 21 const int secondsHalfHour = 30*60; //number of seconds in 1 half hour
DanielBlomdahl 11:1e56b710b568 22 redLed = 0;
JLarkin 10:f5d4d5e30b9b 23 greenLed = 1;
DanielBlomdahl 11:1e56b710b568 24 wait(0.5);
DanielBlomdahl 11:1e56b710b568 25 redLed = 1;
DanielBlomdahl 11:1e56b710b568 26 greenLed = 0;
DanielBlomdahl 11:1e56b710b568 27 wait(0.5);
DanielBlomdahl 11:1e56b710b568 28 greenLed = 1;
JLarkin 10:f5d4d5e30b9b 29 float temp1, temp2;
JLarkin 10:f5d4d5e30b9b 30 float lastTime = 0;
JLarkin 10:f5d4d5e30b9b 31 float dt = 0.5;
JLarkin 10:f5d4d5e30b9b 32 float voltage = 0;
JLarkin 10:f5d4d5e30b9b 33 float halfHour = 0;
JLarkin 10:f5d4d5e30b9b 34 float totalTime;
JLarkin 10:f5d4d5e30b9b 35 t.start();
JLarkin 10:f5d4d5e30b9b 36 mountSDCard();
JLarkin 10:f5d4d5e30b9b 37 openDataFile();
DanielBlomdahl 11:1e56b710b568 38 while (halfHour<6) {
JLarkin 10:f5d4d5e30b9b 39 if (eject == 0) {
JLarkin 10:f5d4d5e30b9b 40 greenLed = 0;
DanielBlomdahl 11:1e56b710b568 41 wait(0.5);
DanielBlomdahl 11:1e56b710b568 42 greenLed = 1;
JLarkin 10:f5d4d5e30b9b 43 break;
JLarkin 10:f5d4d5e30b9b 44 }
DanielBlomdahl 11:1e56b710b568 45 totalTime = secondsHalfHour*halfHour + t.read();
JLarkin 10:f5d4d5e30b9b 46 if (totalTime>lastTime+dt) {
JLarkin 10:f5d4d5e30b9b 47 lastTime = totalTime;
DanielBlomdahl 7:9032b52be810 48 temp1 = thermometer1.read();
DanielBlomdahl 9:c97cd10b11ac 49 wait(.02);
DanielBlomdahl 7:9032b52be810 50 temp2 = thermometer2.read();
DanielBlomdahl 11:1e56b710b568 51 voltage = 3.3*(solarPanel.read());
DanielBlomdahl 8:882ccc7bbc8a 52 pc.printf("Voltage %f\t Temp1 %f\t Temp2 %f\t Time %f\r\n", voltage, temp1, temp2, lastTime);
DanielBlomdahl 8:882ccc7bbc8a 53 writeData(lastTime, temp1, temp2, voltage);
DanielBlomdahl 7:9032b52be810 54 }
DanielBlomdahl 11:1e56b710b568 55 if (t.read()>=secondsHalfHour){
JLarkin 10:f5d4d5e30b9b 56 halfHour++;
JLarkin 10:f5d4d5e30b9b 57 t.reset();
JLarkin 10:f5d4d5e30b9b 58 }
JLarkin 10:f5d4d5e30b9b 59 }
JLarkin 10:f5d4d5e30b9b 60 closeDataFile();
DanielBlomdahl 11:1e56b710b568 61 greenLed = 0;
DanielBlomdahl 11:1e56b710b568 62 while(true){
DanielBlomdahl 11:1e56b710b568 63
DanielBlomdahl 11:1e56b710b568 64 }
DanielBlomdahl 0:42e8fa13c7a9 65 }