Pages: [1]   Go Down
Author Topic: Lecturas erroneas de temperatura  (Read 709 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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;           
         }

Logged


0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged


0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

#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();
       }
     }
   }
 }
}
Logged


0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues que quieres que tediga, que no lo entiendo!

Pero gracias
Logged


Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

De todas formas creo que tengo una ligera idea de porque puede ser, al conectar el releno le puse el diodo.
Logged


Pages: [1]   Go Up
Jump to: