Final Commit

Dependencies:   mbed

Committer:
jbeason3
Date:
Fri Oct 04 21:30:23 2019 +0000
Revision:
0:d08b5dcb3f52
Final Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jbeason3 0:d08b5dcb3f52 1 #include "mbed.h"
jbeason3 0:d08b5dcb3f52 2 DigitalOut led1(p24);
jbeason3 0:d08b5dcb3f52 3 DigitalOut led2(p23);
jbeason3 0:d08b5dcb3f52 4 DigitalOut led3(p22);
jbeason3 0:d08b5dcb3f52 5 DigitalOut led4(p21);
jbeason3 0:d08b5dcb3f52 6 AnalogIn photo(p15);
jbeason3 0:d08b5dcb3f52 7 AnalogIn LM19(p18);
jbeason3 0:d08b5dcb3f52 8 Serial pc(USBTX, USBRX);
jbeason3 0:d08b5dcb3f52 9
jbeason3 0:d08b5dcb3f52 10 struct NMEA{
jbeason3 0:d08b5dcb3f52 11 char header[5];
jbeason3 0:d08b5dcb3f52 12 char buffer[100];
jbeason3 0:d08b5dcb3f52 13 char checksum[2];
jbeason3 0:d08b5dcb3f52 14 };
jbeason3 0:d08b5dcb3f52 15
jbeason3 0:d08b5dcb3f52 16 NMEA data;
jbeason3 0:d08b5dcb3f52 17 Timer t;
jbeason3 0:d08b5dcb3f52 18
jbeason3 0:d08b5dcb3f52 19 int main() {
jbeason3 0:d08b5dcb3f52 20 t.start();
jbeason3 0:d08b5dcb3f52 21 while(1) {
jbeason3 0:d08b5dcb3f52 22 float light = photo.read();
jbeason3 0:d08b5dcb3f52 23 float temp = LM19.read();
jbeason3 0:d08b5dcb3f52 24 float tempC = (1.8663 - 3.3*temp)/0.01169;
jbeason3 0:d08b5dcb3f52 25 //print NMEA string
jbeason3 0:d08b5dcb3f52 26 pc.printf("$TTMPL %f, %f, %f, %f; \r\n", t.read(), temp, tempC, light);
jbeason3 0:d08b5dcb3f52 27 if (tempC < 20 & light > 1.75) {
jbeason3 0:d08b5dcb3f52 28 led1 = 1;
jbeason3 0:d08b5dcb3f52 29 led2 = 0;
jbeason3 0:d08b5dcb3f52 30 led3 = 0;
jbeason3 0:d08b5dcb3f52 31 led4 = 0;
jbeason3 0:d08b5dcb3f52 32 // 3.3 print out
jbeason3 0:d08b5dcb3f52 33 pc.printf("$TTMPL %f, %f, %f, Cold, %f, Day; \r\n", t.read(), temp, tempC, light);
jbeason3 0:d08b5dcb3f52 34 }
jbeason3 0:d08b5dcb3f52 35 if (tempC < 20 & light < 1.75) {
jbeason3 0:d08b5dcb3f52 36 led1 = 0;
jbeason3 0:d08b5dcb3f52 37 led2 = 1;
jbeason3 0:d08b5dcb3f52 38 led3 = 0;
jbeason3 0:d08b5dcb3f52 39 led4 = 0;
jbeason3 0:d08b5dcb3f52 40 // 3.3 print out
jbeason3 0:d08b5dcb3f52 41 pc.printf("$TTMPL %f, %f, %f, Cold, %f, Night; \r\n", t.read(), temp, tempC, light);
jbeason3 0:d08b5dcb3f52 42 }
jbeason3 0:d08b5dcb3f52 43 if (tempC > 20 & light > 1.75) {
jbeason3 0:d08b5dcb3f52 44 led1 = 0;
jbeason3 0:d08b5dcb3f52 45 led2 = 0;
jbeason3 0:d08b5dcb3f52 46 led3 = 1;
jbeason3 0:d08b5dcb3f52 47 led4 = 0;
jbeason3 0:d08b5dcb3f52 48 // 3.3 print out
jbeason3 0:d08b5dcb3f52 49 pc.printf("$TTMPL %f, %f, %f, Hot, %f, Day; \r\n", t.read(), temp, tempC, light);
jbeason3 0:d08b5dcb3f52 50 }
jbeason3 0:d08b5dcb3f52 51 if (tempC > 20 & light < 1.75) {
jbeason3 0:d08b5dcb3f52 52 led1 = 0;
jbeason3 0:d08b5dcb3f52 53 led2 = 0;
jbeason3 0:d08b5dcb3f52 54 led3 = 0;
jbeason3 0:d08b5dcb3f52 55 led4 = 1;
jbeason3 0:d08b5dcb3f52 56 // 3.3 print out
jbeason3 0:d08b5dcb3f52 57 pc.printf("$TTMPL %f, %f, %f, Hot, %f, Night; \r\n", t.read(), temp, tempC, light);
jbeason3 0:d08b5dcb3f52 58 }
jbeason3 0:d08b5dcb3f52 59 wait(5);
jbeason3 0:d08b5dcb3f52 60
jbeason3 0:d08b5dcb3f52 61 //clean serial ports
jbeason3 0:d08b5dcb3f52 62 while(pc.readable()){
jbeason3 0:d08b5dcb3f52 63 pc.getc();
jbeason3 0:d08b5dcb3f52 64
jbeason3 0:d08b5dcb3f52 65 }
jbeason3 0:d08b5dcb3f52 66 }
jbeason3 0:d08b5dcb3f52 67 }
jbeason3 0:d08b5dcb3f52 68
jbeason3 0:d08b5dcb3f52 69
jbeason3 0:d08b5dcb3f52 70