Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "mbed.h"
- //#include "TextLCD.h"
- #define voltage 3300;
- #define ON 0;
- #define OFF 1;
- AnalogIn analog_light(A4);
- AnalogIn analog_humid(A0);
- Serial pc(SERIAL_TX, SERIAL_RX);
- DigitalOut led_D1( PA_5 ); // Vermelho
- DigitalOut led_D2( PA_6 ); // Verde
- DigitalOut led_D3( PA_7 ); // Azul
- DigitalOut sw_s1( PB_6 ); //relay
- //TextLCD lcd(D8, D3, D7, D6, D5, D4, TextLCD::LCD8x2);
- bool verificacao(float humid_sensor, float light_sensor);
- void liga_rega(float humid_sensor);
- int main()
- {
- pc.printf("Hello World");
- float light_sensor, humid_sensor;
- int /*count=0, a=0,*/ disp=0;
- bool rega;
- sw_s1=OFF;
- led_D1 = !false;
- led_D2 = !false;
- led_D3 = !false;
- // lcd.cls();
- while(1) {
- humid_sensor =1- analog_humid.read();
- light_sensor = analog_light.read();
- //se for noite e estiver entre 0.25 e 0.3 liga amarelo
- if(humid_sensor<0.75f) {
- led_D2=!true;
- } else {
- led_D2=!false;
- }
- //se for dia e estiver entre 0.3 e 0.4 liga vermelho
- if(humid_sensor<0.65f) {
- led_D1=!true;
- } else {
- led_D1=!false;
- }
- //changes LCD every 15 seconds
- /* if(count>14) {
- // if(a==0)a=1;
- else if(a==1)a=0;
- count=0;
- }*/
- //if(a==0) {
- // lcd.cls();
- disp=light_sensor*100;
- /*lcd.*/pc.printf("Light: %d%%\n", disp);
- // } else if(a==1) {
- disp=humid_sensor*100;
- //lcd.cls();
- /*lcd.*/pc.printf("Humidity: %d%%\n", disp);
- // }
- light_sensor*=voltage;
- pc.printf( "light: %f \n\r humid: %f \n\r\n\r", light_sensor, humid_sensor );
- rega= verificacao(humid_sensor, (float) light_sensor);
- if(rega) {
- liga_rega(humid_sensor);
- }
- wait_ms(1000);
- // count++;
- }
- }
- bool verificacao(float humid_sensor, float light_sensor)
- {
- if( (light_sensor<330 && humid_sensor<0.7f) || (humid_sensor< 0.6f)) {
- return true;
- } else return false;
- }
- void liga_rega(float humid_sensor)
- {
- //liga verde
- led_D1=!true;
- led_D2=!true;
- while(humid_sensor<0.75f) {
- humid_sensor = 1-analog_humid.read();
- //LIGAR MOTOR
- sw_s1=ON;
- pc.printf("humid: %f \n\r\n\r", humid_sensor);
- wait(1);
- }
- sw_s1=OFF;
- led_D1=!false;
- led_D2=!false;
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement