O sketch abaixo apresenta o termistor e o buzzer associados
aos LED’s. À medida que a temperatura muda de intervalo, um LED acende e o
buzzer emite um som diferenciado a partir da função Tone. Esta função tem como
parâmetros o pino onde se conecta o buzzer, a frequência desejada do som e a
duração em milissegundos. Neste sketch se introduz a biblioteca do Termistor de
10K, que nada mais é do que um resistor que varia sua resistência de acordo com
a temperatura do ambiente. Essa variação é transformada em temperatura pela
biblioteca.
/*
***********************************************
PROJETO ROBÓTICA NA ESCOLA 2015
TERMISTOR COM LED E BUZZER
EE DR PEDRO VELHO – RN/BR
***********************************************
*/
#include
<Thermistor.h>
//Define a temperatura máxima e mínima para o range do
sensor
#define tempMax 32
#define tempMin 24
//Define o pino onde a sirene vai estar conectado
#define sirene 3
//Define o pino A0 como o pino onde o sensor de temperatura
Thermistor temp(0);
const int led2 = 8;
const int led4 = 9;
const int led6 = 10;
const int valorMedio = 28;
void setup()
{
pinMode(led2, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led6, OUTPUT);
Serial.begin(9600);
Serial.println("ALARME DE TEMPERATURA");
}
void loop()
{
int temperatura = temp.getTemp(); // função da biblioteca do termistor
delay(2000); // delay para garantir no minimo 2s entre cada
uma das leituras
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println(" *C\n");
if (temperatura > tempMin && temperatura <=
valorMedio)
{
digitalWrite(led2, HIGH);
tone (sirene,110,50);
}
else
{
digitalWrite(led2, LOW);
}
if (temperatura > valorMedio && temperatura <=
tempMax)
{
digitalWrite(led4, HIGH);
tone (sirene,220,200);
}
else
{
digitalWrite(led4, LOW);
}
if (temperatura > tempMax)
{
digitalWrite(led6, HIGH);
tone (sirene,440,1000);
Serial.println("PERIGO!!! TEMPERATURA FORA DO
ESPERADO");
Serial.print(temperatura);
Serial.println(" *C\n");
Serial.print("Temperatura deve estar entre
");
Serial.print(tempMin);
Serial.print(" e ");
Serial.println(tempMax);
}
else
{
digitalWrite(led6, LOW);
}
}
//FIM DO SKETCH
Nenhum comentário:
Postar um comentário