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

[Voltar]

[Avançar]

7.3. Temperatura, umidade e luminosidade (Shield Multifunções)


Informa temperatura, umidade e luminosidade com Shield Arduino Multifunções

O projeto utiliza Arduino Uno R3, Módulo display Oled 0,96 128x64 e Shield Arduino Multifunções com Sensores e I/O´s para informar a temperatura, umidade e luminosidade do meio-ambiente.

/* 
Programa: Informa temperatura, umidade e luminosidade através do Shield Arduino Multifunções 
Autor: André Luis Marques da Silveira
Data: 23/03/2019

Objetivo: Manipular sensores 
1. Sensor de temperatura e umidade DHT11 (porta D4)
2. Sensor de temperatura LM35 (A2)
3. Sensor de Luz LDR (A1)
*/

#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, temperatura, etc. 
float luminosidade = 0;                        
float temperatura = 0;                          
float DHT11_temperatura = 0;
float DHT11_umidade = 0;

int PINO_DTH11 = 4  
int PINO_LDR = A1;  
int PINO_LM35 = A2;						
 
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_LM35, INPUT);    				// Define pino do Sensor LM35
  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 LM35 - temperatura ---  
  temperatura = ( 5.0 * analogRead(A2) * 100.0) / 1024.0;
  
  // --- 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]