Light_and_Temp_Control

Dependencies:   Servo mbed

Committer:
fedeedlp
Date:
Thu Aug 07 19:39:59 2014 +0000
Revision:
0:8fa77db93e75
First Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fedeedlp 0:8fa77db93e75 1 /*This program monitoring the light and the temperature and send a serial command (if the user chose it) and turn on a light signal*/
fedeedlp 0:8fa77db93e75 2
fedeedlp 0:8fa77db93e75 3 #include "mbed.h"
fedeedlp 0:8fa77db93e75 4 #include "Servo.h"
fedeedlp 0:8fa77db93e75 5
fedeedlp 0:8fa77db93e75 6 Servo Servo_Temp(D13);
fedeedlp 0:8fa77db93e75 7 Servo Servo_Light(D14);
fedeedlp 0:8fa77db93e75 8 AnalogIn temperature(A0);
fedeedlp 0:8fa77db93e75 9 AnalogIn light(A1);
fedeedlp 0:8fa77db93e75 10 DigitalOut temp_alert(D0);
fedeedlp 0:8fa77db93e75 11 DigitalOut light_alert(D1);
fedeedlp 0:8fa77db93e75 12 int i;
fedeedlp 0:8fa77db93e75 13 Serial pc(USBTX, USBRX); // tx, rx
fedeedlp 0:8fa77db93e75 14
fedeedlp 0:8fa77db93e75 15 int main()
fedeedlp 0:8fa77db93e75 16 {
fedeedlp 0:8fa77db93e75 17 temp_alert=0;
fedeedlp 0:8fa77db93e75 18 light_alert=0;
fedeedlp 0:8fa77db93e75 19 pc.printf("Press 'y' to receive commands or 'n' for not receive\n");
fedeedlp 0:8fa77db93e75 20 char mode = pc.getc();
fedeedlp 0:8fa77db93e75 21 while(1) {
fedeedlp 0:8fa77db93e75 22 if (temperature>5) { //High Temperature
fedeedlp 0:8fa77db93e75 23 i=0;
fedeedlp 0:8fa77db93e75 24 while(i<10) {
fedeedlp 0:8fa77db93e75 25 temp_alert=1;
fedeedlp 0:8fa77db93e75 26 wait(1);
fedeedlp 0:8fa77db93e75 27 temp_alert=0;
fedeedlp 0:8fa77db93e75 28 i++;
fedeedlp 0:8fa77db93e75 29 }
fedeedlp 0:8fa77db93e75 30 temp_alert=1;
fedeedlp 0:8fa77db93e75 31 Servo_Temp.position(0);
fedeedlp 0:8fa77db93e75 32 if(mode=='y')
fedeedlp 0:8fa77db93e75 33 pc.printf("High Temperature");
fedeedlp 0:8fa77db93e75 34
fedeedlp 0:8fa77db93e75 35 } else
fedeedlp 0:8fa77db93e75 36 temp_alert=0;
fedeedlp 0:8fa77db93e75 37 Servo_Temp.position(100);
fedeedlp 0:8fa77db93e75 38
fedeedlp 0:8fa77db93e75 39 if (light<1) { //Low Light
fedeedlp 0:8fa77db93e75 40 i=0;
fedeedlp 0:8fa77db93e75 41 while(i<10) {
fedeedlp 0:8fa77db93e75 42 light_alert=1;
fedeedlp 0:8fa77db93e75 43 wait(1);
fedeedlp 0:8fa77db93e75 44 light_alert=0;
fedeedlp 0:8fa77db93e75 45 i++;
fedeedlp 0:8fa77db93e75 46 }
fedeedlp 0:8fa77db93e75 47 light_alert=1;
fedeedlp 0:8fa77db93e75 48 Servo_Light.position(0);
fedeedlp 0:8fa77db93e75 49 if(mode=='y')
fedeedlp 0:8fa77db93e75 50 pc.printf("Low Light");
fedeedlp 0:8fa77db93e75 51 } else
fedeedlp 0:8fa77db93e75 52 light_alert=0;
fedeedlp 0:8fa77db93e75 53 Servo_Light.position(100);
fedeedlp 0:8fa77db93e75 54 wait(1);
fedeedlp 0:8fa77db93e75 55 }
fedeedlp 0:8fa77db93e75 56 }