Control de cargas por medio de optoacopladores con comunicacion BT

Dependencies:   DHT22 mbed

Committer:
oscarvzfz
Date:
Sat May 14 18:03:52 2016 +0000
Revision:
0:4196d7ffeb5a
blabla;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
oscarvzfz 0:4196d7ffeb5a 1 #include "mbed.h"
oscarvzfz 0:4196d7ffeb5a 2 #include "DHT22.h"
oscarvzfz 0:4196d7ffeb5a 3
oscarvzfz 0:4196d7ffeb5a 4 PwmOut pulso(LED1);
oscarvzfz 0:4196d7ffeb5a 5 Serial pc(USBTX, USBRX);
oscarvzfz 0:4196d7ffeb5a 6 Serial blue(p13,p14); // TX = P14 RX = P13
oscarvzfz 0:4196d7ffeb5a 7
oscarvzfz 0:4196d7ffeb5a 8 DigitalOut sala(p30);
oscarvzfz 0:4196d7ffeb5a 9 DigitalOut foco(p29);
oscarvzfz 0:4196d7ffeb5a 10 DigitalOut ventilador(p28);
oscarvzfz 0:4196d7ffeb5a 11 DigitalOut fuente(p27);
oscarvzfz 0:4196d7ffeb5a 12 DigitalOut jardin(p26);
oscarvzfz 0:4196d7ffeb5a 13 Ticker cruce;
oscarvzfz 0:4196d7ffeb5a 14 Timeout sen;
oscarvzfz 0:4196d7ffeb5a 15 const float powerlinefrequency=60.000;
oscarvzfz 0:4196d7ffeb5a 16 volatile float dim;
oscarvzfz 0:4196d7ffeb5a 17 Timeout SSRtriggerOn;
oscarvzfz 0:4196d7ffeb5a 18 AnalogIn mq2(p20);
oscarvzfz 0:4196d7ffeb5a 19 float value = 0;
oscarvzfz 0:4196d7ffeb5a 20 float cal=0;
oscarvzfz 0:4196d7ffeb5a 21 float calt=0;
oscarvzfz 0:4196d7ffeb5a 22 float Rgas,Raire;
oscarvzfz 0:4196d7ffeb5a 23
oscarvzfz 0:4196d7ffeb5a 24
oscarvzfz 0:4196d7ffeb5a 25 char n;
oscarvzfz 0:4196d7ffeb5a 26 float m=180;
oscarvzfz 0:4196d7ffeb5a 27
oscarvzfz 0:4196d7ffeb5a 28 float temp,hum;m
oscarvzfz 0:4196d7ffeb5a 29
oscarvzfz 0:4196d7ffeb5a 30 DHT22 dht22(p15) ;
oscarvzfz 0:4196d7ffeb5a 31
oscarvzfz 0:4196d7ffeb5a 32 void triggerOn()
oscarvzfz 0:4196d7ffeb5a 33 {
oscarvzfz 0:4196d7ffeb5a 34 foco = 1;
oscarvzfz 0:4196d7ffeb5a 35 }
oscarvzfz 0:4196d7ffeb5a 36
oscarvzfz 0:4196d7ffeb5a 37 void dimmer()
oscarvzfz 0:4196d7ffeb5a 38 {
oscarvzfz 0:4196d7ffeb5a 39 // turn off SSR at zero crossing
oscarvzfz 0:4196d7ffeb5a 40 foco = 0;
oscarvzfz 0:4196d7ffeb5a 41 // compute time delay using dim value and set timer interrupt
oscarvzfz 0:4196d7ffeb5a 42 // triggers SSR after a small post zero crossing time delay
oscarvzfz 0:4196d7ffeb5a 43 SSRtriggerOn.attach(&triggerOn,(dim)/(2*powerlinefrequency));
oscarvzfz 0:4196d7ffeb5a 44 }
oscarvzfz 0:4196d7ffeb5a 45 void sensado()
oscarvzfz 0:4196d7ffeb5a 46 { dht22.sample() ;
oscarvzfz 0:4196d7ffeb5a 47 temp=dht22.getTemperature();
oscarvzfz 0:4196d7ffeb5a 48 hum=dht22.getHumidity();
oscarvzfz 0:4196d7ffeb5a 49 Rgas=mq2/(3.3-mq2);
oscarvzfz 0:4196d7ffeb5a 50 blue.printf("%2.2f,%2.2f,%2.2f",temp/10,hum/10,(Rgas/Raire)*100);
oscarvzfz 0:4196d7ffeb5a 51
oscarvzfz 0:4196d7ffeb5a 52
oscarvzfz 0:4196d7ffeb5a 53 }
oscarvzfz 0:4196d7ffeb5a 54
oscarvzfz 0:4196d7ffeb5a 55 int main()
oscarvzfz 0:4196d7ffeb5a 56 {
oscarvzfz 0:4196d7ffeb5a 57 for(int x = 0 ; x < 20 ; x++)
oscarvzfz 0:4196d7ffeb5a 58 {
oscarvzfz 0:4196d7ffeb5a 59 cal = cal + mq2 ;
oscarvzfz 0:4196d7ffeb5a 60 wait(.1);
oscarvzfz 0:4196d7ffeb5a 61
oscarvzfz 0:4196d7ffeb5a 62 }
oscarvzfz 0:4196d7ffeb5a 63 calt=(cal/20)*3.3;
oscarvzfz 0:4196d7ffeb5a 64 Raire=calt/(3.3-calt);
oscarvzfz 0:4196d7ffeb5a 65
oscarvzfz 0:4196d7ffeb5a 66 cruce.attach(&dimmer, 0.00833333);
oscarvzfz 0:4196d7ffeb5a 67 sen.attach(&sensado, 1);
oscarvzfz 0:4196d7ffeb5a 68
oscarvzfz 0:4196d7ffeb5a 69 blue.baud(9600);
oscarvzfz 0:4196d7ffeb5a 70 pc.baud(9600);
oscarvzfz 0:4196d7ffeb5a 71 pc.printf("Bluetooth Start\r\n");
oscarvzfz 0:4196d7ffeb5a 72
oscarvzfz 0:4196d7ffeb5a 73 // echo back characters and toggle the LED
oscarvzfz 0:4196d7ffeb5a 74 while (1)
oscarvzfz 0:4196d7ffeb5a 75 {
oscarvzfz 0:4196d7ffeb5a 76 if (blue.readable())
oscarvzfz 0:4196d7ffeb5a 77 {
oscarvzfz 0:4196d7ffeb5a 78 n=blue.getc();
oscarvzfz 0:4196d7ffeb5a 79 pc.putc(n);
oscarvzfz 0:4196d7ffeb5a 80 if(n=='H'){if(m<180)m=m+5;}
oscarvzfz 0:4196d7ffeb5a 81 if(n=='h'){if(m<180)m=m-5;}
oscarvzfz 0:4196d7ffeb5a 82
oscarvzfz 0:4196d7ffeb5a 83 if(n=='J'){jardin=1;}
oscarvzfz 0:4196d7ffeb5a 84 if(n=='j'){jardin=0;}
oscarvzfz 0:4196d7ffeb5a 85 if(n=='C'){ventilador=1;}
oscarvzfz 0:4196d7ffeb5a 86 if(n=='c'){ventilador=0;}
oscarvzfz 0:4196d7ffeb5a 87 if(n=='F'){fuente=1;}
oscarvzfz 0:4196d7ffeb5a 88 if(n=='f'){fuente=0;}
oscarvzfz 0:4196d7ffeb5a 89 if(n=='S'){sala=1;}
oscarvzfz 0:4196d7ffeb5a 90 if(n=='s'){sala=0;}
oscarvzfz 0:4196d7ffeb5a 91
oscarvzfz 0:4196d7ffeb5a 92 dim=m/180+0.001;
oscarvzfz 0:4196d7ffeb5a 93
oscarvzfz 0:4196d7ffeb5a 94 }
oscarvzfz 0:4196d7ffeb5a 95
oscarvzfz 0:4196d7ffeb5a 96
oscarvzfz 0:4196d7ffeb5a 97
oscarvzfz 0:4196d7ffeb5a 98 }
oscarvzfz 0:4196d7ffeb5a 99 }