Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MAX31855 SDFileSystem mbed
main.cpp@11:1e56b710b568, 2016-05-15 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |
