|
7.2. Informa temperatura, umidade e luminosidade
Informa temperatura, umidade e luminosidade
O projeto informar a temperatura, umidade e luminosidade do meio-ambiente.
1) Primeira Versão
A versão usa Arduino Uno R3, Display LCD 16x2 (+ resistores de 200Ω), potenciometro e sensor TMP36 para informar a temperatura e umidade do meio-ambiente.
/*
Projeto: Informa temperatura e umidade
Autor: André Silveira
Data: 20/09/2020
*/
#include "LiquidCrystal.h"
int Pino_temperatura=A0;
int Pino_umidade=A1;
int TemperaturaTensao;
float Tensao;
float TemperaturaC;
float TemperaturaF;
// Inicializa instancia de classe do LiquidCrystal
LiquidCrystal lcd(5,6,A2,A3,A4,A5);
void setup() {
Serial.begin(9600);
Serial.println("Temp. e Umidade");
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Temp. e Umidade:");
}
void loop() {
// --- Leitura da tensao no Sensor de Umidade --- //
float umidade = analogRead(Pino_umidade);
umidade = (umidade/1023);
umidade = umidade*100.;
// --- Faz a leitura da tensao no Sensor de Temperatura --- //
TemperaturaTensao=analogRead(Pino_temperatura);
Tensao=TemperaturaTensao*5;
Tensao=Tensao/1024;
// --- Converte a tensao lida em Graus Celsius --- //
TemperaturaC=(Tensao-0.5)*100;
// --- Converte a tensao lida em Fahrenheit --- //
TemperaturaF=(TemperaturaC*9/5)+32;
lcd.setCursor(0,1);
lcd.print(TemperaturaC);
lcd.print(" C");
lcd.setCursor(8,1);
lcd.print(umidade);
lcd.print(" % ");
} |
2) Segunda versão
A versão usa Arduino Uno R3, Display Oled 0,96 128x64, Módulo Sensor DHT11 e Módulo Sensor de Luz LDR KY-018 para informar a temperatura, umidade e luminosidade do meio-ambiente.
/*
Programa: Informa temperatura, umidade e luminosidade com sensor DHT11 e LDR
Autor: André Luis Marques da Silveira
Data: 23/03/201
*/
#include "Wire.h" // Biblioteca para enviar e receber dados TWI/I2C
#include "Adafruit_GFX.h" // Biblioteca para processamento gráfica
#include "Adafruit_SSD1306.h" // Biblioteca do controlador SSD1306 (128x64 e 128x32)
#include "DHT.h" // Biblioteca sensor DHT11
// Variáveis de luminosidade, temperatiura, etc.
float luminosidade = 0;
float temperatura = 0;
float DHT11_temperatura = 0;
float DHT11_umidade = 0;
int PINO_DTH11 = 2;
int PINO_LDR = A0;
Adafruit_SSD1306 display = Adafruit_SSD1306(); // Cria objeto Adafruit_SSD1306
DHT dht(PINO_DTH11, DHT11); // Cria objeto para sensor DHT11T
void setup() {
pinMode(PINO_DTH11, INPUT); // Define pino do Sensor DHT11
pinMode(PINO_LDR, INPUT); // Define pino do Sensor LDR
dht.begin(); // Inicializa biblioteca WIRE
Wire.begin(); // Inicializa biblioteca sensor DHT11
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Inicializa dysplay com endereço I2C 0x3C
display.setTextColor(WHITE); // Define cor do texto
display.setTextSize(1); // Define tamanho da fonte do texto
display.clearDisplay(); // Limpa as informações do display
}
void loop() {
display.setCursor(0,0); // Posição do cursor na tela
display.clearDisplay(); // Limpa display
display.print("Sistema"); // Escreve texto no display
// --- lê sensor DHT11 - temperatura e umidade ---
DHT11_temperatura = dht.readTemperature();
DHT11_umidade = dht.readHumidity();
display.setCursor(10,8); // Posição do cursor na tela
display.print("Temp.:"); // Escreve texto no display
display.setCursor(55,8); // Posição do cursor na tela
display.print(DHT11_temperatura); // Escreve texto no display
display.setCursor(10,16); // Posição do cursor na tela
display.print("Umid: "); // Escreve texto no display
display.setCursor(55,16); // Posição do cursor na tela
display.print(DHT11_umidade); // Escreve texto no display
// --- lê sensor LDR - Luminosidade ---
luminosidade = map(analogRead(PINO_LDR), 0, 1023, 255, 0);
display.setCursor(10,24); // Posição do cursor na tela
display.print("Lumis: "); // Escreve texto no display
display.setCursor(55,24); // Posição do cursor na tela
display.print(luminosidade); // Escreve texto no display
display.display(); // Mostra texto no display
delay(1500); // Aguarda intervalo de 1,5 segundos
}
|
|