package Metodos; public class Date_Time{ // m�todo que ordenara la fecha que envi�remos a arduino quitando el guion las fecha //y ordenamos 2016-16-09 el resultado que no entrega el m�todo seria 09162016 public String OrderByDateStart(String fecha){ String Retornar;//2016-16-09 String year, month, day; year =fecha.substring(0, 4); month =fecha.substring(5, 7); day =fecha.substring(8, 10); Retornar=day+month+year; return Retornar; } // m�todo que ordenara la hora que envi�remos a arduino quitando el punto //y ordenamos //01:12 el resultado que no entrega el m�todo seria 0112 public String OrderByTime(String hora){ String Retornar;//01:12 String hour ,minute; hour =hora.substring(0, 2); minute =hora.substring(3, 5); Retornar=hour+minute; return Retornar; } }

<%--inportamos la librerias PanamaHitek_Arduino y la clase Date_Time--%> <%@page import="Metodos.Date_Time"%> <%@page import="com.panamahitek.PanamaHitek_Arduino"%> <%!PanamaHitek_Arduino arduino = new PanamaHitek_Arduino(); %> <%//activa el puerto Acp.jsp poner este codigo dentro de body try{ if(request.getParameter("btnP") != null ) { String puertoLibre = request.getParameter("caja8"); arduino.arduinoTX(puertoLibre, 9600); response.sendRedirect("EAl".html"); } }catch(Exception ex) { out.write(ex + ""); response.sendRedirect("EA.html"); } %>

<%--inportamos la librerias PanamaHitek_Arduino y la clase Date_Time--%> <%@page import="Metodos.Date_Time"%> <%@page import="com.panamahitek.PanamaHitek_Arduino"%> <%!PanamaHitek_Arduino arduino = new PanamaHitek_Arduino(); %> <%//activa el puerto EdA.jsp codigo dentro de body try{ if (request.getParameter("btnE") != null) { String fechaEInicio = request.getParameter("caja1"); String horaEInicio = request.getParameter("caja2"); String segEInicio = request.getParameter("caja3"); String fechaEFinal = request.getParameter("caja4"); String horaEFinal = request.getParameter("caja5"); String segEFinal = request.getParameter("caja6"); Date_Time or = new Date_Time(); //objeto para usar los metodos de la clase //variable para enviar las 28 caracteres al arduino String Enviar = or.OrderByDateStart(fechaEInicio) + or.OrderByTime(horaEInicio) + segEInicio + or.OrderByDateStart(fechaEFinal) + or.OrderByTime(horaEFinal) + segEFinal; out.write(Enviar); arduino.sendData(Enviar);//enviamos datos de inicio y final response.sendRedirect("EA.html"); } }catch(Exception ex) { out.write(ex + ""); response.sendRedirect("EA.html"); } %>

#include SD.h> //Libreria para el Lector de MicroSD #include DHT.h> //Libreria para DHT11 sensor #include DS3231.h> //libreria de RTC #include string.h> //Para ingresar Datos en Cadena #include LiquidCrystal.h> //Libreria para LCD LiquidCrystal lcd(7, 8, 9, 10, 15, 14);//Pines para LCD DS3231 rtc(6, 5); //Pines para uso de RTC Time t; // Variable de tipo Fecha File myFile; //variable para SD #define DHTPIN 2 //Seleccionamos el pin en el que se conecta el sensor #define DHTTYPE DHT11 //Se selecciona el DHT11 (hay //otros DHT) DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que ser� usada por Arduino para comunicarse con el sensor String nombre="INICIALIZANDO..."; //texto para el LCD char n; String puntos="..."; char p; char caracter; String cadena=""; //Cadena de texto para almacenar fecha de Inicio y Final String dia,mes,anio,hora, minuto,segundo; //variable de inicio conteo String diaF,mesF,anioF,horaF, minutoF,segundoF; //variables de fin conteo int opcion=0; int conDia,conMes,conAnio,conHora, conMinut, conSegund; //variable de inicion en horas int conDiaF,conMesF,conAnioF, conHoraF, conMinutF, conSegundF; //variable de fin en horas String lcdDateInicion,lcdDateFinal; //variables para LCD boolean condicion =true; void setup() { Serial.begin(9600); rtc.begin(); dht.begin(); lcd.begin(16, 2); for(int i=0;i<16;i++){ n=nombre. charAt(i); lcd.print(n); delay(300); } if (!SD.begin(4)) { Serial.println("No se pudo inicializar"); return; } Serial.println("inicializacion exitosa"); if(!SD.exists("Excel5.csv")){ myFile = SD.open("Excel5.csv", FILE_WRITE); if(myFile) { Serial.println("Archivo nuevo, Escribiendo encabezado(fila 1)"); myFile.println("Tiempo,Humedad,Temperatura"); myFile.close(); }else { Serial.println("Error creando el archivo Excel5.csv"); } }//fin de exists // rtc.setTime(11, 23,20); // Horas //rtc.setDate(14, 06, 2016); // fechas }//fin de setup void loop() { float dht_hum = dht.readHumidity(); // lee la humedad float t dht_temp = dht.readTemperature(); // lee la temperatura lcd.clear(); for(int i=0;i<3;i++){ p = puntos.charAt(i); lcd.setCursor(i, 1); lcd.print(p); delay(400); lcd.clear(); } t=rtc.getTime(); if(Serial.available()){ caracter = char(Serail.read()); cadena.concat(caracter); while(cadena.length()==28){ //:::::::::::::Date Inicio String:::::::::::::::: dia=cadena.substring(0,2); mes=cadena.substring(2,4); anio=cadena.substring(4,8); hora=cadena.substring(8,10); minuto=cadena.substring(10,12); segundo=cadena.substring(12,14); //::::::::::::Date final String::::::::::::::::: diaF=cadena.substring(14,16); mesF=cadena.substring(16,18); anioF=cadena.substring(18,22); horaF=cadena.substring(22,24); minutoF=cadena.substring(24,26); segundoF=cadena.substring(26,28); //::::::::::::::::::Date Inicio Int::::::::::::::: conDia=dia.toInt();conMes=mes.toInt(); conAnio=anio.toInt(); conHora=hora.toInt(); conMinut=minuto.toInt(); conSegund=segundo.toInt(); //:::::::::::::Date final Int:::::::::::::::::::: conDiaF=diaF.toInt(); conMesF=mesF.toInt(); conAnioF=anioF.toInt(); conHoraF=horaF.toInt(); conMinutF=minutoF.toInt(); conSegundF=segundoF.toInt(); //:::::::::::::Imprimir en el LCD:::::::::::::::::::: lcdDateInicion=dia+'/'+mes+'/'+'.'+'.'+hora+':'+minuto+':'+segundo; //Imprimir en LCD lcdDateFinal=diaF+'/'+mesF+'/'+'.'+'.'+horaF+':'+minutoF+':'+segundoF; //Imprimir en LCD t=rtc.getTime(); lcd.setCursor(0, 0); lcd.print("TIEMPO DE INICIO"); lcd.setCursor(0, 1); lcd.print(lcdDateInicion); delay(2000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("TIEMPO FINAL"); lcd.setCursor(0, 1); lcd.print(lcdDateFinal); delay(2000); //verifica el tiempo de inicio if(t.date==conDia && t.mon==conMes && t.year==conAnio && t.hour==conHora && t.min==conMinut && t.sec==conSegund ){ while(condicion){ myFile = SD.open("Excel5.csv", FILE_WRITE); //abrimos el archivo //reinicia el contador if(opcion==4){ opcion = 0; }else{ opcion++;} t=rtc.getTime(); //actualizamos la hora y fecha if(myFile){ myFile.print(rtc.getTimeStr()); myFile.print(','); myFile.print(dht_hum); myFile.print(','); myFile.println(dht_temp); myFile.close(); //cerramos el archivo else { Serial.println("Error al abrir el archivo"); } if(opcion==0){ lcd.clear); lcd.setCursor(0, 0); lcd.print(""GUARDANDO A SD""); lcd.setCursor(0, 1); lcd.print(lcdDateInicion); } else if(opcion==2){ lcd.clear(); lcd.setCursor(0, 0); lcd.print("FINALIZARA EN..."); lcd.setCursor(0, 1); lcd.print(lcdDateFinal); } delay(1000); //verifica el tiempo final if(t.date==conDiaF && t.mon==conMesF && t.year==conAnioF && t.hour==conHoraF && t.min==conMinutF && t.sec==conSegundF){ lcd.setCursor(0, 0); lcd.print("FINALIZADO"); delay(90000); condicion=false; }//fin de condici�n tiempo final }//fin while cuando la fecha de ingreso es igual guarda en sd los datos }//fin de if calida la fecha y hora de ingreso }//fin de while que espera la 28 caracteres } //fin de Serial.available } //fin de loop