Hola! Les comento: estoy automatizando un zapatilla electrica, con una serie de relés, conectados al arduino y un modulo de wifi.
Dicha zaptilla, tiene ciertos componentes fijos que se conectan (los cuales pueden variar el orden, y la cantidad. Pero no pueden ir otros diferentes, solo luz, ventiladores, humificadores, y nada mas).
Y yo enciendo dichos componentes, según la temperatura que hace, según la hora que es, según la humedad que está haciendo.
Como yo quiero vender este proyecto, se pueden modificar las salidas de la zapatilla, según los componentes que cada uno tenga en su casa.
Osea que se tiene que adaptar ya siendo que uno tenga 6 ventiladores y 1 luz, o tenga 3 luces, 2 ventialdores y 1 humificador.
Por lo tanto, se tiene que poder modificar la información de las salidas de las zapatillas, según lo que nosotros conectemos.
Hasta ahi todo bien. Yo lo que hice fue lo siguiente, llame a cada salida de la zapatilla, con un nombre "zz1,zz2,zz3,zzn...". Luego cree variables, las cuales contienen la información sobre que dispositivo esta colocado en cada enchufe. Cada número, corresponde a un componente diferente.
//Creando variables de los reles de cada toma de zapatilla//
int zz1=3;
int zz2=4;
int zz3=5;
int zz4=6;
int zz5=7;
int zz6=8;
int zz7=9;
int zz8=10;
//Informacion de saldias de zapatilas
//0=nada
//1=luces
//2=ventilador
//3=humificador
byte z1=0;
byte z2=0;
byte z3=0;
byte z4=0;
byte z5=0;
byte z6=0;
byte z7=0;
byte z8=0;
Hasta ahí, todo bien, todo muy bonito. El problema es el siguiente: el programa esta diseñado, para que cuando llegue a 26°C se prendan todos los ventiladores.
Ahora, luego de toda esta introducción viene la pregunta.
¿Como identifica el código cuales son ventiladores, y los prende? Sin hacer una serie interminable de if.
Algo asi se me había ocurrido, pero me di cuenta que una serie interminable de if no es la solución, sumado a que va a conllevar problemas en la programacion.
//Salidas de los compoentes aclimatizadores//
int zz1=3;
int zz2=4;
int zz3=5;
int zz4=6;
int zz5=7;
int zz6=8;
int zz7=9;
int zz8=10;
//Salidas de zapatillas
//0=nada
//1=luces
//2=ventilador
//3=humificador
byte z1=0;
byte z2=0;
byte z3=0;
byte z4=0;
byte z5=0;
byte z6=0;
byte z7=0;
byte z8=0;
void setup()
{
pinMode(zz1,OUTPUT);
pinMode(zz2,OUTPUT);
pinMode(zz3,OUTPUT);
pinMode(zz4,OUTPUT);
pinMode(zz5,OUTPUT);
pinMode(zz6,OUTPUT);
pinMode(zz7,OUTPUT);
pinMode(zz8,OUTPUT);
}
void loop(){
//ATENCION: acá falta la parte en al que le coloco la informacion (0,1,2,3), a cada z (z1,z2,z3,z4,zn...)
if (t>26){
if (z1==2){
digitalWrite(zz1,LOW);
}
if(z2==2){
digitalWrite(zz2,LOW);
}
if(z3==2){
digitalWrite(zz3,LOW);
}
if (zn==2){
}
}
}
