Pages: 1 [2]   Go Down
Author Topic: ds1820 problem  (Read 2539 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Resumiendo: Las sondas (TODAS, LAS 6!!!!!!) estaban mal.   smiley-roll-blue smiley-sad-blue smiley-eek-blue smiley-eek smiley-cry smiley-cry

Bueno, la cuestión es que ya te funciona.  smiley

¿Has probado todos los ejemplos de los que hemos hablado? Estaría bien que los comprobases para ver que no estabamos haciendo alguna burrada.

Ya contarás

si he provado todos los ejemplos ...........y para cortarme la cabeza jorge resulta que me comi el color rojo de las resistencia (es decir 4,7 ohms) las cambie y resuelto ,ahora me encuentro en que tengo las tres sondas pero dos de ellas me dan la misma temperatura este es el frag del codigo
Quote
void Temperatura(int minutos, int horas)
{
  float T1;
  float T2;
   float T3;
  sensores.requestTemperatures();
  T1=sensores.getTempCByIndex(0)+1;
  T2=sensores.getTempCByIndex(1)+1;
  T3=sensores.getTempCByIndex(2)+1;
   lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("TEMPERATURA");
   lcd.print("   ");
  if (hour < 10) lcd.print("0");
  lcd.print(hour, DEC);
  lcd.print(":");  
  if (minute < 10) lcd.print("0");
  lcd.print(minute, DEC);
   lcd.setCursor(0, 1);
  lcd.print("AIR-1:");
  lcd.print(T1);
  lcd.print((char)223);
  lcd.print(" ");
   lcd.setCursor(0, 2);
  lcd.print("AIR-2:");
  lcd.print(T2);
  lcd.print((char)223);
  lcd.print(" ");
  
  lcd.setCursor(0,3);
  lcd.print("WATER:");
  lcd.print(T3);
  lcd.print((char)223);
  lcd.print(" ");
  if (T3 < 25) EstadoCalent=0;
  if (T3 > 26) EstadoCalent=1;
  if (T1 < 25) EstadoVentil=0;
  if (T1 > 26) EstadoVentil=1;
  if (T2 < 25) EstadoCentil=0;
  if (T2 > 26) EstadoCentil=1;
  lcd.setCursor(16, 3);
    if(EstadoCalent==1 ){
    digitalWrite(PinCalentador, LOW);
    lcd.write(6);lcd.write(5);lcd.write(5);
  }
  else
  {
    digitalWrite(PinCalentador, HIGH);
    lcd.write(6);
  }
  lcd.setCursor(16, 1);
  if(EstadoVentil==1 )//decimos al rele el encendido y apagado//
  {
    digitalWrite(PinVentilador, LOW);
    lcd.write(6);lcd.write(5);lcd.write(5);
  }
  else
  {
    digitalWrite(PinVentilador, HIGH);
    lcd.write(6);
  }
    lcd.setCursor(16, 2);
  if(EstadoVentil==1 )//decimos al rele el encendido y apagado//
  {
    digitalWrite(PinVentilador, LOW);
    lcd.write(6);lcd.write(5);lcd.write(5);
  }
  else
  {
    digitalWrite(PinVentilador, HIGH);
    lcd.write(6);
  }

  delay(Retraso);
}
« Last Edit: June 29, 2012, 01:45:18 am by medina » Logged

Spain
Offline Offline
Full Member
***
Karma: 0
Posts: 191
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Supongo que en la función Temperatura() ya habrás comprobado a enviar por puerto serie T1, T2 y T3 para ver que estás leyendo del onewire y es ahí donde ves que los valores son iguales, ¿no? Si es así el código que has puesto no dice nada, porque el problema está antes.

Por cierto, ¿qué dos valores son iguales? ¿deberían ser distintos? ¿son siempre los mismos? ¿Son valores lógicos o fuera de rango?

Por otro lado, supongo que en el setup habrás puesto la inicialización que te indicaba Humphrey, ¿verdad?
Hola
 He mirado un poco por encima el código y me parece que lo que falta es iniciarlizar los sensores, con:

sensores.begin();

en el setup debería servirte.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

jorge esta en el setup
tengo que decirte   que
 sin conectar la sonda t2  la temperatura en pantalla es la misma para t1(conectada) y t2 ( desconectada ) y la t3(conectada) marca su temperatura ,en cuanto conecto la sonda t2 a sus hermanas  se pone como en corto y marca todas 1º mando en zip el codigo .y gracias por tu interes
estan juntadas  las  data (amarillo)junto al positivo+r4.7k a vcc y  (rojo y negro) al gnd( son ds1820 enfundados )vamos cuando esta dos sondas va de fabula tres como que no  smiley-zipper

* medina codec.zip (5.61 KB - downloaded 5 times.)
« Last Edit: June 29, 2012, 05:48:01 am by medina » Logged

Spain
Offline Offline
Full Member
***
Karma: 0
Posts: 191
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

jorge esta en el setup
tengo que decirte   que
 sin conectar la sonda t2  la temperatura en pantalla es la misma para t1(conectada) y t2 ( desconectada ) y la t3(conectada) marca su temperatura ,en cuanto conecto la sonda t2 a sus hermanas  se pone como en corto y marca todas 1º mando en zip el codigo .y gracias por tu interes
estan juntadas  las  data (amarillo)junto al positivo+r4.7k a vcc y  (rojo y negro) al gnd( son ds1820 enfundados )vamos cuando esta dos sondas va de fabula tres como que no  smiley-zipper
No entiendo muy bien que quieres decir

Debes ir probando las cosas poco a poco, para asegurarte de que vas haciendo las cosas bien y, si tienes un fallo, poder localizarlo fácilmente. Para saber si es un problema de hardware o del 1-wire, configura el puerto serie del arduino para poder utilizar el monitor serie (serial.begin() en el setup) y en la función temperatura manda por puerto serie las lecturas de las sondas cuando las hagas:

Code:
void Temperatura(int minutos, int horas)
{
  float T1;
  float T2;
   float T3;
  sensores.requestTemperatures();
  T1=sensores.getTempCByIndex(0)+1;
  T2=sensores.getTempCByIndex(1)+1;
  T3=sensores.getTempCByIndex(2)+1;
  serial.print("T1: ");
  serial.println(T1,2);
  serial.print("T2: ");
  serial.println(T2,2);
  serial.print("T3: ");
  serial.println(T3,2);

Así, verás en el monitor serie los valores que estás leyendo de cada sonda.

Con este código empieza a hacer pruebas de conexión de las sondas una a una, desconexión de sondas una a una,...Así podrás ver si es una en concreto la que falla o es siempre la última sonda que conectas o ....

Si es una sonda la que falla siempre, prueba a cambiarla. Si tienes más sondas, prueba también con ellas.

Si ves que las lecturas del monitor serie son correctas, entonces el problema estará en tu código y entonces le echaremos un vistazo a ver que pasa.

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

jorge muchisimas gracias por tu ayuda y por el seguimiento de mi problema desde el principio ,por el tema del serial port  no pude verlo ya que mi lcd no es serial ,despues de cambiar serial x lcd ,aun seguia sin ver nada por el monitor serial,de todas forma con tu codigo he conseguido que se vean las tres temperaturas diferentes , al final eran dos cosas una sonda mala  que reclamare al chino (hay que tener cuidado  con este material barato  pero quebradero )y el codigo incompleto  .
un enorme thank you  para ti jorge
atentamente miguel angél
Logged

Spain
Offline Offline
Full Member
***
Karma: 0
Posts: 191
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

De nada, hombre, de nada.  smiley-wink
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 42
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OTRA COSILLA  CADA VEZ QUE INTRODUZCO EL CODIGO Y RETIRO EL USB  EL LCD SE VUELVE MAJARA ,LE DOY AL RESET Y SE PONE  SUAVEEEEEE ,TE LO COMENTO POR QUE ES UN COÑ.....ZO TENER QUE PULSAR EL RESET DESPUES DE INSERTAR UN CODIGO
POR CASUALIDAD JORGE NO SERAS "jmcadsl"
« Last Edit: June 29, 2012, 11:49:35 am by medina » Logged

Pages: 1 [2]   Go Up
Jump to: