Go Down

Topic: Lecturas erroneas de temperatura (Read 827 times) previous topic - next topic

Jossema106

hola!

Os cuento, si mido la temperatura sola me da el valor correcto, al añadirle las lineas referentes a la activación del relé también, pero al desactivarlo la temperatura da un valor erroneo. Hay que decir que todo es atraves de internet.
Os paso el código:
if(readString == ("GET /?L=1 HTTP/1.1") )
         {
           //led has to be turned ON
           digitalWrite(ledPin, HIGH);    // set the LED on
           digitalWrite(relayPin, HIGH);
           LEDON = true;
         }
         else{
           //led has to be turned OFF
           digitalWrite(ledPin, LOW);    // set the LED OFF
           digitalWrite(relayPin, LOW);
           LEDON = false;           
         }


Proyecto:
http://duinoblog.blogspot.com.es/

Sergegsx


hola!

Os cuento, si mido la temperatura sola me da el valor correcto, al añadirle las lineas referentes a la activación del relé también, pero al desactivarlo la temperatura da un valor erroneo. Hay que decir que todo es atraves de internet.
Os paso el código:
if(readString == ("GET /?L=1 HTTP/1.1") )
         {
           //led has to be turned ON
           digitalWrite(ledPin, HIGH);    // set the LED on
           digitalWrite(relayPin, HIGH);
           LEDON = true;
         }
         else{
           //led has to be turned OFF
           digitalWrite(ledPin, LOW);    // set the LED OFF
           digitalWrite(relayPin, LOW);
           LEDON = false;           
         }





como esta conectado el rele? diagrama,foto, caracteristicas del rele?

Jossema106

el rele esta conectado al pin 2 de los digitales y el termometro al 2 de los analogicos, por separado funciona bien, si lo pongo el rele que se active con delay todo bien
Proyecto:
http://duinoblog.blogspot.com.es/

Sergegsx


el rele esta conectado al pin 2 de los digitales y el termometro al 2 de los analogicos, por separado funciona bien, si lo pongo el rele que se active con delay todo bien


como esta conectado el rele? diagrama, foto, caracteristicas del rele?
decir que esta conectado al pin 2 solo es el 5% de todo lo que implica conectar un rele al arduino.
cual es el codigo con delay?
cual es el código completo sin delay que te da problemas?

Jossema106

#include <Ethernet.h>
#include <SPI.h>
/*
   Simple Ethernet Test

Arduino server outputs simple text to browser

    The circuit:
    * Arduino Duemilanove
* Arduino Ethernet shield
* Basic FTDI breakout 5V
*LED connected to GND and digital pin 4 via resistor

By Minde
    http://www.sciencprog.com/
*/

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = {192, 168, 1, 33 };            // ip in lan
byte gateway[] = {192, 168, 2, 254 };            // internet access via router
byte subnet[] = {255, 255, 255, 0 };                   //subnet mask
EthernetServer server(5675);                                      //server port
byte sampledata=50;            //some sample data - outputs 2 (ascii = 50 DEC)             
int ledPin = 7;  // LED pin
String readString = String(30); //string for fetching data from address
boolean LEDON = false; //LED status flag
boolean ReleON = false; //LED status flag

int relayPin = 2;                 // PIN al que va conectado el relé
int pinTemperatura = 0; // Damos un nombre al pin de la temp
int tempValor ; // La variable donde guardaremos la temperatura


void setup(){
//start Ethernet
Ethernet.begin(mac, ip, gateway, subnet);
//Set pin 4 to output
pinMode(ledPin, OUTPUT); 
//enable serial datada print 
pinMode(relayPin, OUTPUT);

Serial.begin(9600);
}
void loop(){
 
  /*   digitalWrite(relayPin, HIGH);   // ENCENDIDO
   delay(1000);                   
   digitalWrite(relayPin, LOW);    // APAGADO
   delay(1000);*/
   
// Primero transformamos la lectura analógica de tensión a un valor de temperatura
tempValor = ( 5.0 * analogRead(pinTemperatura) * 100.0) / 1024.0;
// Ahora imprimimos el valor en el puerto serie donde podremos monitorizarlo
Serial.print("Temperatura (Celsius) = ");
Serial.println(tempValor);


// Create a client connection
EthernetClient client = server.available();
if (client) {
   while (client.connected()) {
     if (client.available()) {
       char c = client.read();
       //read char by char HTTP request
       if (readString.length() < 30)
       {
         //store characters to string
         readString += c;
       } 
       //output chars to serial port
       Serial.print(c);
       //if HTTP request has ended
       if (c == '\n') {
         //lets check if LED should be lighted
         readString.trim();
         if(readString == ("GET /?L=1 HTTP/1.1") )
         {
           //led has to be turned ON
           digitalWrite(ledPin, HIGH);    // set the LED on
           
           LEDON = true;
         }
         else{
           //led has to be turned OFF
           digitalWrite(ledPin, LOW);    // set the LED OFF
         
           LEDON = false;           
         }
           if(readString == ("GET /?L=2 HTTP/1.1") )
         {
           //led has to be turned ON
         
           digitalWrite(relayPin, HIGH);
           ReleON = true;
         }
         else{
           //led has to be turned OFF
         
           digitalWrite(relayPin, LOW);
           ReleON = false;           
         }
         // now output HTML data starting with standart header
         
         
         client.println("HTTP/1.1 200 OK");
         
         client.println("Content-Type: text/html");
         client.println();
         //set background to yellow
        // client.print("<body style=background-color:yellow>");
         //send first heading
         client.println("<font color='red'><h1>HTTP test routines</font></h1>");
         client.println("<font color='red'><h1>" + readString + "</font></h1>");
         client.println("<hr />");
         client.println("<hr />");
         //output some sample data to browser
         client.println("<font color='blue' size='5'>Sample data: ");
         client.print(sampledata);//lets output some data
         client.println("<br />");//some space between lines
         client.println("<hr />");
         //drawing simple table
         client.println("<font color='green'>Simple table: ");
         client.println("<br />");
         client.println("<table border=1><tr><td>row 1, cell 1</td><td>row 1, cell 2</td></tr>");
         client.println("<tr><td>row 2, cell 1</td><td>row 2, cell 2</td></tr></table>");         
         client.println("<br />");
         client.println("<hr />");
         //controlling led via checkbox
         client.println("<h1>LED control</h1>");
         //address will look like http://192.168.1.110/?L=1 when submited
         client.println("<form method=get name=LED><input type=checkbox name=L value=1>LED<br><input type=checkbox name=L value=2>Rele<br><input type=submit value=submit></form>");     
         client.println("<br />");
         //printing LED status
         client.print("<font size='5'>LED status: ");
         if (LEDON)
           client.println("<font color='green' size='5'>ON");
         else
           client.println("<font color='grey' size='5'>OFF");     
         if (ReleON)
           client.println("<font color='green' size='5'>ON");
         else
           client.println("<font color='grey' size='5'>OFF");     
         client.println("<hr />");
         client.println("<hr />");
         
          client.println("temp: ");
         client.println(tempValor);
         client.println("</body></html>");
         
         //clearing string for next read
         readString="";
         //stopping client
         client.stop();
       }
     }
   }
}
}
Proyecto:
http://duinoblog.blogspot.com.es/

Sergegsx

lo siento jossema, me he cansado, que te ayude otro. Que conste que lo he intentado.

Lee mis post y veras porque.
Suerte en tu proyecto.

Jossema106

Pues que quieres que tediga, que no lo entiendo!

Pero gracias
Proyecto:
http://duinoblog.blogspot.com.es/

Jossema106

De todas formas creo que tengo una ligera idea de porque puede ser, al conectar el releno le puse el diodo.
Proyecto:
http://duinoblog.blogspot.com.es/

Go Up