Arduino, Internet das Coisas e Computação vestível

[Voltar]

[Avançar]

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 

}

 

[Voltar]

[Avançar]