Professional Documents
Culture Documents
h>
#include <OneWire.h>
#include <DallasTemperature.h>
int x1=0;
void setup()
{ Serial.begin(9600);
wifi.begin(9600);
sensors.begin();
pinMode(13,OUTPUT);
void loop()
while (wifi.available() >0 ) //Esto basicamente revisa si hay datos recibidos o que ya estaban
almacenados en el módulo wifi. Si hay datos (>0), entonces que proceda con el código siguiente.
{char c = wifi.read(); // Se declara una variable de tipo caracter ("c") que va a almacenar el dato leÃ-do
por el módulo.
if (c == 71) // Esto quiere decir, que si el dato que lee es igual a 71 (es decir, la letra G en lenguaje
ASCII) significa que busca detectar un "GET" que envia el navegador cuando intentamos abrirlo
while(x1==1){
int pinNumber = (wifi.read()-48)*10; //Este obtiene el primer numero del pin. Por ejemplo, si es el pin
13, entonces el primer numero es 1 y se multiplica por 10, para obtener 10.
pinNumber += (wifi.read()-48); // Aqui se obtiene el segundo numero, si fuera el pin 13, entonces el
segundo número es 3 y se añade al primer numero ^
Serial.println(pinNumber);
while(sensorValue!=0) {
sensorValue = analogRead(A1);
// Parte de temperatura:
sensors.requestTemperatures(); //Se envía el comando para leer la temperatura
float temp= sensors.getTempCByIndex(0); //Se obtiene la temperatura en ºC
Serial.println("");
Serial.println("");
Serial.print("La Temperatura es de = ");
Serial.print(temp);
Serial.println(" C");
delay(2000);
// Parte de pH
if (x==0){
for(int i=0;i<10;i++)
{
buf[i]=analogRead(analogInPin);
delay(10);
}
for(int i=0;i<9;i++)
{
for(int j=i+1;j<10;j++)
{
if(buf[i]>buf[j])
{
temp=buf[i];
buf[i]=buf[j];
buf[j]=temp;
}
}
}
avgValue=0;
for(int i=2;i<8;i++)
avgValue+=buf[i];
float pHVol=(float)avgValue*5.0/1024/6;
float phValue = -5.70 * pHVol + 21.34;
Serial.print("La medida de pH es de = ");
Serial.println(phValue);
delay(4000);
}
//Parte de conductividad
if (x==1){
// Leemos el valor en el pin A5
lectura=0;
for(int i=0;i<20;i++){
lectura+=analogRead(Pin_de_medicion);
}
lectura=trunc(lectura/20);
}
}
}
}
void webserver()
{ web("<!DOCTYPE HTML>");
web("<html>"); //una pagina web necesita esto <HTML> y </HTML> es el inicio y fin del documento
web("<body><h1> <FONT SIZE=\"8\" COLOR=\"blue\"> MEDICIONES DEL AGUA </h1>"); //Titulo del
inicio de la pagina
web("<a href=\"https://consejofi.fi-
a.unam.mx?ref=images/EscudoFIVectorizadoNegro2008PPNGx5.png\" target=\"_blank\"><img
src=\"https://consejofi.fi-a.unam.mx/images/EscudoFIVectorizadoNegro2008PPNGx5.png\" WIDTH=400
HEIGHT=400 BORDER=50 /></a><br /><br />");
x1=1;
}
void web(String text)
{wifi.print("AT+CIPSEND=0,"); //Se establece una longitud de datos, en este caso, un máximo de 2048
bytes (2048 caracteres) que se enviarán a la conexión "0".
wifi.println(text.length());
{Serial.println(text);
delay(10);
break;