Go Down

Topic: proyecto con refrigeracion (Read 768 times) previous topic - next topic

ismadark

hola como esta comunidad ando aqui pasano casi a presentarme ya que tengo poco con esto del arduino bueno queria unas ideas o segerencia de un proyecto de un amigo mio y yo usaremos unos arduino uno v3 para hacer la interface de manejo de una refrigeracion  usando dos arduinos nuestra idea es mediante una conexion wifi o control via computadora  ya que un arduino estaria manejado por la computadora y el otro estaria reciviendo datos en este caso estariamo usando el lm35 para sensar la temperatura   y marcando los rangos que tengamos para que el otro arduino recive los datos y sea el caso que prenda la aire caliente o frio el caso es que tenemos el codigo en pcw listo solo quisiera saber como deberia estructurarlo para que funcione como comenta arriba 

arduinoadrian

Quote

solo quisiera saber como deberia estructurarlo para que funcione como comenta arriba.


1- Que tienes?
2- Como estructurar que?
3- Para que 2 Arduinos?

Si no nos dices mas no podemos ayudarte... Debes desglosar el problema en partes de forma tal que nos permita comprender a que te refieres.
Perseverance is 90% of the solution. The remaining 10% is more perseverance.

ismadark

tal ves me falto comentar la estructura  me refiero a que tengo dos arduino(1) entonces lo que se planea es esto uno estara sensando la temperatura de la abitacion entonces nosotros mediante botones fisico o labview me diremos si queremos que enfire o caliente tiendo un ejemplo que queramos 20 ºc entonces la señal que recivira el otro arduino receptor activara unos relay que son 5 a 12 v que son los que activaran la ya sea  las conexciones que estaran para la refrigeracion

arduinoadrian

Si, es buena idea; pero no se porque quieres usar 2 Arduinos. Quizas para eso baste con uno solo, a no ser que quieras hacerlo a distancia y usar WIFI. Te recomiendo que comiences con uno solo y despues anade el otro y el WIFI si lo necesitas.
Perseverance is 90% of the solution. The remaining 10% is more perseverance.

ismadark

sii de echo dos por uno sera el control principal  y otro el control y si seria via wifi mendia las wifly
aqui tengo el codigo de echo pero primero estamos que funcione en uno solo todo el control


Quote
#include<16F887.h>
#device adc=10
#use delay(clock=8000000)
#fuses noprotect,nowdt,nolvp,xt
#USE STANDARD_IO(B)                           //configuras el puerto B como digital estandard
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) //llamas al puerto serial y le das parametros
char dato;
#int_rda
void rda()
{
dato=getc(); 
}

VOID MAIN(){
enable_interrupts(global);
enable_interrupts(int_rda);
INT SETPOINT, i, temp,paro;       //Setpoint es la temperatura que programas
int16 q;               
//char dato;
setup_adc_ports(sAN0);
setup_adc(ADC_CLOCK_INTERNAL);
setpoint=30;
paro=12;
while(true){     //ciclo infinito
//dato=getc();     //llAMAS DATO DEL PUERTO SERIAL
switch (dato){      //entrada al selector de casos
case 'c':
PRINTF("\nMODO REFRIGERACION");

set_adc_channel(0);
delay_us(20);
q = read_adc();         //LEEMOS EL ADC
TEMP=(Q*500)/1023;   //CONVERSION DE TEMPERATURA
for(i=0;i<60;i++){        //CICLO DE UN MINUTO
q = read_adc();         //LEEMOS EL ADC
TEMP=(Q*500)/1023;   //CONVERSION DE TEMPERATURA
PRINTF("\nTEMPERATURA= %u",TEMP);
delay_ms(100);            //RETARDO DE 1/10 SEGUNDO
}
IF(TEMP>=(paro)){    //COMPARACION DE TEMPERATURA PARA ENCENDER REFRIGERACION
OUTPUT_HIGH(PIN_B7);
OUTPUT_HIGH(PIN_B6);
PRINTF("\nENCENDIENDO REFRIGERACION"); //ENCIENDES REFRIGERCION
PRINTF("\nTEMPERATURA= %u",TEMP);}

IF(TEMP<=paro){       //COMPARACION DE TEMPERATURA PARA APAGAR REFRIGERACION
OUTPUT_LOW(PIN_B7);
OUTPUT_LOW(PIN_B6);
PRINTF("\nAPAGANDO REFRIGERACION");       //APAGAS LA REFRIGERACION
PRINTF("\nTEMPERATURA= %u",TEMP);}


break;

case 'h':
PRINTF("\nMODO CALEFACCION");
set_adc_channel(0);
delay_us(20);
q = read_adc();         //LEEMOS EL ADC
TEMP=(Q*500)/1023;   //CONVERSION DE TEMPERATURA
for(i=0;i<60;i++){        //CICLO DE UN MINUTO
q = read_adc();         //LEEMOS EL ADC
TEMP=(Q*500)/1023;   //CONVERSION DE TEMPERATURA
PRINTF("TEMPERATURA= %u",TEMP);
delay_ms(100);            //RETARDO DE 1/10 SEGUNDO
}
IF(TEMP>=(SETPOINT)){    //COMPARACION DE TEMPERATURA PARA ENCENDER REFRIGERACION
OUTPUT_HIGH(PIN_B5);

PRINTF("ENCENDIENDO CALEFACCION"); //ENCIENDES REFRIGERCION
PRINTF("TEMPERATURA= %u",TEMP);}

IF(TEMP>=paro){       //COMPARACION DE TEMPERATURA PARA APAGAR REFRIGERACION
OUTPUT_LOW(PIN_B5);

PRINTF("APAGANDO CALEFACCION");       //APAGAS LA REFRIGERACION
PRINTF("TEMPERATURA= %u",TEMP);}
break;
default:
break;
}
}
}

Go Up