Sí, ya he comenzado. Mi duda la tengo en la parte b) no sé como lo condiciono para las dos temperaturas. Así es como lo llevo...
float temperatura = 0; //variable para la temperatura
int motor = 8; //pin digital donde conectar el ventildor
int led1=10;
int led2=11;
int led3=12;
int buzzer=9;
void setup(){
void loop(){
//Calcula la temperatura usando como referencia 5v
temperatura = (5.0 * analogRead(0)*100.0)/1023.0;
Serial.println (temperatura); //escribe la temperatura en el serial
delay (500); //tiempo para la siguiente medicion
//esto enciende y apaga el ventlador
if (temperatura < 24){
digitalWrite (led1,HIGH);
delay (500);
digitalWrite (led1,LOW);
Ahora que ya te has esforzado, si podemos darte un empujoncito
Repasemos
a) Si la temp < 24°C ---> Led 1 ON/OFF
b) Si la temp > 24°C y temp <26°C ---> Motor ON y Led 2 ON/OFF
c) Si la temp > 26°C ---> Led 3 ON/OFF y Buzzer ON.
#define N 50 // Cantidad de muestras de temperatura. Modificar a gusto
float temperatura = 0; //variable para la temperatura
int motor = 8; //pin digital donde conectar el ventildor
int led1=10;
int led2=11;
int led3=12;
int buzzer=9;
unsigned long suma = 0;
void setup(){
Serial.begin (9600); //inicia comunicacion serial
pinMode (motor,OUTPUT);
pinMode (led1,OUTPUT);
pinMode (led2,OUTPUT);
pinMode (led3,OUTPUT);
pinMode (buzzer,OUTPUT);
}
void loop(){
//Calcula la temperatura usando como referencia 5v
// promedia N valores
for (int i=0; i<N; i++)
suma += analogRead(A0);
temperatura = (500.0 * suma/(1023.0*N); // suma/N es el valor del AD promedidado N veces
Serial.println (temperatura); //escribe la temperatura en el serial
// como tomo el promedio de muchas lecturas no hace falta tener delay entre muestra y muestra
//esto enciende y apaga el ventlador
if (temperatura < 24){ // Led 1 ON/OFF
digitalWrite (led1,HIGH);
delay (500);
digitalWrite (led1,LOW);
}
if (temperatura >= 24 && temperatura <=26) { //Motor ON y Led 2 ON/OFF
digitalWrite (led2,HIGH);
delay (500);
digitalWrite (led2,LOW);
digitalWrite (motor,HIGH); // el motor queda prendido siempre???
}
if (temperatura > 26){ //Led 3 ON/OFF y Buzzer ON
digitalWrite (led3,HIGH);
delay (500);
digitalWrite (led3,LOW);
digitalWrite (buzzer,HIGH);
delay (500);
digitalWrite (buzzer,LOW);
}
}
bueno, corrige y agrega la instruccion para hacer que el motor funcione donde dices.
Si esta Ok ponle solucinodo al primer post que escribiste. Solo agrega esa leyenda al final