Go Down

Topic: Diseño Controlador Acuario  (Read 3505 times) previous topic - next topic

car127


car127

Hola
    el calefactor tiene que estar siempre encendido y trabajar así, si lo seteo a 25 grados se mantiene si sube se apaga si baja se enciende puede haber una variación de un grado, no entiendo porque en el dia una temperatura, horas que esta encendido , noche otra temperatura, la idea es tener una temperatura pareja y que no por un cambio de temperatura los peces se enfermen


Calefactor algo raro pasa

https://youtu.be/-n8DGmYBOMk

car127

#17
Aug 28, 2018, 03:55 pm Last Edit: Aug 28, 2018, 04:53 pm by car127
Otra cosa por la supervivencia de mi sensor de temperatura durante las pruebas como se bajaría el refresco de la información porque la fuente de calor que uso es un cautín, la temperatura ambiente no ayuda a estado vaja.

Creo que lo solucione baje el valor en el vod RefreshLCD

car127

Falta algo
Code: [Select]


CADUSA1:107: error: 'TempHoraInicio' was not declared in this scope
CADUSA1:108: error: 'TempHoraFin' was not declared in this scope




car127

#19
Aug 28, 2018, 08:45 pm Last Edit: Sep 19, 2018, 03:43 am by car127
No sigue igual y al quitar la energía no guarda lo configurado
adjunto archivo

car127

#20
Aug 29, 2018, 05:12 am Last Edit: Aug 31, 2018, 04:27 am by surbyte Reason: Agregado de etiquetas de código
linea 408,425,436,447,458 faltaba

 
Code: [Select]
read_but();  // Lee si opromimos el botón del encoder y enc_but pasa a valor 1.



Se mantiene lo observado primera configuración caracteres raros luego de 2 a 3 intentos se normaliza información Hora

Guarda configuración en Calefactor y CO2 al resetear y cortar energía

Realizadas las pruebas con código que adjuntaste

car127

#21
Aug 29, 2018, 07:46 pm Last Edit: Aug 31, 2018, 04:27 am by surbyte
Prueba de calefactor con rele

  temperatura 18° actual
 se bajó hasta 9.9° sin actividad
 aumento de temperatura hasta 60° sin actividad.

Configuración en el menú Calefactor
ON
Dia     : 25°
Hora   : 10:00 a 16:00
Noche : 18°

Hora toma de muestra 14:37

se probó con skech básico relé funcionando ok

car127

 Esta es la configuración para prueba donde el calefactor en este horario estará a 25° y el relé no se activa



esta es la pantalla principal con la temperatura actual







car127

e realizado la prueba y al conectar la señal del rele a negativo se activa, en ningun momento se activo ni con 9° ni con 60° que llego en un momento

car127

es lo mismo que tengo, la única forma que se activa el rele es si no dejo activa esta linea digitalWrite en el void setup pero no se desactiva el calefactor al pasar de los 26 o 35 o 65°

Code: [Select]
void setup() {
   pinMode(SFetAzul, OUTPUT);
   pinMode(SFetRojo, OUTPUT);
   pinMode(SFetBlanco, OUTPUT);
   pinMode(Relay1, OUTPUT);
 //  digitalWrite(Relay1, HIGH); // Subimos el pin a HIGH porque el relay se dispara con LOW
   pinMode(Relay2, OUTPUT);
 //  digitalWrite(Relay2, HIGH); // Subimos el pin a HIGH porque el relay se dispara con LOW
 




car127

prueba con lineas comentadas del termostato

Code: [Select]
void Termostato(){
      // if (termostato[0] == 1) { // Si el termostato esta encendido
      //  if ((MinActual >= TermoHoraInicio) && (MinActual <= TermoHoraFin)) { // Rango de hora de día
           if (Temp < termostato[1]) { digitalWrite(Relay1, LOW); } else {  digitalWrite(Relay1, HIGH); }
      //   }
     //  else if (Temp < termostato[2]) { digitalWrite(Relay1, LOW); } else {  digitalWrite(Relay1, HIGH); }       
     // }

     // if (termostato[0] == 0) { digitalWrite(Relay1, HIGH);} 
      delay(5);
}



Las lineas del void setup se dejo normal y no se activa el rele a los cambios de temperatura
con las lineas comentadas se activa el rele pero no responde a los cambios de temperatura

car127

#26
Sep 01, 2018, 10:26 pm Last Edit: Sep 01, 2018, 10:30 pm by car127
realice el ejemplo del termometro de la biblioteca DallasTemperature le agregue un pedazo para el calefactor no es bonito pero funciono

Code: [Select]
#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 12

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
int rele1 = 7;
void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // Start up the library
  sensors.begin();
  pinMode(7,OUTPUT);
}

void loop(void)
{
  // call sensors.requestTemperatures() to issue a global temperature
  // request to all devices on the bus
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures(); // Send the command to get temperatures
  Serial.println("DONE");
 
  Serial.print("Temperature for the device 1 (index 0) is: ");
  Serial.println(sensors.getTempCByIndex(0));

   //*********Agregado********

float  tem_calef = sensors.getTempCByIndex(0);
     if (tem_calef > 24.0)
        digitalWrite(7,HIGH  );
     if (tem_calef < 23.0)
        digitalWrite(7,LOW);
   
delay (500);

}


cuando la temperatura llego a 24 se desactivo el rele y cuando bajo a 23 se activo, espero sirva de algo tratare de entender un poco mas, me enredo  tratando de seguir los números de la memoria

car127

OK,
     Calefactor  se activa y corta a la temperatura programada y CO2 enciende a la hora programada,  corta ala hora programada

Pruebas con ultimo codigo

car127

Pruebas memoria:
se carga programa para blanquear la memoria luego se carga archivo CADUSA y se chequean valores guardados en calefactor por defecto correspondiendo a estos dia 24° hora 09:00 a 21:40 noche 20°
en el caso del CO2 datos aparecen como en la imagen no siendo legibles y no activando rele


surbyte

No es mas fácil usar EEPROM.get y EEPROM.put y establecer una estructura donde pongan todos los parámetros para leerlos o grabarlos?

Este método funciona pero es muy complejo, teniendo una opción como la indicada.

Asi con un comando graban todo y con otro leen todo.




Go Up