08-09-2014, 05:01 PM
hola, soi nuevo por aqui.haber si me podeis ayudar con este codigo. soi novato.
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#define ONE_WIRE_BUS 10
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int temp=27;
int rele1 =6;
int rele2 =7;
int rele3 =8;
int rele4 =9;
int rele5 =14;
void setup() {
pinMode(rele1,OUTPUT);
pinMode(rele2,OUTPUT);
pinMode(rele3,OUTPUT);
pinMode(rele4,OUTPUT);
pinMode(rele5,OUTPUT);
digitalWrite(rele1,HIGH);
digitalWrite(rele2,HIGH);
digitalWrite(rele3,HIGH);
digitalWrite(rele4,HIGH);
lcd.begin(20, 4);
pinMode(13,OUTPUT);
digitalWrite(13, HIGH);
sensors.begin();
lcd.setCursor(4, 1);
lcd.print("HOLA ");
lcd.setCursor(4, 2);
lcd.print("CARGANDO ");
lcd.setCursor(4, 3);
lcd.print(" SISTEMA ");
delay(5000);
digitalWrite(rele5,LOW);
}
void loop() {
sensors.requestTemperatures();
lcd.setCursor(0, 0);
lcd.print("Deposito 1: ");
lcd.print(sensors.getTempCByIndex(0));
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Deposito 2: ");
lcd.print(sensors.getTempCByIndex(1));
lcd.print("C");
lcd.setCursor(0, 2);
lcd.print("Deposito 3: ");
lcd.print(sensors.getTempCByIndex(2));
lcd.print("C");
lcd.setCursor(0, 3);
lcd.print("Deposito 4: ");
lcd.print(sensors.getTempCByIndex(3));
lcd.print("C");
if (sensors.getTempCByIndex(0)>temp)
{
digitalWrite(rele1,LOW);
}
else
{
digitalWrite(rele1,HIGH);
}
/////////////////////////////////////////////////////////////////
if (sensors.getTempCByIndex(1)>temp)
{
digitalWrite(rele2,LOW);
}
else
{
digitalWrite(rele2,HIGH);
}
/////////////////////////////////////////////////////////////////
if (sensors.getTempCByIndex(2)>temp)
{
digitalWrite(rele3,LOW);
}
else
{
digitalWrite(rele3,HIGH);
}
/////////////////////////////////////////////////////////////////
if (sensors.getTempCByIndex(3)>temp)
{
digitalWrite(rele4,LOW);
}
else
{
digitalWrite(rele4,HIGH);
}
/////////////////////////////////////////////////////////////////
if (rele1 && rele2 == HIGH);
digitalWrite(rele5,LOW);
if (rele1 && rele3 == HIGH);
digitalWrite(rele5,LOW);
if (rele1 && rele4 == HIGH);
digitalWrite(rele5,LOW);
if (rele2 && rele3 == HIGH);
digitalWrite(rele5,LOW);
if (rele3 && rele4 == HIGH);
digitalWrite(rele5,LOW);
if (rele3 && rele4 == HIGH);
digitalWrite(rele5,LOW);
/////////////////////////////////////////////////////////////////////
if (rele1 && rele2 && rele3 == LOW);
digitalWrite(rele5,HIGH);
if (rele1 && rele2 && rele4 == LOW);
digitalWrite(rele5,HIGH);
if (rele4 && rele3 && rele2 == LOW);
digitalWrite(rele5,HIGH);
if (rele4 && rele3 && rele1 == LOW);
digitalWrite(rele5,HIGH);
if (rele4 && rele2 && rele1 == LOW);
digitalWrite(rele5,HIGH);
if (rele1 && rele2 && rele3 == LOW);
digitalWrite(rele5,HIGH);
}
en la pantalla funciona bien y los reles tan bien pero el rele5 no.
Gracias de antemano.
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#define ONE_WIRE_BUS 10
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int temp=27;
int rele1 =6;
int rele2 =7;
int rele3 =8;
int rele4 =9;
int rele5 =14;
void setup() {
pinMode(rele1,OUTPUT);
pinMode(rele2,OUTPUT);
pinMode(rele3,OUTPUT);
pinMode(rele4,OUTPUT);
pinMode(rele5,OUTPUT);
digitalWrite(rele1,HIGH);
digitalWrite(rele2,HIGH);
digitalWrite(rele3,HIGH);
digitalWrite(rele4,HIGH);
lcd.begin(20, 4);
pinMode(13,OUTPUT);
digitalWrite(13, HIGH);
sensors.begin();
lcd.setCursor(4, 1);
lcd.print("HOLA ");
lcd.setCursor(4, 2);
lcd.print("CARGANDO ");
lcd.setCursor(4, 3);
lcd.print(" SISTEMA ");
delay(5000);
digitalWrite(rele5,LOW);
}
void loop() {
sensors.requestTemperatures();
lcd.setCursor(0, 0);
lcd.print("Deposito 1: ");
lcd.print(sensors.getTempCByIndex(0));
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Deposito 2: ");
lcd.print(sensors.getTempCByIndex(1));
lcd.print("C");
lcd.setCursor(0, 2);
lcd.print("Deposito 3: ");
lcd.print(sensors.getTempCByIndex(2));
lcd.print("C");
lcd.setCursor(0, 3);
lcd.print("Deposito 4: ");
lcd.print(sensors.getTempCByIndex(3));
lcd.print("C");
if (sensors.getTempCByIndex(0)>temp)
{
digitalWrite(rele1,LOW);
}
else
{
digitalWrite(rele1,HIGH);
}
/////////////////////////////////////////////////////////////////
if (sensors.getTempCByIndex(1)>temp)
{
digitalWrite(rele2,LOW);
}
else
{
digitalWrite(rele2,HIGH);
}
/////////////////////////////////////////////////////////////////
if (sensors.getTempCByIndex(2)>temp)
{
digitalWrite(rele3,LOW);
}
else
{
digitalWrite(rele3,HIGH);
}
/////////////////////////////////////////////////////////////////
if (sensors.getTempCByIndex(3)>temp)
{
digitalWrite(rele4,LOW);
}
else
{
digitalWrite(rele4,HIGH);
}
/////////////////////////////////////////////////////////////////
if (rele1 && rele2 == HIGH);
digitalWrite(rele5,LOW);
if (rele1 && rele3 == HIGH);
digitalWrite(rele5,LOW);
if (rele1 && rele4 == HIGH);
digitalWrite(rele5,LOW);
if (rele2 && rele3 == HIGH);
digitalWrite(rele5,LOW);
if (rele3 && rele4 == HIGH);
digitalWrite(rele5,LOW);
if (rele3 && rele4 == HIGH);
digitalWrite(rele5,LOW);
/////////////////////////////////////////////////////////////////////
if (rele1 && rele2 && rele3 == LOW);
digitalWrite(rele5,HIGH);
if (rele1 && rele2 && rele4 == LOW);
digitalWrite(rele5,HIGH);
if (rele4 && rele3 && rele2 == LOW);
digitalWrite(rele5,HIGH);
if (rele4 && rele3 && rele1 == LOW);
digitalWrite(rele5,HIGH);
if (rele4 && rele2 && rele1 == LOW);
digitalWrite(rele5,HIGH);
if (rele1 && rele2 && rele3 == LOW);
digitalWrite(rele5,HIGH);
}
en la pantalla funciona bien y los reles tan bien pero el rele5 no.
Gracias de antemano.