4180 weather balloon logging and cutdown system
Dependencies: GPS MPL3115A2 SDFileSystem mbed-rtos mbed
Fork of WeatherBalloon4180 by
main.cpp@1:2c4f640a8104, 2015-11-16 (annotated)
- Committer:
- Gjika
- Date:
- Mon Nov 16 22:10:27 2015 +0000
- Revision:
- 1:2c4f640a8104
- Parent:
- 0:6b7345059afe
- Child:
- 2:21e4b9092bb2
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon | 0:6b7345059afe | 1 | #include "mbed.h" |
simon | 0:6b7345059afe | 2 | #include "GPS.h" |
simon | 0:6b7345059afe | 3 | |
simon | 0:6b7345059afe | 4 | Serial pc(USBTX, USBRX); |
simon | 0:6b7345059afe | 5 | GPS gps(p9, p10); |
Gjika | 1:2c4f640a8104 | 6 | DigitalOut led1(LED1); |
Gjika | 1:2c4f640a8104 | 7 | Timer T; |
Gjika | 1:2c4f640a8104 | 8 | bool cutdown=0; |
Gjika | 1:2c4f640a8104 | 9 | DigitalOut relay(p8); |
Gjika | 1:2c4f640a8104 | 10 | bool attempted=0; |
Gjika | 1:2c4f640a8104 | 11 | DigitalIn DTMF(p11); |
Gjika | 1:2c4f640a8104 | 12 | AnalogIn Temp1(p18); |
Gjika | 1:2c4f640a8104 | 13 | AnalogIn Temp2(p19); |
Gjika | 1:2c4f640a8104 | 14 | AnalogIn Temp3(p20); |
simon | 0:6b7345059afe | 15 | |
simon | 0:6b7345059afe | 16 | int main() { |
Gjika | 1:2c4f640a8104 | 17 | T.start(); |
Gjika | 1:2c4f640a8104 | 18 | relay=0; |
Gjika | 1:2c4f640a8104 | 19 | float tempC1, tempF1, tempC2, tempF2, tempC3, tempF3; |
simon | 0:6b7345059afe | 20 | while(1) { |
Gjika | 1:2c4f640a8104 | 21 | |
Gjika | 1:2c4f640a8104 | 22 | pc.printf("----- %f -----\n\r",T.read()); |
Gjika | 1:2c4f640a8104 | 23 | if(T.read()>= 20){ |
Gjika | 1:2c4f640a8104 | 24 | cutdown=1; |
Gjika | 1:2c4f640a8104 | 25 | } |
Gjika | 1:2c4f640a8104 | 26 | |
Gjika | 1:2c4f640a8104 | 27 | gps.sample(); |
Gjika | 1:2c4f640a8104 | 28 | pc.printf("Long = %f\n\rLati = %f\n\r", gps.longitude, gps.latitude); |
Gjika | 1:2c4f640a8104 | 29 | if(gps.longitude != 0){ |
Gjika | 1:2c4f640a8104 | 30 | led1=1; |
Gjika | 1:2c4f640a8104 | 31 | } |
Gjika | 1:2c4f640a8104 | 32 | |
Gjika | 1:2c4f640a8104 | 33 | tempC1 = ((Temp1*3.3)-0.600)*100.0; |
Gjika | 1:2c4f640a8104 | 34 | tempC2 = ((Temp2*3.3)-0.600)*100.0; |
Gjika | 1:2c4f640a8104 | 35 | tempC3 = ((Temp3*3.3)-0.600)*100.0; |
Gjika | 1:2c4f640a8104 | 36 | tempF1 = (9.0*tempC1)/5.0 + 32; |
Gjika | 1:2c4f640a8104 | 37 | tempF2 = (9.0*tempC2)/5.0 + 32; |
Gjika | 1:2c4f640a8104 | 38 | tempF3 = (9.0*tempC3)/5.0 + 32; |
Gjika | 1:2c4f640a8104 | 39 | pc.printf("Temp1 = %f\n\rTemp2 = %f\n\rTemp3 = %f\n\r",tempF1, tempF2, tempF3); |
Gjika | 1:2c4f640a8104 | 40 | |
Gjika | 1:2c4f640a8104 | 41 | if (DTMF){ |
Gjika | 1:2c4f640a8104 | 42 | pc.printf("DTMF = True\n\r"); |
Gjika | 1:2c4f640a8104 | 43 | cutdown=1; |
Gjika | 1:2c4f640a8104 | 44 | } else { |
Gjika | 1:2c4f640a8104 | 45 | pc.printf("DTMF = False\n\r"); |
Gjika | 1:2c4f640a8104 | 46 | } |
Gjika | 1:2c4f640a8104 | 47 | |
Gjika | 1:2c4f640a8104 | 48 | if (cutdown==1 && attempted != 1){ |
Gjika | 1:2c4f640a8104 | 49 | pc.printf("Cutdown Started = %f\n\r",T.read()); |
Gjika | 1:2c4f640a8104 | 50 | relay=1; |
Gjika | 1:2c4f640a8104 | 51 | wait(20); |
Gjika | 1:2c4f640a8104 | 52 | relay=0; |
Gjika | 1:2c4f640a8104 | 53 | pc.printf("Cutdown Ended = %f\n\r",T.read()); |
Gjika | 1:2c4f640a8104 | 54 | attempted=1; |
Gjika | 1:2c4f640a8104 | 55 | } |
Gjika | 1:2c4f640a8104 | 56 | |
simon | 0:6b7345059afe | 57 | } |
simon | 0:6b7345059afe | 58 | } |
Gjika | 1:2c4f640a8104 | 59 |