Saltar al contenido


Foto
- - - - -

pantalla led y controlador


  • Please log in to reply
83 las respuestas a este tema

#26 bikersoy

bikersoy

    Usuario Distinguido

  • Usuario Distinguido
  • 4722 Mensajes

Publicado el 07 July 2012 - 01:52 PM

Perdona pero el video no se ve esta suprimido

#27 Locoslot

Locoslot

    Acuarista

  • Registered Users +50
  • 337 Mensajes

Publicado el 07 July 2012 - 02:48 PM

Me pasa lo mismo, de todas formas te felicito por el trabajo, se ve alucinante. Una pregunta, los Led uva servirían para terrario? Donde los has conseguido?

#28 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 07 July 2012 - 02:56 PM

bueno os presento el resultado final de la pantalla he de comentaros que el fragmento del video corresponde al segundo video ya que el primero se grabo en mala calidad ,en este se observa los canales1ºAZUL -2º AZUL-3º AZUL-4ºAZULel video solo muestra los encendidos y apagados para que veais como juega la luz ........ estan trabajando a un 10% con un trabajo de dimeado de 6 minuto ,en su codigo real el dimeado es de una hora con lo que nio se nota los cambio de enmcendido y apagados .

#29 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 07 July 2012 - 02:57 PM

bueno os presento el resultado final de la pantalla he de comentaros que el fragmento del video corresponde al segundo video ya que el primero se grabo en mala calidad ,en este se observa los canales1ºWHITE -2º WHITE-3ºWHITE-4ºWHITEel video solo muestra los encendidos y apagados para que veais como juega la luz ........ estan trabajando a un 10% con un trabajo de dimeado de 6 minuto ,en su codigo real el dimeado es de una hora con lo que nio se nota los cambio de enmcendido y apagados .

#30 bikersoy

bikersoy

    Usuario Distinguido

  • Usuario Distinguido
  • 4722 Mensajes

Publicado el 08 July 2012 - 12:10 AM

Una pregunta veo que el dimeado funciona muy bien pero has dividido el acuario en partes y las enciendes una a una.No crees que seria mejor encender gradualmente todo el acuario que por secciones.

#31 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 08 July 2012 - 08:40 AM

Una pregunta veo que el dimeado funciona muy bien pero has dividido el acuario en partes y las enciendes una a una. No crees que seria mejor encender gradualmente todo el acuario que por secciones.

haber biker es cuestion de gusto este progama simula la salida solar y la puesta ,este proyecto se preparo para un acuarios de acros (SPS) puesto que me he tomado un descanso en este tema .puedo conjugar las luces de mil maneras diferentes ,pero me sigue gustando el tema de la simulacion natural del sol .

#32 bikersoy

bikersoy

    Usuario Distinguido

  • Usuario Distinguido
  • 4722 Mensajes

Publicado el 08 July 2012 - 11:18 AM

Vale ahora lo entiendo de otra manera lo que has intentado simular no solo el amanecer y atardecer si no también la rotación del sol respecto a la tierra no?Lo de los corales ya lo he visto en tu canal de youtube y me que quedado embobado

#33 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 09 July 2012 - 05:44 PM

Bueno pues la MAY-LED llego a su terminacion despues de varios meses de trabajo y espera de material toco a si fin esteticamente a quedado bastante bien aqui unas fotos del acabado
extractor de aire
Comentar Imagen

Uploaded with ImageShack.us
teminacion de embellecedor con lentes colocadas :


Comentar Imagen

Uploaded with ImageShack.us


dar las gracias a todos los que habeis visto y opinado sobre este proyecto y espero que sirva de ayuda a aquellos que pretenden crear su pantalla .
un sld MEDINA

#34 PEGASUS

PEGASUS

    Acuarista Activo

  • Registered Users +50
  • 516 Mensajes

Publicado el 17 August 2012 - 05:00 PM

Me he quedao "flipao"... yo que me considero manitas.Pero de electricidad ni hablo por que no la entiendo, me sorprende lo que podeis hacer con un manojo de cables y sin miedo a la electrocución jejejeen serio enhorabuena

#35 bikersoy

bikersoy

    Usuario Distinguido

  • Usuario Distinguido
  • 4722 Mensajes

Publicado el 20 August 2012 - 08:16 PM

No tendrás una foto de como queda internamente la pantalla con los ventiladores

#36 rayit0h

rayit0h

    Acuarista Activo

  • Registered Users +50
  • 709 Mensajes

Publicado el 27 August 2012 - 11:07 AM

Uf veo que hay mucho curro! enhorabuena

#37 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 27 August 2012 - 07:58 PM

No tendrás una foto de como queda internamente la pantalla con los ventiladores

espero que sealo que quieres ver
Comentar Imagen

Uploaded with ImageShack.us

#38 rayit0h

rayit0h

    Acuarista Activo

  • Registered Users +50
  • 709 Mensajes

Publicado el 27 August 2012 - 09:49 PM

espero que la mia me quede la mitad de bien que la tuya

#39 bikersoy

bikersoy

    Usuario Distinguido

  • Usuario Distinguido
  • 4722 Mensajes

Publicado el 28 August 2012 - 11:12 AM

espero que sealo que quieres ver

Si gracias era para ver como quedaba ese ventilador encima de los perfiles led

#40 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 03 September 2012 - 04:09 PM

Buenas despues de un largo camino de trabajo me complace presentaros mi controlador
Dicho controlador es el encargado de controlar:
temperatura( calentador ,coole,2 ventiladores),fuentes 48v y 12v,
control dimeados de los 11 canales ( azules, blancos y purple).
como tutorial ire colocando partes del codigo para ser entendible para todo iniciado :
Declaraciones e Includes:
#include <OneWire.h>
#include <LiquidCrystal.h>
#include <DallasTemperature.h>
#include <Wire.h> //
#define DS1307_I2C_ADDRESS 0x68
LiquidCrystal lcd(26, 27, 45, 47, 49, 51);
#define ONE_WIRE_BUS 40//temperatura, pin de entrada
OneWire oneWire(ONE_WIRE_BUS);//temperatura
DallasTemperature sensores(&oneWire);
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
int PinVentilador =42;//ventiladores
int PinCentilador =44;//ventiladores
int PinUva=43; //uva
int PinPurple=34;//purple
int PinMixtas=35;// rele 16 mixtas
int PinCalentador = 36;//TERMOSTATO//
int PinCooler =37;//enfriador//
int PinFuente=38;//fuente 48v
int PinBatery=39;// batery 12v
int PinActinic=33;//rele 8 actinico
int PinBlue=32;// rele 9 blue
int PinCoral=31;// rele 10 coral
int PinAzul=30;//rele 11 azul
int PinWhite=29;//rele 12 white
int PinClaro=28;//rele 13 claro
int PinSol=25;//rele 14 sol
int PinBlancas=24;//15 rele blancas
int EstadoVentil=0;
int EstadoCentil=0;
int EstadoCalent=0;
int EstadoCooler=0;
int Retraso=5000;

SETUP CODIGO:
   void setup()
{
pinMode(PinCentilador, OUTPUT);
pinMode(PinVentilador, OUTPUT);
pinMode(PinUva,OUTPUT);
pinMode(PinPurple,OUTPUT);
pinMode(PinFuente, OUTPUT);
pinMode(PinCalentador, OUTPUT);
pinMode(PinCooler, OUTPUT);
pinMode(PinBatery, OUTPUT);
pinMode(PinActinic, OUTPUT);
pinMode(PinBlue, OUTPUT);
pinMode(PinCoral, OUTPUT);
pinMode(PinAzul, OUTPUT);
pinMode(PinWhite, OUTPUT);
pinMode(PinClaro, OUTPUT);
pinMode(PinSol, OUTPUT);
pinMode(PinBlancas, OUTPUT);
pinMode(PinMixtas, OUTPUT);
///pines pwm//
pinMode(2, OUTPUT);//ACTINIC//
pinMode(3, OUTPUT);//BLUE//
pinMode(4, OUTPUT);//CORAL//
pinMode(5, OUTPUT);//AZULES//
pinMode(6, OUTPUT);//CLARO//
pinMode(7, OUTPUT);//SOL//
pinMode(8, OUTPUT);//WHITE//
pinMode(9, OUTPUT);//blancas//
pinMode(10, OUTPUT);//MISTAS//
pinMode(11, OUTPUT);//PURPLE//
pinMode(12, OUTPUT);//UVA//
//Establecer el número de la pantalla LCD de columnas y filas:
byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;

Wire.begin();
lcd.noBlink();
lcd.begin(20,4);
sensores.begin();

// Cambie estos valores a los que usted quiere poner su reloj.
// Usted probablemente solo quiere poner su reloj una vez y luego quitar
// la llamada de setDateDs1307.
// si desea poner en hora, active esta parte y luego vuelva a quitarla
/*
second = 00;
minute = 59;
hour = 23;
dayOfWeek = 4;
dayOfMonth = 30;
month =8;
year = 12;
setDateDs1307(second, minute, hour, dayOfWeek, dayOfMonth, month, year);
*/
}

LOOP CODIGO:
 void loop() {  
getDateDs1307(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year); //Obtenemos la hora
sensores.requestTemperatures();
Luces(minute, hour);
Blx(minute, hour);
Co(minute, hour);
Az(minute, hour);

Wh(minute, hour);
Cl(minute, hour);
So(minute, hour);
Bl(minute, hour);

Extras(minute, hour);
Pu(minute, hour);
Mx(minute, hour);
Temperatura(minute, hour);
Fuente(minute, hour);
Batery(minute, hour);


lcd.noBlink();
if (minute < 2) Retraso=1000;
else if (hour < 5) Retraso=1000;
else Retraso=1000;
}

FUNCIONES AUXILIARES CODIGO:
// 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) );
}

// Parar el DS1307, pero esto tiene el efecto secundario de segundos que se ponen a 0
// probablemente solo quiera usar esto para pruebas.
/*
void stopDs1307()
{
Wire.beginTransmission(DS1307_I2C_ADDRESS);
Wire.send(0);
Wire.send(0x80);
Wire.endTransmission();
}
*/
// 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 dayOfWeek, // 1-7
byte dayOfMonth, // 1-28/29/30/31
byte month, // 1-12
byte year) // 0-99
{
Wire.beginTransmission(DS1307_I2C_ADDRESS);
Wire.send(0);
Wire.send(decToBcd(second)); // 0 a bit 7 inicia el reloj
Wire.send(decToBcd(minute));
Wire.send(decToBcd(hour)); // Si usted quiere 12 hora am/pm usted tiene que poner el
// bit 6 (tambien tiene que cambiar readDateDs1307)
Wire.send(decToBcd(dayOfWeek));
Wire.send(decToBcd(dayOfMonth));
Wire.send(decToBcd(month));
Wire.send(decToBcd(year));
Wire.endTransmission();
}
// Establece la fecha y el tiempo del ds1307
void getDateDs1307(byte *second,
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year)
{
// Resetea el registro puntero
Wire.beginTransmission(DS1307_I2C_ADDRESS);
Wire.send(0);
Wire.endTransmission();

Wire.requestFrom(DS1307_I2C_ADDRESS, 7);
// Alguno de estos necesitan enmascarar porque ciertos bits son bits de control
*second = bcdToDec(Wire.receive() & 0x7f);
*minute = bcdToDec(Wire.receive());
*hour = bcdToDec(Wire.receive() & 0x3f); //¿Necesita cambiar esto si 12 horas am / pm
*dayOfWeek = bcdToDec(Wire.receive());
*dayOfMonth = bcdToDec(Wire.receive());
*month = bcdToDec(Wire.receive());
*year = bcdToDec(Wire.receive());
}
/////////////PORCENTAJE//////////
int Porcent(int Valor, int Maximo)
{
int result;
result=Valor*50;
result=result/Maximo;
return result;
}


#41 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 03 September 2012 - 04:13 PM

CODIGO LUCES AZULES:
void Luces(int minutos, int horas) {

int LucesActinic;
int InicioAmanecerActinic=960;//540;// 9:00// 60x9=540
int FinAmanecerActinic=1020;//585;//9:45//
int InicioAnochecerActinic=1025;//1215;//20:15//
int FinAnochecerActinic=1080;//1260;//21:00//
int MaxActinic=250;
int PorcentActinic;

int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno

//#################################actinica ###################################
//Noche
if (Tiempo < InicioAmanecerActinic ) LucesActinic=0;
//Amanecer
if (Tiempo >= InicioAmanecerActinic && Tiempo <= FinAmanecerActinic) LucesActinic=(Tiempo-InicioAmanecerActinic)*2;
//Dia
if ((Tiempo > FinAmanecerActinic) && (Tiempo < InicioAnochecerActinic)) LucesActinic=MaxActinic;
//Anochecer
if (Tiempo >= InicioAnochecerActinic && Tiempo <= FinAnochecerActinic) LucesActinic=(FinAnochecerActinic-Tiempo)*2;
//Control
if( LucesActinic <0) LucesActinic=0;
if( LucesActinic >MaxActinic) LucesActinic=MaxActinic;
analogWrite(2, LucesActinic);
PorcentActinic =Porcent(LucesActinic ,255)*2;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ILUMINACION:");
lcd.setCursor(0,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,1);
lcd.print("ACTINICA:");
if (PorcentActinic< 10);
lcd.print(PorcentActinic);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(6,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(0,2);
if (Tiempo > InicioAmanecerActinic && Tiempo < FinAmanecerActinic) lcd.print ("AMANECER-ACTINIC");
if (Tiempo > FinAmanecerActinic && Tiempo < InicioAnochecerActinic) lcd.print ("PLENUM-ACTINIC");
if (Tiempo >= InicioAnochecerActinic && Tiempo <= FinAnochecerActinic) lcd.print ("ANOCHECER-ACTINIC");
if (Tiempo > FinAnochecerActinic || Tiempo < InicioAmanecerActinic) lcd.print ("ZENIT-ACTINIC");

lcd.setCursor(12, 1);
if (Tiempo >= InicioAmanecerActinic&& Tiempo <= FinAnochecerActinic )//decimos al rele el encendido y apagado//
{
digitalWrite(PinActinic, LOW);

}
else
{
digitalWrite(PinActinic, HIGH);

}
delay(Retraso);
}

void Blx(int minutos, int horas) {
int BlxBlue;
int InicioAmanecerBlue=660;//11:00
int FinAmanecerBlue=720;//12:00 //
int InicioAnochecerBlue=1260;//21:00//
int FinAnochecerBlue=1320;//22:00//
int MaxBlue=100;
int PorcentBlue;
int PasoBlueAM=MaxBlue/(FinAmanecerBlue-InicioAmanecerBlue);
int PasoBluePM=MaxBlue/(FinAnochecerBlue-InicioAnochecerBlue);
int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno
//#################################blue ###################################
if (Tiempo < InicioAmanecerBlue ) BlxBlue =0;
//Amanecer
if (Tiempo >= InicioAmanecerBlue && Tiempo <= FinAmanecerBlue ) BlxBlue =(Tiempo-InicioAmanecerBlue)*PasoBlueAM;
//Dia
if ((Tiempo > FinAmanecerBlue ) && (Tiempo < InicioAnochecerBlue )) BlxBlue =MaxBlue ;
//Anochecer
if (Tiempo >= InicioAnochecerBlue && Tiempo <= FinAnochecerBlue )BlxBlue =(-FinAnochecerBlue-Tiempo)* PasoBluePM;
//Control*
if( BlxBlue <0) BlxBlue =0;
if( BlxBlue >MaxBlue)BlxBlue =MaxBlue;
analogWrite(3,BlxBlue);
PorcentBlue =Porcent(BlxBlue,255)*2;

lcd.clear();
lcd.setCursor(0,0);
lcd.print("ILUMINACION:");
lcd.setCursor(0,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,1);
lcd.print("BLUE:");

if (PorcentBlue< 10);
lcd.print(PorcentBlue);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(6,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(0,2);
if (Tiempo > InicioAmanecerBlue && Tiempo < FinAmanecerBlue) lcd.print ("AMANECE-BLUE");
if (Tiempo > FinAmanecerBlue && Tiempo < InicioAnochecerBlue) lcd.print ("PLENUM-BLUE");
if (Tiempo >= InicioAnochecerBlue && Tiempo <= FinAnochecerBlue) lcd.print ("ANOCHECER-BLUE");
if (Tiempo > FinAnochecerBlue || Tiempo < InicioAmanecerBlue) lcd.print ("ZENIT-BLUE");

lcd.setCursor(10, 1);
if (Tiempo >= InicioAmanecerBlue&& Tiempo <= FinAnochecerBlue )//decimos al rele el encendido y apagado//
{
digitalWrite(PinBlue, LOW);

}
else
{
digitalWrite(PinBlue, HIGH);

}
delay(Retraso);
}
void Co(int minutos, int horas) {
int CoCoral;
int InicioAmanecerCoral=690;//11:30
int FinAmanecerCoral=750;//12:30 //
int InicioAnochecerCoral=1290;//21:30//
int FinAnochecerCoral=1350;//22:30//
int MaxCoral=150;
int PorcentCoral;
int PasoCoralAM=MaxCoral/(FinAmanecerCoral-InicioAmanecerCoral);
int PasoCoralPM=MaxCoral/(FinAnochecerCoral-InicioAnochecerCoral);
int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno
//################################# Coral ###################################
//Noche
if (Tiempo < InicioAmanecerCoral ) CoCoral=0;
//Amanecer
if (Tiempo >= InicioAmanecerCoral && Tiempo <= FinAmanecerCoral) CoCoral=(Tiempo-InicioAmanecerCoral)*PasoCoralAM;
//Dia
if ((Tiempo > FinAmanecerCoral) && (Tiempo < InicioAnochecerCoral) )CoCoral=MaxCoral;
//Anochecer
if (Tiempo >= InicioAnochecerCoral && Tiempo <= FinAnochecerCoral) CoCoral=(FinAnochecerCoral-Tiempo)*PasoCoralPM;
//Control
if( CoCoral <0)CoCoral=0;
if( CoCoral >MaxCoral) CoCoral=MaxCoral;
analogWrite(4, CoCoral);
PorcentCoral =Porcent(CoCoral,255)*2;

lcd.clear();
lcd.setCursor(0,0);
lcd.print("ILUMINACION:");
lcd.setCursor(0,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,1);
lcd.print("CORAL:");
if (PorcentCoral< 10);
lcd.print(PorcentCoral);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(6,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(0,2);
if (Tiempo > InicioAmanecerCoral && Tiempo < FinAmanecerCoral) lcd.print ("AMANECER-CORAL");
if (Tiempo > FinAmanecerCoral&& Tiempo < InicioAnochecerCoral) lcd.print ("PLENUM-CORAL");
if (Tiempo >= InicioAnochecerCoral && Tiempo <= FinAnochecerCoral) lcd.print ("ANOCHECER-CORAL");
if (Tiempo > FinAnochecerCoral || Tiempo < InicioAmanecerCoral) lcd.print ("ZENIT-CORAL");
lcd.setCursor(10, 1);
if (Tiempo >= InicioAmanecerCoral&& Tiempo <= FinAnochecerCoral )//decimos al rele el encendido y apagado//
{
digitalWrite(PinCoral, LOW);

}
else
{
digitalWrite(PinCoral, HIGH);

}
delay(Retraso);
}
void Az(int minutos, int horas) {

int AzAzules;
int InicioAmanecerAzul=720;//12:00
int FinAmanecerAzul=780;//13:00 //
int InicioAnochecerAzul=1320;//22:00//
int FinAnochecerAzul=1380;//23:00//
int MaxAzul=125;
int PorcentAzules;
int PasoAzulAM=MaxAzul/(FinAmanecerAzul-InicioAmanecerAzul);
int PasoAzulPM=MaxAzul/(FinAnochecerAzul-InicioAnochecerAzul);
int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno
//################################# azules ###################################
//Noche
if (Tiempo < InicioAmanecerAzul ) AzAzules=0;
//Amanecer
if (Tiempo >= InicioAmanecerAzul && Tiempo <= FinAmanecerAzul) AzAzules=(Tiempo-InicioAmanecerAzul)*PasoAzulAM;
//Dia
if ((Tiempo > FinAmanecerAzul) && (Tiempo < InicioAnochecerAzul)) AzAzules=MaxAzul;
//Anochecer
if (Tiempo >= InicioAnochecerAzul && Tiempo <= FinAnochecerAzul) AzAzules=(FinAnochecerAzul-Tiempo)*PasoAzulPM;
//Control
if( AzAzules <0) AzAzules=0;
if( AzAzules >MaxAzul)AzAzules=MaxAzul;
analogWrite(5, AzAzules);
PorcentAzules =Porcent(AzAzules ,255)*2;

lcd.clear();
lcd.setCursor(0,0);
lcd.print("ILUMINACION:");

lcd.setCursor(0,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,1);
lcd.print("AZULES:");

if (PorcentAzules< 10);
lcd.print(PorcentAzules);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(6,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(0,2);
if (Tiempo > InicioAmanecerAzul && Tiempo < FinAmanecerAzul) lcd.print ("AMANECER-AZUL");
if (Tiempo > FinAmanecerAzul&& Tiempo < InicioAnochecerAzul) lcd.print ("PLENUM-AZUL");
if (Tiempo >= InicioAnochecerAzul && Tiempo <= FinAnochecerAzul) lcd.print ("ANOCHECER-AZUL");
if (Tiempo > FinAnochecerAzul|| Tiempo < InicioAmanecerAzul) lcd.print ("ZENIT-AZUL");

lcd.setCursor(10, 1);
if (Tiempo >= InicioAmanecerAzul&& Tiempo <= FinAnochecerAzul)//decimos al rele el encendido y apagado//
{
digitalWrite(PinAzul, LOW);

}
else
{
digitalWrite(PinAzul, HIGH);

}
delay(Retraso);
}


#42 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 03 September 2012 - 04:15 PM

CODIGO LUCES BLANCAS :
 void Wh(int minutos, int horas) {
int WhWhite;
int InicioAmanecerWhite=960;//11:15
int FinAmanecerWhite=1020;//12:15 //
int InicioAnochecerWhite=1025;//18:00//
int FinAnochecerWhite=1080;//18:45//
int MaxWhite=250;
int PorcentWhite;

int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno
//################################# White ###################################
//Noche
if (Tiempo < InicioAmanecerWhite)WhWhite=0;
//Amanecer
if (Tiempo >= InicioAmanecerWhite && Tiempo <= FinAmanecerWhite) WhWhite=(Tiempo-InicioAmanecerWhite)*6;
//Dia
if (Tiempo > FinAmanecerWhite && Tiempo < InicioAnochecerWhite) WhWhite=MaxWhite;
//Anochecer
if (Tiempo >= InicioAnochecerWhite && Tiempo <= FinAnochecerWhite) WhWhite=(FinAnochecerWhite-Tiempo)*6;
//Control
if( WhWhite <0) WhWhite=0;
if( WhWhite >MaxWhite)WhWhite=MaxWhite;
analogWrite(6, WhWhite );
PorcentWhite =Porcent(WhWhite,255)*2;

lcd.clear();
lcd.setCursor(0,0);
lcd.print("ILUMINACION:");
lcd.setCursor(0,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,1);
lcd.print("WHITE:");

if (PorcentWhite< 10);
lcd.print(PorcentWhite);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(6,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(0,2);
if (Tiempo > InicioAmanecerWhite && Tiempo < FinAmanecerWhite) lcd.print ("AMANECER-WHITE");
if (Tiempo > FinAmanecerWhite&& Tiempo < InicioAnochecerWhite) lcd.print ("PLENUM-WHITE");
if (Tiempo >= InicioAnochecerWhite && Tiempo <= FinAnochecerWhite) lcd.print ("ANOCHECER-WHITE");
if (Tiempo > FinAnochecerWhite|| Tiempo < InicioAmanecerWhite) lcd.print ("ZENIT-WHITE");


lcd.setCursor(10, 1);
if (Tiempo >= InicioAmanecerWhite&& Tiempo <= FinAnochecerWhite)//decimos al rele el encendido y apagado//
{
digitalWrite(PinWhite, LOW);

}
else
{
digitalWrite(PinWhite, HIGH);

}
delay(Retraso);
}
void Cl(int minutos, int horas) {
int ClClaro;
int InicioAmanecerClaro=840;//14:00//
int FinAmanecerClaro=900;//15:00//
int InicioAnochecerClaro=1140;//19:00//
int FinAnochecerClaro=1200;//20:00//
int MaxClaro=100;
int PasoClaroAM=MaxClaro/(FinAmanecerClaro-InicioAmanecerClaro);
int PasoClaroPM=MaxClaro/(FinAnochecerClaro-InicioAnochecerClaro);
int PorcentClaro;
int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno
//################################# claro ###################################
//Noche
if (Tiempo < InicioAmanecerClaro) ClClaro=0;
//Amanecer
if (Tiempo >= InicioAmanecerClaro && Tiempo <= FinAmanecerClaro) ClClaro=(Tiempo-InicioAmanecerClaro)*PasoClaroAM;
//Dia
if (Tiempo > FinAmanecerClaro && Tiempo < InicioAnochecerClaro)ClClaro=MaxClaro;
//Anochecer
if (Tiempo >= InicioAnochecerClaro && Tiempo <= FinAnochecerClaro)ClClaro=(FinAnochecerClaro-Tiempo)*PasoClaroPM;
//Control
if( ClClaro<0) ClClaro=0;
if( ClClaro >MaxClaro)ClClaro=MaxClaro;
analogWrite(7, ClClaro);
PorcentClaro =Porcent(ClClaro ,255)*2;

lcd.clear();
lcd.setCursor(0,0);
lcd.print("ILUMINACION:");
lcd.setCursor(0,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,1);
lcd.print("CLARO:");

if (PorcentClaro< 10);
lcd.print(PorcentClaro);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(6,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(0,2);
if (Tiempo > InicioAmanecerClaro&& Tiempo < FinAmanecerClaro) lcd.print ("AMANECER-CLARO");
if (Tiempo > FinAmanecerClaro&& Tiempo < InicioAnochecerClaro) lcd.print ("PLENUM-CLARO");
if (Tiempo >= InicioAnochecerClaro&& Tiempo <= FinAnochecerClaro) lcd.print ("ANOCHECER-CLARO");
if (Tiempo > FinAnochecerClaro|| Tiempo < InicioAmanecerClaro) lcd.print ("ZENIT-CLARO");
lcd.setCursor(10, 1);
if (Tiempo >= InicioAmanecerClaro&& Tiempo <= FinAnochecerClaro)//decimos al rele el encendido y apagado//
{
digitalWrite(PinClaro, LOW);

}
else
{
digitalWrite(PinClaro, HIGH);

}
delay(Retraso);
}
void So(int minutos, int horas) {
int SoSol;
int InicioAmanecerSol=870;//14:30//
int FinAmanecerSol=930;//15:30//
int InicioAnochecerSol=1170;//19:30//
int FinAnochecerSol=1230;//20:30//
int MaxSol=150;
int PorcentSol;
int PasoSolAM=MaxSol/(FinAmanecerSol-InicioAmanecerSol);
int PasoSolPM=MaxSol/(FinAnochecerSol-InicioAnochecerSol);



int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno
//################################# sol ###################################
//Noche
if (Tiempo < InicioAmanecerSol) SoSol=0;
//Amanecer
if (Tiempo >= InicioAmanecerSol && Tiempo <= FinAmanecerSol) SoSol=(Tiempo-InicioAmanecerSol)*PasoSolAM;
//Dia
if (Tiempo > FinAmanecerSol && Tiempo < InicioAnochecerSol) SoSol=MaxSol;
//Anochecer
if (Tiempo >= InicioAnochecerSol&& Tiempo <= FinAnochecerSol) SoSol=(FinAnochecerSol-Tiempo)*PasoSolPM;
//Control
if( SoSol<0) SoSol=0;
if( SoSol >MaxSol)SoSol=MaxSol;
analogWrite(8, SoSol);
PorcentSol =Porcent(SoSol ,255)*2;

lcd.clear();
lcd.setCursor(0,0);
lcd.print("ILUMINACION:");
lcd.setCursor(0,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,1);
lcd.print("SOL:");
if (PorcentSol< 10);
lcd.print(PorcentSol);
lcd.print("%");
lcd.setCursor(6,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(0,2);
if (Tiempo > InicioAmanecerSol&& Tiempo < FinAmanecerSol) lcd.print ("AMANECER-SOL");
if (Tiempo > FinAmanecerSol&& Tiempo < InicioAnochecerSol) lcd.print ("PLENUM-SOL");
if (Tiempo >= InicioAnochecerSol&& Tiempo <= FinAnochecerSol) lcd.print ("ANOCHECER-SOL");
if (Tiempo > FinAnochecerSol|| Tiempo < InicioAmanecerSol) lcd.print ("ZENIT-SOL");

lcd.setCursor(10, 1);
if (Tiempo >= InicioAmanecerSol&& Tiempo <= FinAnochecerSol)//decimos al rele el encendido y apagado//
{
digitalWrite(PinSol, LOW);

}
else
{
digitalWrite(PinSol, HIGH);

}
delay(Retraso);
}
void Bl(int minutos, int horas) {
int BlBlancas;
int InicioAmanecerBlancas=900;//15:00//
int FinAmanecerBlancas=960;//16:00//
int InicioAnochecerBlancas=1200;//20:00//
int FinAnochecerBlancas=1260;//21:00//
int MaxBlancas=125;
int PorcentBlancas;
int PasoBlancasAM=MaxBlancas/(FinAmanecerBlancas-InicioAmanecerBlancas);
int PasoBlancasPM=MaxBlancas/(FinAnochecerBlancas-InicioAnochecerBlancas);
int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno
//################################# BLANCAS ###################################
//Noche
if (Tiempo < InicioAmanecerBlancas) BlBlancas=0;
//Amanecer
if (Tiempo >= InicioAmanecerBlancas && Tiempo <= FinAmanecerBlancas)BlBlancas=(Tiempo-InicioAmanecerBlancas)*PasoBlancasAM;
//Dia
if (Tiempo > FinAmanecerBlancas && Tiempo < InicioAnochecerBlancas) BlBlancas=MaxBlancas;
//Anochecer
if (Tiempo >= InicioAnochecerBlancas && Tiempo <= FinAnochecerBlancas) BlBlancas=(FinAnochecerBlancas-Tiempo)*PasoBlancasPM;
//Control
if( BlBlancas <0) BlBlancas=0;
if( BlBlancas >MaxBlancas) BlBlancas=MaxBlancas;
analogWrite(9, BlBlancas );
PorcentBlancas =Porcent(BlBlancas ,255)*2;

lcd.clear();
lcd.setCursor(0,0);
lcd.print("ILUMINACION:");
lcd.setCursor(0,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,1);
lcd.print("BLANCAS:");
if (PorcentBlancas< 10);
lcd.print(PorcentBlancas);
lcd.print(" ");
lcd.print("%");
lcd.setCursor(6,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(0,2);
if (Tiempo > InicioAmanecerBlancas&& Tiempo < FinAmanecerBlancas) lcd.print ("AMANECER-BLANCAS");
if (Tiempo > FinAmanecerBlancas&& Tiempo < InicioAnochecerBlancas) lcd.print ("PLENUM-BLANCAS");
if (Tiempo >= InicioAnochecerBlancas&& Tiempo <= FinAnochecerBlancas) lcd.print ("ANOCHECER-BLANCAS");
if (Tiempo > FinAnochecerBlancas|| Tiempo < InicioAmanecerBlancas) lcd.print ("ZENIT-BLANCAS");

lcd.setCursor(10, 1);
if (Tiempo >= InicioAmanecerBlancas&& Tiempo <= FinAnochecerBlancas)//decimos al rele el encendido y apagado//
{
digitalWrite(PinBlancas, LOW);

}
else
{
digitalWrite(PinBlancas, HIGH);

}
delay(Retraso);
}


#43 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 03 September 2012 - 04:17 PM

CODIGO MIXTAS ,PURPLE,PURPLE II
void Mx(int minutos, int horas) {
int MxMixtas;
int InicioAmanecerMixtas=900;//15:00//
int FinAmanecerMixtas=960;//16:00//
int InicioAnochecerMixtas=1200;//20:00//
int FinAnochecerMixtas=1260;//21:00//
int MaxMixtas=75;
int PorcentMixtas;

int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno
//################################# MIXTAS ###################################
//Noche
if (Tiempo < InicioAmanecerMixtas) MxMixtas=0;
//Amanecer
if (Tiempo >= InicioAmanecerMixtas && Tiempo <= FinAmanecerMixtas) MxMixtas=(Tiempo-InicioAmanecerMixtas)*10;
//Dia
if (Tiempo > FinAmanecerMixtas && Tiempo < InicioAnochecerMixtas)MxMixtas=MaxMixtas;
//Anochecer
if (Tiempo >= InicioAnochecerMixtas && Tiempo <= FinAnochecerMixtas) MxMixtas=(FinAnochecerMixtas-Tiempo)*10;
//Control
if( MxMixtas <0) MxMixtas=0;
if( MxMixtas >MaxMixtas) MxMixtas=MaxMixtas;
analogWrite(10, MxMixtas);
PorcentMixtas=Porcent(MxMixtas,255)*2;

lcd.clear();
lcd.setCursor(0,0);
lcd.print("ILUMINACION:");
lcd.setCursor(0,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,1);
lcd.print("MIXTAS:");
lcd.print(" ");
if (PorcentMixtas< 10);
lcd.print(PorcentMixtas);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(6,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(0,2);
if (Tiempo > InicioAmanecerMixtas&& Tiempo < FinAmanecerMixtas) lcd.print ("AMANECER-MIXTAS");
if (Tiempo > FinAmanecerMixtas&& Tiempo < InicioAnochecerMixtas) lcd.print ("PLENUM-MIXTAS");
if (Tiempo >= InicioAnochecerMixtas&& Tiempo <= FinAnochecerMixtas) lcd.print ("ANOCHECER-MIXTAS");
if (Tiempo > FinAnochecerMixtas|| Tiempo < InicioAmanecerMixtas) lcd.print ("ZENIT-MIXTAS");
lcd.setCursor(10, 1);
if (Tiempo >= InicioAmanecerMixtas&& Tiempo <= FinAnochecerMixtas)//decimos al rele el encendido y apagado//
{
digitalWrite(PinMixtas, LOW);

}
else
{
digitalWrite(PinMixtas, HIGH);

}
delay(Retraso);
}
void Extras(int minutos, int horas) {

int ExtrasUva;
int InicioAmanecerUva=615;//10:15//
int FinAmanecerUva=675;//11:15///
int InicioAnochecerUva=1220;//21:00//
int FinAnochecerUva=1280;//22:00//
int MaxUva=250;
int PorcentUva;


int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno
//#################################uva ###################################
if (Tiempo < InicioAmanecerUva ) ExtrasUva =0;
//Amanecer
if (Tiempo >= InicioAmanecerUva && Tiempo <= FinAmanecerUva ) ExtrasUva=(Tiempo-InicioAmanecerUva)*11;
//Dia
if ((Tiempo > FinAmanecerUva) && (Tiempo < InicioAnochecerUva )) ExtrasUva =MaxUva;
//Anochecer
if (Tiempo >= InicioAnochecerUva && Tiempo <= FinAnochecerUva) ExtrasUva=(FinAnochecerUva-Tiempo)*11;
//Control
if( ExtrasUva <0) ExtrasUva=0;
if( ExtrasUva >MaxUva) ExtrasUva =MaxUva;

analogWrite(11, ExtrasUva);

PorcentUva =Porcent(ExtrasUva ,255)*2;

lcd.clear();
lcd.setCursor(0,0);
lcd.print("LUZ-EXTRA");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("U-VA:");
if (PorcentUva < 10);
lcd.print(PorcentUva);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(0,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(6,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.setCursor(0,2);
if (Tiempo > InicioAmanecerUva&& Tiempo < FinAmanecerUva) lcd.print ("AMANECER-UVA");
if (Tiempo > FinAmanecerUva&& Tiempo < InicioAnochecerUva) lcd.print ("PLENUM-UVA");
if (Tiempo >= InicioAnochecerUva&& Tiempo <= FinAnochecerUva) lcd.print ("ANOCHECER-UVA");
if (Tiempo > FinAnochecerUva|| Tiempo < InicioAmanecerUva) lcd.print ("ZENIT-UVA");


lcd.setCursor(10,1);
if (Tiempo >= InicioAmanecerUva && Tiempo <= FinAnochecerUva )//decimos al rele el encendido y apagado//
{
digitalWrite(PinUva, LOW);


}
else
{
digitalWrite(PinUva, HIGH);


lcd.setCursor(10,0);

}
delay(Retraso);
}
void Pu(int minutos, int horas) {
int PuPurple;
int InicioAmanecerPurple=900;//15:00//
int FinAmanecerPurple=960;//16:00//
int InicioAnochecerPurple=1140;//21:00//
int FinAnochecerPurple=1200;//22:00//
int MaxPurple=100;
int PorcentPurple;
int PasoPurpleAM=MaxPurple/(FinAmanecerPurple-InicioAmanecerPurple);
int PasoPurplePM=MaxPurple/(FinAnochecerPurple-InicioAnochecerPurple);


int Tiempo;
Tiempo=horas*60+minutos;
// if (Tiempo < 60)Tiempo=Tiempo+1440;
// Tiempo=Tiempo-60; //Horario de Invierno

//#################################purple ###################################
if (Tiempo < InicioAmanecerPurple) PuPurple =0;
//Amanecer
if (Tiempo >= InicioAmanecerPurple && Tiempo <= FinAmanecerPurple ) PuPurple =(Tiempo-InicioAmanecerPurple)*PasoPurpleAM;
//Dia
if ((Tiempo > FinAmanecerPurple) && (Tiempo < InicioAnochecerPurple)) PuPurple =MaxPurple ;
//Anochecer
if (Tiempo >= InicioAnochecerPurple && Tiempo <= FinAnochecerPurple ) PuPurple =(FinAnochecerPurple-Tiempo)*PasoPurplePM;
//Control
if( PuPurple <0) PuPurple=0;
if( PuPurple >MaxPurple )PuPurple =MaxPurple ;

analogWrite(12, PuPurple);

PorcentPurple =Porcent(PuPurple,255)*2;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("LUZ-EXTRA");
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print("PURPLE:");
if (PorcentPurple < 10);
lcd.print(PorcentPurple);
lcd.print("%");
lcd.print(" ");
lcd.setCursor(0,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(6,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.setCursor(0,2);
if (Tiempo > InicioAmanecerPurple&& Tiempo < FinAmanecerPurple) lcd.print ("AMANECER-PURPLE");
if (Tiempo > FinAmanecerPurple&& Tiempo < InicioAnochecerPurple) lcd.print ("PLENUM-PURPLE");
if (Tiempo >= InicioAnochecerPurple&& Tiempo <= FinAnochecerPurple) lcd.print ("ANOCHECER-PURPLE");
if (Tiempo > FinAnochecerPurple|| Tiempo < InicioAmanecerPurple) lcd.print ("ZENIT-PURPLE");

lcd.setCursor(10,1);
if (Tiempo >= InicioAmanecerPurple && Tiempo <= FinAnochecerPurple )//decimos al rele el encendido y apagado//
{
digitalWrite(PinPurple, LOW);


}
else
{
digitalWrite(PinPurple, HIGH);


}
delay(Retraso);
}


#44 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 03 September 2012 - 04:24 PM

TEMPERATURA:
void Temperatura(int minutos, int horas) 
{
float T1;
float T2;
float T3;
float T4;
sensores.requestTemperatures();
T1=sensores.getTempCByIndex(0)+1;
T2=sensores.getTempCByIndex(1)+1;
T3=sensores.getTempCByIndex(2)+1;
T4=sensores.getTempCByIndex(3)+1;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("AIR-1: ");
lcd.println(T4,2);
lcd.print((char)223);
lcd.setCursor(0,1);
lcd.print("AIR-2: ");
lcd.println(T1,2);
lcd.print((char)223);
lcd.setCursor(0,2);
lcd.print("WATER: ");
lcd.println(T2,2);
lcd.print((char)223);
lcd.setCursor(0,3);
lcd.print("COOLER:");
lcd.println(T3,2);
lcd.print((char)223);
if (T2 < 24) EstadoCalent=1;
if (T2 > 25) EstadoCalent=0;
if (T1 < 32) EstadoVentil=0;
if (T1 > 33) EstadoVentil=1;
if (T4 < 32) EstadoCentil=0;
if (T4 > 33) EstadoCentil=1;
if (T3 < 25) EstadoCooler=0;
if (T3 > 26) EstadoCooler=1;
lcd.setCursor(14, 3);
if(EstadoCooler==1 ){
digitalWrite(PinCooler, LOW);

}
else
{
digitalWrite(PinCooler, HIGH);

}
lcd.setCursor(14, 2);
if(EstadoCalent==1 ){
digitalWrite(PinCalentador, LOW);

}
else
{
digitalWrite(PinCalentador, HIGH);

}
lcd.setCursor(14, 1);
if(EstadoVentil==1 )//decimos al rele el encendido y apagado//
{
digitalWrite(PinVentilador, LOW);

}
else
{
digitalWrite(PinVentilador, HIGH);

}
lcd.setCursor(14, 0);
if(EstadoCentil==0 )//decimos al rele el encendido y apagado//
{
digitalWrite(PinCentilador, LOW);

}
else
{
digitalWrite(PinCentilador, HIGH);

}

delay(Retraso);
}



#45 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 03 September 2012 - 04:25 PM

FUENTES 48V -12V
void Fuente(int minutos, int horas) {
int Fuente;
int InicioFuente=660;
int FinFuente=1380;

int Tiempo;
Tiempo=horas*60+minutos;
if (Tiempo < InicioFuente ) Fuente=0;
//Amanecer
if (Tiempo >= InicioFuente && Tiempo <= FinFuente) Fuente=(Tiempo,InicioFuente,FinFuente);

lcd.clear();
lcd.setCursor(0,0);
lcd.print("ALIMENTACION:");
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(10,3);
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(" ");
if (Tiempo >= InicioFuente && Tiempo <= FinFuente)//decimos al rele el encendido y apagado//
{
digitalWrite(PinFuente, LOW);
lcd.setCursor(0,1);
lcd.print("FUENTE 48V-ON:");

}
else
{
digitalWrite(PinFuente, HIGH);
lcd.setCursor(0,1);
lcd.print("FUENTE 48V-OFF:");

}
delay(Retraso);
}
void Batery(int minutos, int horas) {
int Batery;
int InicioBatery=660;
int FinBatery=1399;


int Tiempo;
Tiempo=horas*60+minutos;
//BATERY//
if (Tiempo < InicioBatery ) Batery=0;
//Amanecer
if (Tiempo >= InicioBatery && Tiempo <= FinBatery) Batery=(Tiempo,InicioBatery,FinBatery);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ALIMENTACION");
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(10,3);
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(" ");
if (Tiempo >= InicioBatery && Tiempo <= FinBatery)//decimos al rele el encendido y apagado//
{
digitalWrite(PinBatery, LOW);
lcd.setCursor(0,1);
lcd.print("FUENTE 12V-ON:");

}
else
{
digitalWrite(PinBatery, HIGH);
lcd.setCursor(0,1);
lcd.print("FUENTE 12V-OFF:");

}
delay(Retraso);
}

  • bikersoy y rayit0h como este

#46 bikersoy

bikersoy

    Usuario Distinguido

  • Usuario Distinguido
  • 4722 Mensajes

Publicado el 03 September 2012 - 06:12 PM

Me parece muy positivo el echo de que pongas el código que tu mismo has creado.

#47 JAClavero

JAClavero

    Usuario Activo

  • Registered Users +50
  • 158 Mensajes

Publicado el 03 September 2012 - 07:06 PM

¡Qué maravilla!

#48 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 03 September 2012 - 08:39 PM

Me parece muy positivo el echo de que pongas el código que tu mismo has creado.

" el sabio ,,,se considera sabio...cuando muestra a los demas su sabiduria .....es cuando entonces los demas sabran que es un sabio"

¡Qué maravilla!

es cuestion de estudio y trabajo ..ademas de ayuda de mas compañeros yo aprendi leyendo y preguntando muchissssimo

#49 medina

medina

    Acuarista Activo

  • Registered Users +50
  • 501 Mensajes

Publicado el 03 September 2012 - 10:26 PM

carlos animate y implantalo a tu nueva pantalla

#50 rayit0h

rayit0h

    Acuarista Activo

  • Registered Users +50
  • 709 Mensajes

Publicado el 03 September 2012 - 10:53 PM

no havia visto lo del codigo! k currazo por dios... no se que hariamos la gente que queremos aprender sin gente como tu que nos enseña todo lo k sabe!





Toggle shoutbox Chat PA Open the Shoutbox in a popup

@  Toniramon : (16 May 2020 - 09:21 PM)

Hola Mimi. Casi mejor que preguntes directamente en el foro, ya que si el foro está poco concurrido, menos lo está el chad. Sin poder darte una respuesta fiable, yo te diría que al menos dejaras pasar unas 48 horas, aunque como vengo de marino no te fies de mi respuesta.

@  Mimi : (16 May 2020 - 02:55 PM)

Estoy modificando las burbujas por segundo del CO2 para intentar que estén entre 30-35mgr/l, sabéis cuanto tiempo tengo que esperar para medir el ph y kh para hacer el cálculo?

@  Toniramon : (14 April 2020 - 08:29 PM)

Hola escalares20

@  TianMammola : (03 December 2019 - 11:44 PM)

Hola! hay alguien de marino por ahi?

@  Toniramon : (05 August 2019 - 08:22 PM)

Hooollaaaaaaa!!!!!!

@  MUNDOREPTIL : (23 September 2017 - 06:41 AM) No aun no puedo borrarlo, en el area de enfermedades, se llama ''hongo en guppy'', gracas
@  Toniramon : (21 September 2017 - 09:06 PM) Los usuarios no pueden borrar posts. Solo pueden hacerlo colaboradores y moderadores
@  Oriol Llv : (16 September 2017 - 08:54 PM) Hola, pudiste borrarlo? Si no manda un mp y me dices que post es.
@  MUNDOREPTIL : (13 September 2017 - 12:17 PM) alguien sabe como eliminar un post?
@  MUNDOREPTIL : (13 September 2017 - 12:17 PM) buenaasa
@  Toniramon : (03 July 2017 - 05:20 PM) Pero ya está editada.
@  Toniramon : (03 July 2017 - 05:19 PM) Hola Rui. Los archivos adjuntos salen siempre en miniatura. Las fotos se deben adjuntar desde un servidor, como photobucket para que salgan en su tamaño original.
@  Rui : (03 July 2017 - 01:25 PM) me sale en miniatura el archivo adjunto. A ver si lo podéis poner normal algun moderador.
@  Rui : (03 July 2017 - 01:24 PM) Hola
@  Toniramon : (08 May 2017 - 07:30 PM) Hola
@  Dracko1 : (26 January 2017 - 01:44 AM) :D
@  Dracko1 : (26 January 2017 - 01:44 AM) Hola
@  luis94 : (07 January 2017 - 05:18 AM) hola
@  Toniramon : (06 January 2017 - 03:42 PM) Helow Dracko1 :)
@  Alparu : (01 December 2016 - 11:53 PM) FELICIDADES ORIOL!!! :D :D :lol: