#1,471
16-10-2015, 04:14 PM
Entonces habría alguna forma de adaptar el programa de forma fácil?
#1,473
18-10-2015, 01:24 AM
Creo que esa respuesta era para "Agamenon". Seguro que lo tendrá en cuenta O:-) . Mi pregunta era una anterior. De todas formas formas ya he pedido el material que voy a emplear. No voy a usar sonda de pH, Quería tres canales de dimeo en lugar de 4 (aunque si no soy capaz de adaptar el programa pondré 4, y santas pascuas) e intentar regular la salida de un termostato AKO que lo tengo puesto a un cable térmico siliconado ("suelo radiante") poniéndole distintos intervalos y así usar doble protección (y regular este en lugar del ventilador de los leds, ya que son siliconados -aislados- y están sobre una plancha de aluminio, que espero los refrigere).
Mientras tanto me he leído tu libro (aunque voy a necesitar una segunda lectura, no porque no este bien escrito, sino por mi nivel de C), y he estoy leyendo ahora "Arduino Curso Práctico de Formación" de Óscar Torrente.
La pantalla que me he pedido es de 20x4 por temas de compatibilidad del programa. Y los pulsadores, ¿supongo que valen cualquiera de electrónica usando las resistencias que indicas para cada una de ellas?. Uso canales de leds de 12v impermeabilizados con transformadores estabilizados. El arduino que he pedido es el arduino mega. Me he pedido los Tip141 y algunos relés a 5v, entre otras cosas como el rtc, ...
Mi pregunta era para ver si todo esto era viable antes de empezar. "Pero ya me tirado al río". De todas formas ya te preguntaré, si no te importa, de las dudas que me surjan.
#1,474
18-10-2015, 04:00 PM
(Última modificación: 18-10-2015, 04:03 PM por
Antonio Castro.)
Cada uno de los 4 canales de Dimeo viene programado con un comportamiento distinto siempre en función del fotoperiodo.
Si tienes claro el diferente comportamiento de tus tres canales tendrías que intentar aprovechar los tres canales que mejor se adapten a tus necesidades y en todo caso modificar lo que haga falta.
El cuarto canal basta con dejarlo desconectado. Lo mismo digo respecto al sensor de pH. Lo inhabilitas y lo dejas desconectado.
PD:
Cuando estés haciendo referencia a algún comentario, pon una cita para que sepamos a qué te refieres. En caso contrario parecerá que estabas refiriéndote al último mensaje.
#1,475
18-10-2015, 08:25 PM
if(valorTemp > 35)
{
digitalWrite(Motor, HIGH); // Liga a bomba que circula a agua
}
else
{ digitalWrite(Motor,LOW);
Mas se eu quiser que a bomba liga se a temperatura de valorTemp for maior que 35 e que o valor de temp2 seja abaixo de 28 como faço ? e que a bomba fique ligada por apenas 2 minutos
#1,478
20-10-2015, 07:04 PM
(Última modificación: 20-10-2015, 07:05 PM por
Antonio Castro.)
¿Hace ahora lo que deseas?
La temperatura la verifica cada 10 segundos y si supera los 35, activa el rele1 durante 2 minutos. Lo que ocurre es que así durante 2 minutos de activación del rele1, el sensor no hará lecturas y supongo que sería interesante continuar leyendo la temperatura. Comprueba esto:
#include <LiquidCrystal.h>
#include <OneWire.h>
#include <DallasTemperature.h>
// Conectar o pino central dos sensores ao pino 10 do Arduino
#define ONE_WIRE_BUS 10
//Porta ligada ao pino IN1 do modulo
int rele1 = 9;
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
// Referencias
DallasTemperature sensors(&oneWire);
DeviceAddress termometroSump = { 0x28, 0xFF, 0x11, 0xA3, 0x15, 0x14, 0x00, 0x70 };
DeviceAddress termometroSolar = { 0x28, 0xFF, 0x83, 0x0D, 0x2E, 0x04, 0x00, 0x0B };
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup(void)
{
lcd.begin(16, 2);
// Start up the library
sensors.begin();
// set the resolution to 10 bit (good enough?)
sensors.setResolution(termometroSump, 10);
sensors.setResolution(termometroSolar, 10);
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00)
{
lcd.print("Erro ao ler temperatura !");
}
else
{
lcd.print(tempC, 0);
lcd.print("C");
}
}
void RefreshMonitor()
{
delay(10000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Solar ");
printTemperature(termometroSolar);
sensors.requestTemperatures();
lcd.setCursor(0, 1);
lcd.print("Sump ");
printTemperature(termometroSump);
}
void loop(void)
{
RefreshMonitor();
if (termometroSolar > 35 && termometroSump < 28)
{
unsigned long ini = millis();
digitalWrite(rele1 , HIGH);
while ( (millis()-ini) < 120000) RefreshMonitor(); // RefreshMonitor() until 2 minutes
digitalWrite(rele1 , LOW);
}
else
{
digitalWrite(rele1 ,LOW);
}
}
#1,480
25-10-2015, 04:18 PM
Ya me llegó todo para montar el medidor de ph. Pero hay problemas y no se si el sensor de cyber plant no funciona bien o es la sonda la que no lo está. No es capaz de fijar la temperatura. Meto la sonda en una solución tampón de 7 o en la de 4 y está continuamente variando, es imposible fijarlo de forma que no hay quien lo calibre. Probando en CAO y en el programa de prueba del sensor, no hay forma de que se quede en un valor fijo. Tras 10 minutos metido en el mismo líquido empieza a variar menos, pero lo cambio a otro líquido con otro ph y nada, ni mide bien el valor ni es capaz de fijarse en muuucho tiempo.
Es la sonda me imagino no? qué experiencias habéis tenido con este sensor, el de cyberplant?
#1,481
27-10-2015, 12:32 PM
Nadie puede confirmarme el problema del que hablo?
#1,483
29-10-2015, 02:14 PM
Agamenon, un dato que no mencionas es si esa sonda ha funcionado bien en alguna de las pruebas vez desde que la compraste. Lo digo porque según mi experiencia incluso marcas y modelos muy utilizados y con gran reputación, pueden venir mal.
#1,484
29-10-2015, 04:27 PM
Las pruebas que he hecho con la sonda son justo estas. Montar el sensor de cyberplant, sacar la sonda de la caja y conectarla, probar con el programa de la página de cyberplant para ver que coge el sensor y recibe valores, y luego adaptar CAO y ya intentar calibrar la sonda ahí.