Arduino Forum

International => Español => Topic started by: dboodb on Jun 16, 2013, 06:51 pm

Title: Problema con rele
Post by: dboodb on Jun 16, 2013, 06:51 pm
Tengo un problema, mi intencion es controlar una placa de reles, y que se activen diferentes reles segun la hora del dia.
Por que no se activan a la hora marcada.

Gracias de antemano

Title: Problema con rele
Post by: dboodb on Jun 16, 2013, 06:55 pm
PAso el codigo al un nuevo msj
Title: Re: Ayuda con codigo novato
Post by: dboodb on Jun 17, 2013, 11:35 am
Nadie tiene idea de por que no hace el encendido del rele con este codigo varias veces al dia?
Title: Re: Ayuda con codigo novato
Post by: GabyCR on Jun 17, 2013, 11:45 am
No he mirado el código, pero te marca bien la hora??? Has mirado que por Serial te dé bien la hora??

Un saludo
Title: Re: Ayuda con codigo novato
Post by: dboodb on Jun 17, 2013, 11:54 am
Hola gracias por contestar, lo tengo en hora, puesto con otro codigo anterior, que me marca la hora correcta con el otro codigo, y me mostraba la hora bien, la funcion poner en hora con este codigo no la utilizo, ya q supongo que el reloj ya esta en hora,
El problema biene que la primera activacion del rele de luces se lleva a cabo y por la mañana se encinde el foco, pero acto seguido tiene que empezar ha pensar en las lluvias cada hora y no las hace, se olvida....
Gracias por tu tiempo.
Title: Re: Ayuda con codigo novato
Post by: GabyCR on Jun 17, 2013, 12:01 pm
Haz una cosa,

Vete poniendo para ver por Serial cuando va pasando por los subprogramas y a ver cuando se para y donde.
Pon por ejemplo que empiece a las 14 y que acabe a las 14:01 y así lo haces rápido

Un saludo
Title: Re: Ayuda con codigo novato
Post by: dboodb on Jun 17, 2013, 12:12 pm
Con el otro codigo me mostraba la hora automaticamente, con este no me la muestra automaticamente, tengo que hacer algo?
Saludos y gracias
Title: Re: Ayuda con codigo novato
Post by: dboodb on Jun 17, 2013, 12:30 pm
El motivo de no ponerlo en hora con este codigo, es que me dava un error en wire.h cuando le indicava la hora actual y intentava cargar el codigo.
Title: Re: Ayuda con codigo novato
Post by: dboodb on Jun 17, 2013, 01:51 pm
Ya se mostrar el reloj y lo tengo en hora, he visto otra forma de hacer que realice la activacion del rele, he codigo anterior lo he modificado, me veo con el problema de que permanecen encendidor los reles todo el timpo, fuera de la hora fijada y tampoco se desconectan.
Title: Re: Ayuda con codigo novato
Post by: dboodb on Jun 17, 2013, 09:28 pm
de las 90 personas que entraron a mirar nadie tiene idea de lo que pasa?
Pues si que tamos apañaos XD
Title: Re: Ayuda con codigo novato
Post by: Luis_AM3C on Jun 17, 2013, 10:36 pm
Hola,

        Haz un codigo sencillo donde enciendas los dos reles al mismo tiempo, lo mas seguro es que el consumo de corriente sea mayor que el que entregan los puertos del dispositivo y no alcance para energizar ambos al mismo tiempo, espero no se te haya quemado nada.

        Deberias usar algun transistor, buffer, optoacopladot, puente H, o equivalente para energizar el rele y nunca directamente desde el arduino.

        Cambia el titulo a problema encendiendo dos relé segun la hora, y asi entra menos gente a ver a que llamas codigo novato.

        Y upara encapsular lo que sea código utiliza esto:
Code: [Select]
//Coloca tu codigo aqui dentro de las etiquetas correctas

Saludos.
Title: Re: Problema con rele
Post by: dboodb on Jun 18, 2013, 12:44 pm
Es una placa de reles, que se puede conectar directamente al arduino, se pueden activar todos los reles a la vezsin problemas.
Lo que no consigo es que me haga la activacion a la hora marcada.

Alguien me puede decir que esta mal del codigo?
Title: Re: Problema con rele
Post by: dboodb on Jun 18, 2013, 01:04 pm
Code: [Select]
#include <LiquidCrystal.h>
#include <Wire.h>
#define DS1307_I2C_ADDRESS 0x68
#include <RTClib.h>

RTC_DS1307 RTC; // Crea el objeto RTC
//temperatura
int Temp = 0;
char Grados = 'º';
int Ana1 = A0;   //Entrada analogica de LM35


int rele = 8; //rele, luces1.
int rele1= 7; //rele, luces1.




// Convierte números normales decimales a BCD (binario decimal codificado)
byte decToBcd(byte val)
{
  return ((val/10*16) + (val%10));
}

// Convierte BCD (binario decimal codificado) a números normales decimales
byte bcdToDec(byte val)
{
  return ((val/16*10) + (val%16));
}
byte second, minute, hour, dayofweek, dayofmonth, month, year;
// 1) Sets the date and time on the ds1307
// 2) Starts the clock
// 3) Sets hour mode to 24 hour clock
// Assumes you're passing in valid numbers
void setDateDs1307(byte second,        // 0-59
                   byte minute,        // 0-59
                   byte hour,          // 1-23
                   byte dayOfMonth,    // 1-28/29/30/31
                   byte month,         // 1-12
                   byte year)          // 0-99
{
   Wire.beginTransmission(DS1307_I2C_ADDRESS);
   Wire.write(0);
   Wire.write(decToBcd(second));
   Wire.write(decToBcd(minute));
   Wire.write(decToBcd(hour));
   Wire.write(decToBcd(dayOfMonth));
   Wire.write(decToBcd(month));
   Wire.write(decToBcd(year));
   Wire.endTransmission();
}

// Establece la fecha y el tiempo del ds1307
void getDateDs1307(byte *second,
          byte *minute,
          byte *hour,
          byte *dayOfMonth,
          byte *month,
          byte *year)
{
  // Resetea el registro puntero
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write(0);
  Wire.endTransmission();

  Wire.requestFrom(DS1307_I2C_ADDRESS, 7);

  // Alguno de estos necesitan enmascarar, ciertos bits son bits de control   

  *second     = bcdToDec(Wire.read()&0x7f);
  *minute     = bcdToDec(Wire.read());
  *hour       = bcdToDec(Wire.read()&0x3f);
  *dayOfMonth = bcdToDec(Wire.read());
  *month      = bcdToDec(Wire.read());
  *year       = bcdToDec(Wire.read());
}

void setup()
{
    Serial.begin(9600);     

  pinMode(rele,OUTPUT);
  pinMode(rele1,OUTPUT);
  pinMode(13,OUTPUT);
  digitalWrite(13, HIGH);          //Activamos la retroiluminacion
  byte second, minute, hour, dayOfMonth, month, year;
  Wire.begin();
RTC.begin(); // Establece la velocidad de datos del RTC
   

  second = 0;
  minute = 59;
  hour = 13;
    dayOfMonth = 17;
  month = 1;
  year = 13;
  setDateDs1307(second, minute, hour, dayOfMonth, month, year);

}
//control de las luces segun la hora:
void luces()
{
if(hour == 11 && minute == 1)
{
digitalWrite (rele, HIGH);
}
if(hour == 12 && minute == 1)
{
digitalWrite (rele, LOW);
}
}
void lluvia()
{
if(hour == 13 && minute == 59)
{
digitalWrite (rele1, LOW);
}
if(hour == 14 && minute == 1)
{
digitalWrite (rele1,HIGH);
}
}





   void loop()
{
  byte second, minute, hour, dayOfMonth, month, year;
  getDateDs1307(&second, &minute, &hour, &dayOfMonth, &month, &year);

{
DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC

Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();

delay(1000); // La información se actualiza cada 1 seg.
}


{
luces();

lluvia();
}
   //temperatura//



    Temp = analogRead(Ana1);          //Leemos el valor de la entrada analogica
  Temp = map(Temp,0,1024,20,150);  //Escalamos la señal a grados centigrados

  //Mostramos los grados en el serial
  Serial.print("Grados: ");
  Serial.print(Temp);
  Serial.print(Grados);
  Serial.println("C");





  delay(10000);                  //Al ser temperatura no hace falta leerlo tan seguido
}
Title: Re: Problema con rele
Post by: eb4cak on Jun 18, 2013, 04:19 pm
Hola

No se, yo probaría a sustituir hour por hour(), así coges la hora del sistema en lugar de una variable que no le envías a la función.

Saludos

Code: [Select]
//control de las luces segun la hora:
void luces()
{
if(hour() == 11 && minute() == 1)
{
digitalWrite (rele, HIGH);
}
if(hour() == 12 && minute() == 1)
{
digitalWrite (rele, LOW);
}
}
void lluvia()
{
if(hour() == 13 && minute() == 59)
{
digitalWrite (rele1, LOW);
}
if(hour() == 14 && minute() == 1)
{
digitalWrite (rele1,HIGH);
}
}


Title: Re: Problema con rele
Post by: dboodb on Jun 18, 2013, 05:54 pm
Gracias por contestar ante todo y por emplear tu tiempo en intentar ayudarme.

Title: Re: Problema con rele
Post by: Luis_AM3C on Jun 18, 2013, 09:34 pm
Hola,

      Lo que te dice e4bak es que lo que imprimes por serial lo obtienes usando now.hour(), mientras lo que usas en luces lo obtienes de hour, lo que deberias hacer es usar una sola de las dos formas:

Code: [Select]

//Utiliza solo una de estas dos formas
getDateDs1307(&second, &minute, &hour, &dayOfMonth, &month, &year);
DateTime now = RTC.now();


        Sin embargo si quieres que te funcione así tendrias que poner DateTime now; afuera para que se declare globalmente y lo puedas usar desde luces() y lluvia(). Y me acabo de dar cuenta que hour y minute las tienes dentro del setup, deberias colocarlos afuera para que sean globales y poder usarlas en loop(), luces() y lluvia().

        Lo otro es que sigas usando hour y minute, en primer lugar intenta mandarlas por serial para asegurarte que estan leyendo los valores correctamente, y una cosa que vi raro es que usas unas llaves adicionales que en principio no hacen nada pero te recomiendo quitar ya que tal vez puedan causar problemas.

        Te dejo los codigos modificados para que pruebes:

        Opcion 1: //Usando el objeto DateTime now declarado globalmente

Code: [Select]
#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC; // Crea el objeto RTC

DateTime now;

//temperatura
int Temp = 0;
char Grados = 'º';
int Ana1 = A0;   //Entrada analogica de LM35

int rele = 8; //rele, luces1.
int rele1= 7; //rele, luces1.


void setup()
{
  Serial.begin(9600);

  pinMode(rele,OUTPUT);
  pinMode(rele1,OUTPUT);
  pinMode(13,OUTPUT);
 
  digitalWrite(13, HIGH);          //Activamos la retroiluminacion
 
    Wire.begin();
    RTC.begin();

  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }

}
//control de las luces segun la hora:
void luces()
{
   if(now.hour() == 11 && now.minute() == 1)
  {
    digitalWrite (rele, HIGH);
  }
 
  if(now.hour() == 12 && now.minute() == 1)
  {
    digitalWrite (rele, LOW);
  }
}

void lluvia()
{
  if(now.hour() == 13 && now.minute() == 59)
  {
    digitalWrite (rele1, LOW);
  }
 
  if(now.hour() == 14 && now.minute() == 1)
  {
    digitalWrite (rele1,HIGH);
  }
}

void loop()
{

  now = RTC.now(); // Obtiene la fecha y hora del RTC
 
  Serial.print(now.year(), DEC);
  Serial.print('/');
  Serial.print(now.month(), DEC);
  Serial.print('/');
  Serial.print(now.day(), DEC);
  Serial.print(' ');
  Serial.print(now.hour(), DEC);
  Serial.print(':');
  Serial.print(now.minute(), DEC);
  Serial.print(':');
  Serial.print(now.second(), DEC);
  Serial.println();
 
  //delay(1000); // La información se actualiza cada 1 seg.

  luces();

  lluvia();

   //temperatura//
    Temp = analogRead(Ana1);          //Leemos el valor de la entrada analogica
    Temp = map(Temp,0,1024,20,150);  //Escalamos la señal a grados centigrados

  //Mostramos los grados en el serial
  Serial.print("Grados: ");
  Serial.print(Temp);
  Serial.print(Grados);
  Serial.println("C");

  //delay(10000);                  //Al ser temperatura no hace falta leerlo tan seguido
  delay(1000); //Igual si quieres esperar en un lado 1 seg y en el otro 10seg, necesitas hacer la temporizacion sin delays.
}


        Opcion 2://Usando hour y minute sin las llaves extras y enviandolo por serial.

Code: [Select]
#include <LiquidCrystal.h>
#include <Wire.h>
#define DS1307_I2C_ADDRESS 0x68
#include <RTClib.h>

//RTC_DS1307 RTC; // Crea el objeto RTC

//temperatura
int Temp = 0;
char Grados = 'º';
int Ana1 = A0;   //Entrada analogica de LM35

int rele = 8; //rele, luces1.
int rele1= 7; //rele, luces1.

byte second, minute, hour, dayOfMonth, month, year;

// Convierte números normales decimales a BCD (binario decimal codificado)
byte decToBcd(byte val)
{
  return ((val/10*16) + (val%10));
}

// Convierte BCD (binario decimal codificado) a números normales decimales
byte bcdToDec(byte val)
{
  return ((val/16*10) + (val%16));
}
byte second, minute, hour, dayofweek, dayofmonth, month, year;
// 1) Sets the date and time on the ds1307
// 2) Starts the clock
// 3) Sets hour mode to 24 hour clock
// Assumes you're passing in valid numbers
void setDateDs1307(byte second,        // 0-59
                   byte minute,        // 0-59
                   byte hour,          // 1-23
                   byte dayOfMonth,    // 1-28/29/30/31
                   byte month,         // 1-12
                   byte year)          // 0-99
{
   Wire.beginTransmission(DS1307_I2C_ADDRESS);
   Wire.write(0);
   Wire.write(decToBcd(second));
   Wire.write(decToBcd(minute));
   Wire.write(decToBcd(hour));
   Wire.write(decToBcd(dayOfMonth));
   Wire.write(decToBcd(month));
   Wire.write(decToBcd(year));
   Wire.endTransmission();
}

// Establece la fecha y el tiempo del ds1307
void getDateDs1307(byte *second,
          byte *minute,
          byte *hour,
          byte *dayOfMonth,
          byte *month,
          byte *year)
{
  // Resetea el registro puntero
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write(0);
  Wire.endTransmission();

  Wire.requestFrom(DS1307_I2C_ADDRESS, 7);

  // Alguno de estos necesitan enmascarar, ciertos bits son bits de control   

  *second     = bcdToDec(Wire.read()&0x7f);
  *minute     = bcdToDec(Wire.read());
  *hour       = bcdToDec(Wire.read()&0x3f);
  *dayOfMonth = bcdToDec(Wire.read());
  *month      = bcdToDec(Wire.read());
  *year       = bcdToDec(Wire.read());
}

void setup()
{
  Serial.begin(9600);

  pinMode(rele,OUTPUT);
  pinMode(rele1,OUTPUT);
  pinMode(13,OUTPUT);

  digitalWrite(13, HIGH);          //Activamos la retroiluminacion

  Wire.begin();
  //RTC.begin(); // Establece la velocidad de datos del RTC

  second = 0;
  minute = 59;
  hour = 13;
  dayOfMonth = 17;
  month = 1;
  year = 13;
  setDateDs1307(second, minute, hour, dayOfMonth, month, year);

}
//control de las luces segun la hora:
void luces()
{
  if(hour == 11 && minute == 1)
  {
    digitalWrite (rele, HIGH);
  }
  if(hour == 12 && minute == 1)
  {
    digitalWrite (rele, LOW);
  }
}

void lluvia()
{
  if(hour == 13 && minute == 59)
  {
    digitalWrite (rele1, LOW);
  }
  if(hour == 14 && minute == 1)
  {
    digitalWrite (rele1,HIGH);
  }
}


void loop()
{
  getDateDs1307(&second, &minute, &hour, &dayOfMonth, &month, &year);

  //DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC

  Serial.print(year, DEC);
  Serial.print('/');
  Serial.print(month, DEC);
  Serial.print('/');
  Serial.print(dayOfMonth, DEC);
  Serial.print(' ');
  Serial.print(hour, DEC);
  Serial.print(':');
  Serial.print(minute, DEC);
  Serial.print(':');
  Serial.print(second, DEC);
  Serial.println();
 
  //delay(1000); // La información se actualiza cada 1 seg.

  luces();

  lluvia();
 
  //temperatura//
  Temp = analogRead(Ana1);          //Leemos el valor de la entrada analogica
  Temp = map(Temp,0,1024,20,150);  //Escalamos la señal a grados centigrados

  //Mostramos los grados en el serial
  Serial.print("Grados: ");
  Serial.print(Temp);
  Serial.print(Grados);
  Serial.println("C");

  //delay(10000);                  //Al ser temperatura no hace falta leerlo tan seguido
 
  delay(1000); // El ciclo se repite cada segundo
  //Para poder hacer la temporizacion por separado de cada segmento del codigo leete lo de esperar sin usar delay.
}


        Por favor pruebalos ambos y me cuentas como te va.

        Una vez que te funcione eso, revisa lo de temporizar sin usar delay http://forum.arduino.cc/index.php?topic=53526.0 (http://forum.arduino.cc/index.php?topic=53526.0)

Saludos.

Luis A. Mata C.
Anaco-Venezuela
Title: Re: Problema con rele
Post by: dboodb on Jun 19, 2013, 12:12 pm
El primer código esta ok el segundo no, me muestra error.

Con el primer código:
El primero si yo cargo el código y el primer encendido de luces por ejemplo es a los 5 minutos y el apagado a los 6, y en lluvia a en encendido a los  8 y apagado a los 9 me encuentro con que solo cargar el código todos los relés se activan encendiendo luces y lluvia por lo que no respeta este encendido pero si el apagado, pasa igual con lluvia el encendido como ya esta pasa de largo hasta el apagado que si lo respeta.

Intentare ver que puedo hacer con esto... aunque no me explico por qu pasa, y si lo soluciono me pondré con lo de los milis que veo un poco por donde va.

Cabe decir que mi intencion es hacer lluvias cada hora durante el día.
Una vez terminado la secuencia de encendido apagado si creo un segundo void lluvia2 con una segunda hora de encendido y una segunda de apagado, el funcionamiento es correcto puesto que la función lluvia anterior dejo el relé en off.


Saludos y gracias por vuestro tiempo.
Title: Re: Problema con rele
Post by: Luis_AM3C on Jun 19, 2013, 05:34 pm
Hola,

       Ninguno de los codigos los compile , me imgaino que tiene algun error de sintaxis.

       Si lo que deseas es que inicien apagados debes colocarlo en la inicializacion, es decir agregra dentro del setup lo siguiente:

Code: [Select]

digitalWrite (rele, LOW);
digitalWrite (rele1, LOW);


Saludos.
Title: Re: Problema con rele
Post by: dboodb on Jun 19, 2013, 07:25 pm
Muchas gracias, a ver si mañana lo puedo modificar, saludos y gracias te dejo un +1!!!
Title: Re: Problema con rele
Post by: dboodb on Jun 21, 2013, 06:46 pm
Hola, gracias por ayudarme, puede enfocar esto ultimo que me mencionas y lo aplique al código que colgué, por que con ninguno de los tuyos lo conseguía.....

Ahora he conseguido que se encienda a la hora la función Lluvia, tantas veces como quiera al día, que era lo que pretendía. "por fin" pues no.....

El problema es que no se por que no hacen igual la función Luzdia o Niebla, sigo el mismo principio que con Lluvia....

A ver si tu que tienes mejores ideas sabes que pasa.
Muchas gracias


Code: [Select]


#include <LiquidCrystal_I2C.h>


#include <Wire.h>
#include <RTClib.h>


#define DS1307_I2C_ADDRESS 0x68


RTC_DS1307 RTC; // Crea el objeto RTC


LiquidCrystal_I2C lcd(0x27,20,4);

//temperatura
int Temp = 0;
int pDelay = 3500; //Retraso personalizado (Personal Delay)
int Ana1 = A0;   //Entrada analogica de LM35
char Grados = 'º';

int Luzdia = 22; //rele, Luces1.
int Lluvia= 23; //rele, Lluvia
int Niebla= 24; //rele, Niebla


// Convierte números normales decimales a BCD (binario decimal codificado)
byte decToBcd(byte val)
{
 return ((val/10*16) + (val%10));
}

// Convierte BCD (binario decimal codificado) a números normales decimales
byte bcdToDec(byte val)
{
 return ((val/16*10) + (val%16));
}


///////////////////////////////////////RTC///////////////

byte second, minute, hour, dayofweek, dayofmonth, month, year;
// 1) Sets the date and time on the ds1307
// 2) Starts the clock
// 3) Sets hour mode to 24 hour clock
// Assumes you're passing in valid numbers
void setDateDs1307(byte second,        // 0-59
                  byte minute,        // 0-59
                  byte hour,          // 1-23
                  byte dayOfMonth,    // 1-28/29/30/31
                  byte month,         // 1-12
                  byte year)          // 0-99
{
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write(0);
  Wire.write(decToBcd(second));
  Wire.write(decToBcd(minute));
  Wire.write(decToBcd(hour));
  Wire.write(decToBcd(dayOfMonth));
  Wire.write(decToBcd(month));
  Wire.write(decToBcd(year));
  Wire.endTransmission();
}

// Establece la fecha y el tiempo del ds1307
void getDateDs1307(byte *second,
         byte *minute,
         byte *hour,
         byte *dayOfMonth,
         byte *month,
         byte *year)
{
 // Resetea el registro puntero
 Wire.beginTransmission(DS1307_I2C_ADDRESS);
 Wire.write(0);
 Wire.endTransmission();

 Wire.requestFrom(DS1307_I2C_ADDRESS, 7);

 // Alguno de estos necesitan enmascarar, ciertos bits son bits de control  

 *second     = bcdToDec(Wire.read()&0x7f);
 *minute     = bcdToDec(Wire.read());
 *hour       = bcdToDec(Wire.read()&0x3f);
 *dayOfMonth = bcdToDec(Wire.read());
 *month      = bcdToDec(Wire.read());
 *year       = bcdToDec(Wire.read());
}

void setup()
{
   Serial.begin(9600);    

 pinMode(Luzdia,OUTPUT);
 pinMode(Lluvia,OUTPUT);
 pinMode(Niebla,OUTPUT);

 byte second, minute, hour, dayOfMonth, month, year;
 Wire.begin();
RTC.begin(); // Establece la velocidad de datos del RTC
 
////////////////////Porner en hora////////////


 second = 50;
 minute = 58;
 hour = 13;
   dayOfMonth = 17;
 month = 1;
 year = 13;
 setDateDs1307(second, minute, hour, dayOfMonth, month, year);
 

//////////////////////////////////////// HIGH Estado del los reles al cargar codigo

digitalWrite (Luzdia, HIGH);
digitalWrite (Lluvia,  HIGH);
digitalWrite (Niebla,  HIGH);



lcd.init();
 lcd.backlight();
 lcd.clear();
}


//////////////////////////////////////////////////

  void loop()
{
 byte second, minute, hour, dayOfMonth, month, year;
 getDateDs1307(&second, &minute, &hour, &dayOfMonth, &month, &year);

{
DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC

Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();


lcd.clear();
 lcd.setCursor(13,3);
 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,3);
 if (dayOfMonth < 10) lcd.print("0");
 lcd.print(dayOfMonth, DEC);
 lcd.print("/");
 if (month < 10) lcd.print("0");
 lcd.print(month, DEC);  
 lcd.print("/");
 lcd.print("20");  
 if (year < 10) lcd.print("0");
 lcd.print(year, DEC);
 lcd.print("  ");
delay(pDelay); // La información se actualiza cada 1 seg.
}



//////////////////////////////////////////////// Lluvias///////////////////////////////
{
 lcd.clear();
 lcd.setCursor(3,1);
 lcd.print("LLUVIA");
 lcd.print("  ");
 lcd.setCursor(13,3);
 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,3);
 if (dayOfMonth < 10) lcd.print("0");
 lcd.print(dayOfMonth, DEC);
 lcd.print("/");
 if (month < 10) lcd.print("0");
 lcd.print(month, DEC);  
 lcd.print("/");
 lcd.print("20");  
 if (year < 10) lcd.print("0");
 lcd.print(year, DEC);
 lcd.print("  ");
 lcd.setCursor(11,1);
   lcd.print("- OFF");
}

if(hour == 13 && minute == 59 || hour == 14 && minute == 1  || hour == 14 && minute == 3  )
{
digitalWrite (Lluvia,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}

else

if(hour == 14 && minute == 0 || hour == 14 && minute == 2 || hour == 14 && minute == 4  )
{
digitalWrite (Lluvia, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF");
}

delay(pDelay);

//////////////////////////////////////////////// Luces dia ///////////////////////////////
{
 lcd.clear();
 lcd.setCursor(3,1);
 lcd.print("LUZ DIA");
 lcd.print("  ");
 lcd.setCursor(13,3);
 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,3);
 if (dayOfMonth < 10) lcd.print("0");
 lcd.print(dayOfMonth, DEC);
 lcd.print("/");
 if (month < 10) lcd.print("0");
 lcd.print(month, DEC);  
 lcd.print("/");
 lcd.print("20");  
 if (year < 10) lcd.print("0");
 lcd.print(year, DEC);
 lcd.print("  ");
 lcd.setCursor(11,1);
   lcd.print("- OFF");
}

if(hour == 13 && minute == 0)
{
digitalWrite (Luzdia, LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}

else

if(hour == 14 && minute == 0)
{
digitalWrite (Luzdia, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF");  
}
delay(pDelay);


//////////////////////////////////////////////// Niebla ///////////////////////////////
{
 lcd.clear();
 lcd.setCursor(3,1);
 lcd.print("NIEBLA  - OFF");
 lcd.print("  ");
 lcd.setCursor(13,3);
 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,3);
 if (dayOfMonth < 10) lcd.print("0");
 lcd.print(dayOfMonth, DEC);
 lcd.print("/");
 if (month < 10) lcd.print("0");
 lcd.print(month, DEC);  
 lcd.print("/");
 lcd.print("20");  
 if (year < 10) lcd.print("0");
 lcd.print(year, DEC);
 lcd.print("  ");
 lcd.setCursor(11,1);
   lcd.print("- OFF");
}

if(hour == 13 && minute == 0)
{
digitalWrite (Niebla, LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}
else

if(hour == 14 && minute == 0)
{
digitalWrite (Niebla, HIGH);
lcd.setCursor(11,1);
   lcd.print("- ON");  
}
delay(pDelay);



///////////////////////////////////////////////////temperatura///////////////////////////
 

   Temp = analogRead(Ana1);          //Leemos el valor de la entrada analogica
 Temp = map(Temp,0,1024,20,150);  //Escalamos la señal a grados centigrados

 //Mostramos los grados en el serial
 Serial.print("Grados: ");
 Serial.print(Temp);
 Serial.print(Grados);
 Serial.println("C");



Title: Re: Problema con rele
Post by: Luis_AM3C on Jun 21, 2013, 08:24 pm
Hola,

      En tu codigo tienes definido byte second, minute, hour, dayOfMonth, month, year; dentro del setup y dentro del loop, eso los hace variables diferentes y no se puede predecir cual sea el funcionamiento, empieza por borrar esas declaraciones de alli adentro y colocar una sola externa global al comienzo del codigo antes del setup.

       En el caso de la niebla pusiste tanto para preder como apagar lo mismo en el LCD lcd.print("- ON "); aunque eso solo afectaria el mensaje y no el relé.

       Y quita esas llaves { } adicionales en tu código  :smiley-sad-blue: :smiley-sad-blue: :smiley-sad-blue: :smiley-sad-blue:

Saudos.
Title: Re: Problema con rele
Post by: dboodb on Jun 21, 2013, 11:42 pm
Creeo que lo tengo,  compi, ya te dire!!!
Title: Re: Problema con rele
Post by: dboodb on Jun 30, 2013, 01:27 pm
Modificado:
Title: Re: Problema con rele
Post by: dboodb on Jun 30, 2013, 01:34 pm
Hola, hace días que no podía entrar. Todo bien?
Tengo un problema y es que solo se enciende a la hora , por ejemplo la luz se enciende a las 14:00  pero si yo cargo el codigo despue de esta hora no enciende hasta el dia siguiente a las 14:00.... lo intente con encendido if(hour >= 20 && minute >=  30  ) pero el apagado no lo hace o si lo hace cada vez que pasa por encendido hace un parpadeo el rele....

El otro problema que me he encontrado que a día de hoy 30 el código me pinta en el lcd la fecha de 00/06/2013 y le indico que es día 30....
También me he dado cuenta que en el serial pinta 06/13/2013 12:58:52, no entiendo si utilizar el código del reloj para escribir en el serial y en el lcd, me de escribe 2 fechas diferentes, no se por que ocurre.

He tenido que hacer un if por cada hora de activacion, me pregunto si se podria hacer mas simple!
Title: Re: Problema con rele
Post by: dboodb on Jul 01, 2013, 02:15 pm

El problema de que se reinicie o inicie el programa entre las horas comprendidas y el encienda sin esperar a la hora de encendido del día siguiente está solucionado, ahora a ver qué pasa con lo otro...
Title: Re: Problema con rele
Post by: dboodb on Jul 01, 2013, 07:19 pm
Y empezar con los milis!!!!
Title: Re: Problema con rele
Post by: dboodb on Jul 02, 2013, 02:29 pm
Hola, :( estoy estancado con el reloj, el codigo no funciona.
Title: Re: Problema con rele
Post by: dboodb on Jul 02, 2013, 02:30 pm
Este es el anterior que parecia que funciona pero el reloj no va bien.
Code: [Select]
[code] void loop()
{

 getDateDs1307(&second, &minute, &hour, &dayOfMonth, &month, &year);


DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC
Serial.print(now.day(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.year(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();


lcd.clear();
 lcd.setCursor(13,3);
 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,3);
 if (dayOfMonth < 10) lcd.print("0");
 lcd.print(dayOfMonth, DEC);
 lcd.print("/");
 if (month < 10) lcd.print("0");
 lcd.print(month, DEC);  
 lcd.print("/");
 lcd.print("20");  
 if (year < 10) lcd.print("0");
 lcd.print(year, DEC);
 lcd.print("  ");
delay(pDelay); // La información se actualiza cada 1 seg.

/// Lluvias

 lcd.clear();
 lcd.setCursor(3,1);
 lcd.print("LLUVIA");
 lcd.print("  ");
 lcd.setCursor(13,3);
 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,3);
 if (dayOfMonth < 10) lcd.print("0");
 lcd.print(dayOfMonth, DEC);
 lcd.print("/");
 if (month < 10) lcd.print("0");
 lcd.print(month, DEC);  
 lcd.print("/");
 lcd.print("20");  
 if (year < 10) lcd.print("0");
 lcd.print(year, DEC);
 lcd.print("  ");
 lcd.setCursor(11,1);
   lcd.print("- OFF");
   
if(hour == 10 && minute == 1  )
{
digitalWrite (Lluvia,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}

else

if(hour == 10 && minute == 2 )

digitalWrite (Lluvia, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF");

/////
if(hour == 11 && minute == 1  )
{
digitalWrite (Lluvia,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}

else

if(hour == 11 && minute == 2 )

digitalWrite (Lluvia, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF");
   
////
if(hour == 12 && minute == 1  )
{
digitalWrite (Lluvia,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}

else

if(hour == 12 && minute == 2 )

digitalWrite (Lluvia, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF");

   
delay(pDelay);

////Luces dia

 lcd.clear();
 lcd.setCursor(3,1);
 lcd.print("LUZ DIA");
 lcd.print("  ");
 lcd.setCursor(13,3);
 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,3);
 if (dayOfMonth < 10) lcd.print("0");
 lcd.print(dayOfMonth, DEC);
 lcd.print("/");
 if (month < 10) lcd.print("0");
 lcd.print(month, DEC);  
 lcd.print("/");
 lcd.print("20");  
 if (year < 10) lcd.print("0");
 lcd.print(year, DEC);
 lcd.print("  ");
 lcd.setCursor(11,1);
   lcd.print("- OFF");

if(hour >= 10 && minute >=  1  && hour <=  22 && minute <=  30)
{
digitalWrite (Luzdia,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}
else

digitalWrite (Luzdia, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF ");

delay(pDelay);

///Niebla

 lcd.clear();
 lcd.setCursor(3,1);
 lcd.print("NIEBLA  - OFF");
 lcd.print("  ");
 lcd.setCursor(13,3);
 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,3);
 if (dayOfMonth < 10) lcd.print("0");
 lcd.print(dayOfMonth, DEC);
 lcd.print("/");
 if (month < 10) lcd.print("0");
 lcd.print(month, DEC);  
 lcd.print("/");
 lcd.print("20");  
 if (year < 10) lcd.print("0");
 lcd.print(year, DEC);
 lcd.print("  ");
 lcd.setCursor(11,1);
   lcd.print("- OFF");

////
if(hour >= 22 && minute >=  1  && hour <=  22 && minute <=  16 )
{
digitalWrite (Niebla,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}
else

digitalWrite (Niebla, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF ");

////
if(hour >= 22 && minute >=  1  && hour <=  22 && minute <=  15 )
{
digitalWrite (Niebla,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}
else

digitalWrite (Niebla, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF ");

////
if(hour >= 23 && minute >=  1  && hour <=  23 && minute <=  15 )
{
digitalWrite (Niebla,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}
else

digitalWrite (Niebla, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF ");

///
if(hour >= 24 && minute >=  1  && hour <=  24 && minute <=  15 )
{
digitalWrite (Niebla,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}
else

digitalWrite (Niebla, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF ");

///
if(hour >= 1 && minute >=  1  && hour <=  1 && minute <=  15 )
{
digitalWrite (Niebla,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}
else

digitalWrite (Niebla, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF ");

///
if(hour >= 2 && minute >=  1  && hour <=  2 && minute <=  15 )
{
digitalWrite (Niebla,LOW);
lcd.setCursor(11,1);
   lcd.print("- ON ");
}
else

digitalWrite (Niebla, HIGH);
lcd.setCursor(11,1);
   lcd.print("- OFF ");


delay(pDelay);

///temperatura

 //Calcula la temperatura usando como referencia 5v
SenTemp1 = (5.0 * analogRead(0)*100.0)/1023.0;

Serial.println (SenTemp1); //escribe la temperatura en el serial
lcd.clear();
lcd.setCursor(0,0);
 lcd.print("TEM1:");
 lcd.print("  ");
 lcd.setCursor(12,0);
 lcd.print("C ");
 lcd.print("  ");
lcd.setCursor(6,0);
 lcd.print(SenTemp1);
 lcd.print("  ");
 lcd.clear();
   lcd.setCursor(0,1);
 lcd.print("CALENTADOR");
 lcd.print("  ");
 lcd.setCursor(0,2);
 lcd.print("VENTILADOR");
lcd.setCursor(11,1);
   lcd.print("- OFF");
lcd.setCursor(11,2);
   lcd.print("- OFF");
 lcd.setCursor(13,3);
 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,3);
 if (dayOfMonth < 10) lcd.print("0");
 lcd.print(dayOfMonth, DEC);
 lcd.print("/");
 if (month < 10) lcd.print("0");
 lcd.print(month, DEC);  
 lcd.print("/");
 lcd.print("20");  
 if (year < 10) lcd.print("0");
 lcd.print(year, DEC);
 lcd.print("  ");
 delay (pDelay);
 
///Calentador

if (SenTemp1 < 24) //Valor on
{
 digitalWrite(Calentador, LOW); //calentador on
lcd.setCursor(11,1);
   lcd.print("- ON ");
}
if (SenTemp1 > 25) //Valor off
 digitalWrite(Calentador, HIGH); // calentador off
lcd.setCursor(11,1);
   lcd.print("- OFF ");


////Ventiladore

if (SenTemp1 > 27)//
{
 digitalWrite(Ventilador, LOW); //venti on
lcd.setCursor(11,2);
   lcd.print("- ON ");
}
else
 digitalWrite(Ventilador, HIGH); //venti
lcd.setCursor(11,2);
   lcd.print("- OFF ");

delay (2000);
}

[/code]
Title: Re: Problema con rele
Post by: dboodb on Jul 02, 2013, 03:54 pm
Utilizando este código para comprobar el reloj, me marca bien en el serial, no se que ocurre....
Code: [Select]
#include <Wire.h>
#include <RTClib.h>

RTC_DS1307 RTC; // Crea el objeto RTC

void setup () {
Serial.begin(9600); // Establece la velocidad de datos del puerto serie
Wire.begin(); // Establece la velocidad de datos del bus I2C
RTC.begin(); // Establece la velocidad de datos del RTC


///RTC.adjust(DateTime(__DATE__, __TIME__)); // Establece la fecha y hora

}

void loop () {
DateTime now = RTC.now(); // Obtiene la fecha y hora del RTC

Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();

delay(1000); // La información se actualiza cada 1 seg.
}





Por lo que intentare hacer algo con este...

//Luz

if(now.hour() >= 18 && now.minute() >=  30 && now.hour() <=  20 && now.minute() <=  30)
{
digitalWrite (Luzdia,LOW);

}
else

digitalWrite (Lluzdia, HIGH);


delay(1000);

Lo que ocurre es que compara hora y minuto si enciende a las 18:30 se cierra a las 19:30 por que el minuto de cerrarse es 30 y le da igual si la hora que tendria que cerrar son las 20....
Title: Re: Problema con rele
Post by: Luis_AM3C on Jul 03, 2013, 12:20 am
Hola,

      Analiza mejor lo que estas escibiendo:

Code: [Select]
if(now.hour() >= 18 && now.minute() >=  30 && now.hour() <=  20 && now.minute() <=  30)

      Alli dice que si la hora esta entre 18 y 20, y el minuto esta entre 30 y 30 enciendelo. Osea que a las 18:31 se apaga porque no satisface la condición de los minutos.

      La condicion correcta es, si hora es 18 y minuto mayor o igual a 30, o hora es 19 (o mayor que 18 y menor que 20 si son varias horas), o hora es 20 y minuto menor o igual a 30.

Code: [Select]
if( (now.hour()==18 && now.minute()>= 30) || (now.hour()==19) || (now.hour()==20 && now.minute()<=30) )

      Espero esto te funcione, en caso de que tengas problemas lo mejor es probar tu codigo por etapas, probar el codigo del reloj solo, luego probar la lógica encendiendo unos leds, luego probar la circuiteria encendiendo los reles, y ya una vez que estes seguro que todo funciona por separado irlo uniendo.

Saludos.
Title: Re: Problema con rele
Post by: dboodb on Jul 03, 2013, 02:34 pm
Vale muchas gracias he captado la idea para esto.
De esta manera funciona perfectamente si el periodo tiene que ser durante varias horas:
Code: [Select]

if( (now.hour()>=12 && now.minute()>= 57) || (now.hour()==13) && (now.hour()==13 && now.minute()<=58) )


Solo tiene un problema que si el periodo son 10 horas el código es largo.

Otra forma que he funciona , un poco engorrosa si se tiene que hacer diferentes...
Code: [Select]

int hourlluvia1 = 9;
int minutelluvia1 = 40;
int hourlluvia2 = 12;
int minutelluvia2 = 50;

loop

if(now.hour() >= hourlluvia1 && now.minute() >= minutelluvia1 )

{
digitalWrite (Lluvia,LOW);

}
else
digitalWrite (Lluvia,HIGH);

if(now.hour() >= hourlluvia2 && now.minute() >= minutelluvia2 )

{
digitalWrite (Lluvia, HIGH);

    }


y otra mas también funcionando bien.
Code: [Select]
if((now.hour() > 12 ||now.hour() == 12  && now.minute() >= 28) && ( now.hour() < 13 || now.hour() == 13 && now.minute() <=28))

{
digitalWrite (Lluvia,LOW);

}
else
digitalWrite (Lluvia, HIGH);



Pues muchas gracias por el aporte Luis y por molestarte en ayudarme.
Title: Re: Problema con rele
Post by: dboodb on Jul 03, 2013, 02:45 pm
Si procurare hacerlo por separado y ver si funciona, ahora tengo que intentar que funcione cada hora durante 15 minutos y si se va la luz.
Gracias.

Title: Re: Problema con rele
Post by: dboodb on Jul 03, 2013, 08:30 pm
Vale gracias por la ayuda parece que funciona.
Tengo el problema de un pico de intensidad por una bomba de 48w conectada a uno de los reles que clava el arduino cuando se enciende, no entiendo por que ocurre ya que las características de la placa indican que no tendría que pasar, que puedo hacer?
Title: Re: Problema con rele
Post by: Luis_AM3C on Jul 03, 2013, 09:52 pm
Hola,

       Supongo que los 48Watts los sacas de otra alimentación sino ya habrias quemado el arduino (o tal vez el arduino es mas robusto de lo que pense). El arduino tiene un regulador de 5v 1A (NCP1117), osea que nunca entregara mas de 5 watts. Si lo tienes conectado a esa alimentación pues el regulador se calentara y suerte tienes que hace shutdown y no se quema.

       La funcion del rele es precisamente esa, poder separar tu circuito de poca corriente (Arduino) de una etapa de potencia que maneja voltajes y corrientes elevadas.

       Ahora suponiendo que la corriente de la carga la tengas de otro circuito, el problema puede ser que la corriente de activación de ese relé sea mayor que la que puede entregar el arduino por un pin (40mA), en cuyo caso tendras que agregar algun transistor, buffer, optoacoplador o equivalente, que te permita entregar la corriente que necesita el relé sin forzar el arduino.

Saludos.



     
Title: Re: Problema con rele
Post by: dboodb on Jul 03, 2013, 09:58 pm
Hola, si utilizo el rele por que la bomba va a 220V, y la bomba tiene su alimentacion a 215v en mi caso que es conectada por arduino con ayuda del rele.

Si la alimento de manera independiente se soluciona el problema.
Funciona a 5V el modulo y diria que tiene optoacoplador por cada rele...
Este modelo de modulo.
http://www.ebay.com/itm/8-Channel-5V-Relay-Shield-Module-for-Arduino-UNO-2560-1280-ARM-PIC-AVR-STM32-/161058127715?pt=LH_DefaultDomain_0&hash=item257fcfff63

(http://img.auctiva.com/imgdata/1/4/6/7/2/7/7/webimg/483001330_o.jpg)

Lo que no entiendo mucho como tengo que conectar arduino al modulo y que pines son los de fuente extra para el modulo, seria retirar el jumper conectar jd-vcc y gnd a la fuente de 5v y y vcc y IN1 IN2... al arduino
Es como lo tengo ahora mismo supongo que es correcto por que funciona.
Pues esto es lo que he hecho: alimento modulo rele por separado, alejamiento de la bobinas tanto módulo relé y la de la bomba, arduino con su propia fuente de alimentación.
Lo que me he dado cuenta es que no  se clava arduino  solo desconecta el puerto serial y no transmite, por que el reloj en el monitor serial se para y intento cargar el código y me dice que puerto serial no encontrado, lo que ocurre es que cuando se acciona el rele y por lo tanto la bomba se escucha un sonido como un
"clac" por los altavoces... esto no se si será muy bueno y por que ocurre y como solucionarlo, aunque arduino cuando funcione no tiene que estar conectado por USB.
Title: Re: Problema con rele
Post by: Valero on Jul 20, 2015, 01:26 pm
Hola dboodb:

   Yo tengo exactamente el mismo problema. He pensado que quizás sea un problema de ruido electromagnético al cerrar (o abrir) el contacto del relé.

   He probado montando varistores a la salida del relé, poniendo filtros de red a la entrada de las fuentes y separando el módulo del arduino (físicamente).

   Nade me ha funcionapo, a día de hoy sigo igual.

¿Conseguiste tú solucionar el problema?. Saludos.
Title: Re: Problema con rele
Post by: surbyte on Jul 20, 2015, 07:18 pm
Jul 03, 2013, 07:58 pm Last Edit: Jul 04, 2013, 11:10 am by dboodb Reason: 1
Ultima respuesta Jul 04, 2013