![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
ESTE PROGRAMA VA A CONTROLAR LAS VARIABLES DE HUMEDAD Y TEMPERATURA SET POINT POR EL USUARIO A TRAVES DE UNA INTERFAZ
Dependencies: mbed TextLCD Keypad DS1307 DHT11
Diff: main.cpp
- Revision:
- 1:2377110920ce
- Parent:
- 0:fff27b50ca98
- Child:
- 2:0edb81388d5f
--- a/main.cpp Sat Feb 01 20:01:54 2020 +0000 +++ b/main.cpp Fri Feb 07 00:09:10 2020 +0000 @@ -1,12 +1,133 @@ -#include "mbed.h" +////////////////////////////////// LIBRERIAS DEL PROYECTO///////////////////////////////////////////// + +#include "mbed.h"// libreria principal mbed +#include "TextLCD.h"// libreria lcd +#include "Keypad.h"// libreria Keypad +#include "DHT11.h"// libreria sensor de humedad y temperatura + +////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////// CONFIGURACION DE GPIO //////////////////////////////////////////// + +DigitalOut myled(PD_13);// configura salida digital y asigna a myled al pin d13 +TextLCD lcd(PB_7,PB_8,PB_15,PB_14,PB_13,PB_12,TextLCD:: LCD16x2);// configuracion de conexion de lcd +Keypad teclado(PC_8,PC_11,PC_7,PC_6,PB_0,PD_6,PD_7,PB_3); +DHT11 dato(PC_5); +///////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////// DECLARACION DE VARIABLES GLOBALES //////////////////////////////////// -DigitalOut myled(LED1); +int z; +char key; +int released; +int s; // variable usada en rutina sensor +int temp; +int hum; +/////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////// SUB-RUTina keypad///////////////////////////////////////////// + void keypad1(){ + + key=teclado.ReadKey(); + if(key== '\0') + released=1; + if((key!= '\0')&& (released==1)){ + //lcd.printf("%c\n",key); + released=0; + } + } + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////// SUB-RUTina SENSORE DHT11///////////////////////////////////////////// + void sensor(){ + s=dato.readData(); + if (s != DHT11::OK){ + lcd.printf("ERROR SENSOR\r\n"); + } + else{ + lcd.cls(); + return; + + + } + + + } + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////// SUB-RUTINA MENU///////////////////////////////////////////// + void menu(){ + while(1){ + + keypad1(); + if(key=='D' ){ + lcd.cls(); + return; + } + //void inicial(); + + lcd.locate(0,0);// LOCALIZA INICIO DE TEXTO EN COLUMNAS Y FILAS + lcd.printf( " Menu " ); + lcd.locate(0,1); + lcd.printf( " Configuracion " ); + //wait(3); + //lcd.cls();//borra caracters + + } + + } + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////// SUB-RUTINA INICIAL /////////////////////////////////////////////// + void inicial(){ + while(1){ + //lcd.cls(); + keypad1(); + + if ( key=='A'){ + lcd.cls(); //borra caracters + menu(); + } + + sensor(); + + + //temp:dato.readTemperature(); + //hum: dato.readHumidity(); + lcd.locate(0,0); // LOCALIZA INICIO DE TEXTO EN COLUMNAS Y FILAS + lcd.printf( "T :%d C SP: 40",dato.readTemperature()); + lcd.locate(0,1); + lcd.printf( "Hr:%d hr SP: 75 ",dato.readHumidity()); + //wait(0.1); + + } // cierra while +} // cierra rutina +///////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////// RUTINA PRINCIPAL ////////////////////////////////////////////// int main() { + z=0; + released=1; + //lcd.printf("helllooo people");// escribe caracteres en el lcd + while(1) { - myled = 1; - wait(0.2); - myled = 0; - wait(0.2); + // lcd.cls();//borra caracters + lcd.locate(0,0);// LOCALIZA INICIO DE TEXTO EN COLUMNAS Y FILAS + lcd.printf( " Proyecto " ); + lcd.locate(0,1); + lcd.printf( " Tutoria " ); + wait(3); + lcd.cls();//borra caracters + lcd.locate(0,0); + lcd.printf( " Sistemas " ); + lcd.locate(0,1); + lcd.printf( "Microprocesados " ); + wait(3); + lcd.cls();//borra caracters + inicial(); + + } + } -} + +/////////////////////////////////////////////////////////////////////////////////////////////////////// + + +