Termostato con velocidad de motor variable. (Programa 4 de 5)
Se trata de diseñar un dispositivo que haga lucir un led y funcionar el motor de un ventilador cuando la temperatura llegue a cierto valor umbral (entre 0 y 1024). Para ello conectaremos una ntc a la entrada analógica 0, el led al pin 13 y el motor al pin 9. El motor debe funcionar a cierto nivel de potencia a elegir entre 0 y 255. Además se deberá visionar el valor de voltaje en la entrada analógica (valor entre 0 y 1024) en una consola en el PC.
Objetivos:
• Repaso conexión de entrada analógica a arduino (ntc).
• Repaso conexionado de salidas analógicas.
• Repaso órdenes como: analogWrite.
• Repaso de visualizar datos en consola de puerto serie, con órdenes como: Serial.begin, Serial.print.
• Repaso de órdenes de control de programa como: If else.
Solución:
int motor=9;
int led=13;
int ntc=0;
int temperatura=0;
void setup(){
pinMode(led,OUTPUT);
pinMode(motor,OUTPUT);
Serial.begin(9600);
}
void monitoriza(){
Serial.print("El valor de temperatura es ...");
Serial.println(temperatura);
delay(1000);
}
void loop(){
temperatura=analogRead(ntc);
monitoriza();
if(temperatura>530){
digitalWrite(led,HIGH);
analogWrite(motor,200);
}
else {
digitalWrite(led,LOW);
digitalWrite(motor,LOW);
}
}
Objetivos:
• Repaso conexión de entrada analógica a arduino (ntc).
• Repaso conexionado de salidas analógicas.
• Repaso órdenes como: analogWrite.
• Repaso de visualizar datos en consola de puerto serie, con órdenes como: Serial.begin, Serial.print.
• Repaso de órdenes de control de programa como: If else.
Solución:
int motor=9;
int led=13;
int ntc=0;
int temperatura=0;
void setup(){
pinMode(led,OUTPUT);
pinMode(motor,OUTPUT);
Serial.begin(9600);
}
void monitoriza(){
Serial.print("El valor de temperatura es ...");
Serial.println(temperatura);
delay(1000);
}
void loop(){
temperatura=analogRead(ntc);
monitoriza();
if(temperatura>530){
digitalWrite(led,HIGH);
analogWrite(motor,200);
}
else {
digitalWrite(led,LOW);
digitalWrite(motor,LOW);
}
}
Comentarios
Publicar un comentario