Para isso vamos usar:
- Sensor de temperatura DS18B20
- Buzzer/speaker
- Arduino Uno
Nosso objetivo foi fazer com que a partir de determinada temperatura (no exemplo "temperatura > 29ºC") o buzzer começasse e emitir determinado sinal sonoro. Colocamos um "bip" repetindo a cada meio segundo (50ms) enquanto a temperatura indicada pelo sensor fosse maior do que 29ºC. O código que engloba esses dois sistemas segue abaixo:
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float temp;
const int buzzer = 8;
void setup(void){
pinMode(buzzer,OUTPUT);
Serial.begin(9600);
sensors.begin();
}
void loop(void){
sensors.requestTemperatures();
temp = sensors.getTempCByIndex(0);
Serial.println(temp);
//o código a seguir verifica se a temperatura é maior do que 29. Se for (if) ela ativa o buzzer na frequencia de 150Hz a cada meio segundo (50ms); Senão (esle) ela mantém o buzzer desligado (noTone);
if (temp > 29){ tone(buzzer,150); delay(50); noTone(buzzer); delay(1000);}
else { noTone(buzzer); delay(1000);}
}
Importante: verifique se sua Arduino IDE possui as bibliotecas < OneWire.h > e < DallasTemperature.h > instaladas. Caso contrário o programa não irá funcionar. Caso não estejam você pode facilmente importá-las pelo menu < Sketch > , < Incluir biblioteca > , < Gerenciar bibliotecas... >. Procure pelas bibliotecas indicadas e faça a instalação. Após isso o programa deve funcionar corretamente.
Nossa montagem ficou da seguinte forma:
Fizemos alguns testes com o sistema. Você pode conferir no vídeo a seguir. Preste atenção no monitor plotter do Arduino. Quando a temperatura passar dos 29ºC um "bip" começará a soar em intervalos de meio segundo.
Em projetos futuros pretendemos acoplar mais sensores de temperatura para comparar os efeitos do isolamento térmico em diferentes configurações e materiais usados na composição do projeto da casa ideal.
Nenhum comentário:
Postar um comentário