Arduino, Internet das Coisas e Computação vestível |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Você está em »
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Display Oled 0,96 128x64 (Branco)Descrição
Caracteristicas:
Pinagem:
Biblioteca:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// Projeto: Desenhando na Tela OLED 0,96" I2C
// Autor: André Silveira
// Data: 14/06/2019
#include "Adafruit_GFX.h" // Biblioteca para processamento gráfica
#include "Adafruit_SSD1306.h" // Biblioteca do controlador SSD1306 (128x64 e 128x32)
Adafruit_SSD1306 display(128, 64); // Cria objeto display
#include "Fonts/FreeMonoBold12pt7b.h" // Adiciona fonte
#include "Fonts/FreeMono9pt7b.h" // Adiciona fonte
int Contador; // Cria uma variável dinâmica
void setup() {
delay(100);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Inicializa a tela com endereço I2C 0x3C
display.clearDisplay(); // Limpa a tela
display.setTextColor(WHITE); // Define cor do texto
display.setRotation(0); // Configura orientação 0, 1, 2 ou 3
/* Por padrão, linhas longas de texto são definidas para "quebrar" automaticamente na coluna mais à esquerda.
Para substituir esse comportamento, útil em efeitos de seleção de rolagem, use setTextWrap (false).
O comportamento normal de quebra automática é restaurado */
display.setTextWrap(false);
display.dim(0); // Define brilho (0 é máximo e 1 é um pouco escuro)
}
void loop() {
Contador = Contador + 1; // Incrementa variável em 1
if (Contador > 150) {
Contador = 0;
}
/* Cria uma matriz de 10 caracteres para converte Contador float em uma string para alinhar o texto à direita */
char string[10];
dtostrf(Contador, 3, 0, string); // (<variável>,<dígitos usados>,<dígitos decimais>,<nome da string>)
display.clearDisplay(); // Limpa a tela
display.setFont(&FreeMono9pt7b); // Define uma fonte
display.setTextSize(0); // Define o tamanho da fonte (Personalizada é 0)
/* ------ Imprime texto ------ */
display.setCursor(0, 10); // Define posição para escrever na tela (x,y)
display.println("Ola!!");
/* ------ Desenha um triângulo ------ */
display.drawTriangle(35,45,45,25,55,45, WHITE); // Draw triangle (X, Y dos 3 vértices do triângulo e após cor)
/* ------ Desenha um triângulo preenchido ------ */
display.fillTriangle(0,63,15,45,30,63, WHITE); // Draw Fill triangle (X, Y dos 3 vértices do triângulo e após cor)
/* ------ Desenha uma linha ------ */
display.drawLine(40,63,70,63, WHITE); // Draw line (x0,y0,x1,y1,color)
/* ------ Desenha um circulo ------ */
display.drawCircle(47,36,20,WHITE); // Draw circle (x,y,radius,color). X e Y centro do circulo
/* ------ Desenha um circulo preenchido ------ */
display.fillCircle(12, 27, 10, WHITE); // Draw filled circle (x,y,radius,color). X e Y centro do circulo
/* ------ Desenha um retângulo com bordas arredondadas e com preenchimento ------ */
display.fillRoundRect(58, 0, 18, 18, 5, WHITE); // Draw filled rounded rectangle (x,y,width,height,color)
/* ------ Desenha um retângulo ------ */
display.drawRect(79, 0, 49, 27, WHITE); // Draw rectangle (x,y,width,height,color)
/* ------ Imprime variavel com alinhamento a esquerda ------ */
display.setFont(&FreeMonoBold12pt7b); // Configura a Fonte
display.setCursor(83, 20); // Define posição para escrever na tela (x,y)
display.println(Contador); // Valor impresso
/* ------ Desenha retangulo com cantos arredondados ------ */
display.drawRoundRect(79, 37, 49, 27, 8, WHITE); // Draw rounded rectangle (x,y,width,height,radius,color)
/* ------ Imprime variavel com alinhamento a direita ------ */
display.setCursor(83, 57); // Define posição para escrever na tela (x,y)
display.println(string); // Valor impresso
display.display(); // Imprime tudo que foi setado acima
delay(1500); // Aguarda intervalo de 1,5 segundos
} |
O projeto utiliza um Arduino Uno R3, Display Oled 0,96 128x64 e Módulo Acelerômetro e Giroscópio MPU-6050 para informar valores referentes a posição espacial do sensor. Este é um bom exemplo de como usar conjuntamente a tela OLED 128x64 "I2C" no endereço "0x3C" e o Giroscópio MPU-6050 "I2C" no endereço "0x68". O I2C é um protocolo de comunicação que visa conectar diversos dispositivos (periféricos) utilizando as linhas de dados Serial Data (SDA) e Serial Clock (SCL) . A ideia é definir um endereço hexadecimal para cada dispositivo conectado e no momento de comunicação somente o dispositivo solicitado responderá.

// Projeto: acelerômetro e giroscópio
// Autor: André Silveira
// Data: 14/06/2019
#include "Adafruit_GFX.h" // Biblioteca para processamento gráfico
#include "Adafruit_SSD1306.h" // Biblioteca do controlador SSD1306
#include "GY6050.h" // Biblioteca do Acelerometro e Giroscópio
/* --- Variaveis globais --- */
float acelX, acelY, acelZ;
float giroX, giroY, giroZ;
float tempCelsius, tempFarenheit;
char string[10];
GY6050 gyro(0x68); // Cria um objeto gyro com endereço I2C "0x68"
Adafruit_SSD1306 display(128, 64); // Cria objeto display
void setup() {
delay(100);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Inicializa a tela com endereço I2C "0x3C"
display.clearDisplay(); // Limpa a tela
display.setTextColor(WHITE); // Define cor do texto
display.setRotation(0); // Configura orientação 0, 1, 2 ou 3
display.setTextWrap(false);
display.setTextSize(1); // Define tamanho da fonte do texto
display.dim(0); // Define brilho (0 é máximo)
gyro.initialisation(); // Inicializa giroscópio
}
void loop() {
/* --- Obtem dados do sensor --- */
acelX = gyro.refresh('A', 'X'); // Obtém o eixo "X" do Acelerometro
acelY = gyro.refresh('A', 'Y'); // Obtém o eixo "Y" do Acelerometro
acelZ = gyro.refresh('A', 'Z'); // Obtém o eixo "Z" do Acelerometro
tempCelsius = gyro.refresh('T', 'C'); // Obtém a temperatura em Graus Celsius
tempFarenheit = gyro.refresh('T', 'F'); // Obtém a temperatura em Farenheit
giroX = gyro.refresh('G', 'X'); // Obtém o eixo "X" do Giroscópio
giroY = gyro.refresh('G', 'Y'); // Obtém o eixo "Y" do Giroscópio
giroZ = gyro.refresh('G', 'Z'); // Obtém o eixo "Z" do Giroscópio
/* --- Desenha dados na tela do acelerometro --- */
display.clearDisplay();
display.drawRoundRect(20,0,40,54,4, WHITE);
display.drawLine(20,16,60,16, WHITE);
display.setCursor(28,6);
display.println("Acel");
display.setCursor(32,22);
dtostrf(acelX, 3, 0, string);
display.println(string);
display.setCursor(32,32);
dtostrf(acelY, 3, 0, string);
display.println(string);
display.setCursor(32,42);
dtostrf(acelZ, 3, 0, string);
display.println(string);
/* --- Desenha dados na tela do giroscópio --- */
display.drawRoundRect(64,0,40,54,4, WHITE);
display.drawLine(64,16,104,16, WHITE);
display.setCursor(72,6);
display.println("Gyro");
display.setCursor(76,22);
dtostrf(giroX, 3, 0, string);
display.println(string);
display.setCursor(76,32);
dtostrf(giroY, 3, 0, string);
display.println(string);
display.setCursor(76,42);
dtostrf(giroZ, 3, 0, string);
display.println(string);
display.display();
delay(1500);
} |
O projeto usa WeMos D1 Wifi ESP8266 ou ESP8266 NodeMCU, Módulo Sensor DHT11 e Display Oled 0,96 128x64 para informar a temperatura e umidade através de IP da Internet (Servidor Web) em uma relação Servidor/Cliente. Quanto utilizar a placa WeMos D1 Wifi ESP8266 configurar a placa no Arduino IDE como WebMos D1 R1. Quanto utilizar a placa ESP8266 NodeMCU configurar a placa no Arduino IDE como NodeMCU 0.9 (ESP-12 Module).
O que é um Servidor Web?
Um computador responsável por fornecer e receber dados dos diversos clientes, atuando como centralizador de informação na Rede. Para tanto, utiliza um conjunto de protocolos de comunicação entre computadores chamado de TCP/IP (Protocolo de controle de transmissão): TCP (Transmission Control Protocol) e IP (Internet Protocol).

A relação Servidor/Cliente
A relação entre os computadores que hospedam sites (Servidores) e os navegadores que utilizamos em nossos computadores ou celulares (Clientes) é chamada de Servidor/Cliente. Neste tipo de relação, utiliza-se o procotolo o HTTP (Hypertext Transfer Protocol) para estabelecer a comunicação. Ele é responsável pelo tratamento dos pedidos e respostas entre cliente e servidor na World Wide Web. Nesse contexto, chamamos os servidores de Servidores Web.

/*
Programa: Servidor Web para uma estação Metereológica com sensor DHT11
Autor: André Luis Marques da Silveira
Data: 22/09/2019
*/
#include "Wire.h" // Biblioteca para enviar e receber dados TWI/I2C
#include "Adafruit_GFX.h" // Biblioteca para processamento gráfico
#include "Adafruit_SSD1306.h" // Biblioteca do controlador SSD1306
#include "ESP8266WiFi.h"
#include <DHT.h>
#define DHTPIN D5
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
Adafruit_SSD1306 display(128, 64); // Cria objeto display
const char* ssid = "NOME DO SERVIDOR";
const char* password = "SENHA DO SERVIDOR";
int porta = 80;
// --- Caso ocorra problemas com a porta 80, utilize 8082 ou 8089 ---- //
// --- A chamada, por exemplo fica: http://192.168.0.15:8082 ---- //
WiFiServer server(porta);
void setup() {
// --- Inicializa Sensor DHT11 ---- //
dht.begin(); // Inicializa biblioteca WIRE
Wire.begin(); // Inicializa biblioteca sensor DHT11
pinMode(DHTPIN, INPUT); // Define pino do Sensor DHT11
// ---- Inicializa tela Oled ---- //
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Inicializa a tela com endereço I2C "0x3C"
display.setTextColor(WHITE); // Define cor do texto
display.setRotation(0); // Configura orientação
display.setTextWrap(false);
display.setTextSize(1); // Define tamanho da fonte do texto
display.dim(0); // Define brilho (0 é máximo)
display.clearDisplay(); // Limpa a tela
display.drawRect(0,0,128,15,WHITE); // Posição (x0,y0,x1,y1)
display.setCursor(4,4); // Posição do cursor na tela
display.print("Rede:"); // Escreve texto no display
display.println(ssid); // Escreve no da Rede Wifi
display.display(); // Mostra texto no display
// ---- Inicializa serial ---- //
Serial.begin(9600);
Serial.print("Conectando a rede Wifi ");
Serial.println(ssid); // Escreve nome da Rede Wifi na Serial
// --- Conecta Rede Wifi ---- //
int a = 0;
WiFi.begin(ssid, password); // Passa parâmetros para fazer conexão com a Rede sem fio
while (WiFi.status() != WL_CONNECTED) { // Testa status da conexão
a = a + 1;
if (a < 60) {
Serial.print(".");
} else {
Serial.println(".");
a = 0;
}
delay(100);
}
Serial.println("Conectado a rede");
Serial.println("");
Serial.println("Servidor iniciado");
// ---- Inicia Servidor Web para receber dados em "WiFiServer server(porta)" ---- //
server.begin();
// ---- Escreve na serial o IP recebido da rede sem fio (AUTOMÁTICO) ---- //
Serial.print("IP para se conectar ao NodeMCU: ");
Serial.print("http://");
Serial.println(WiFi.localIP());
// ---- Escreve na tela Oled o IP recebido da rede sem fio (AUTOMÁTICO) ---- //
display.setCursor(0,25);
display.print("IP:");
display.print(WiFi.localIP());
display.print(":");
display.println(porta);
display.display();
}
void loop() {
WiFiClient client = server.available(); // Verifica se algum cliente está conectado ao servidor
if (!client) { // Cliente não conectado, reexecuta processo
delay(10);
return;
}
// --- lê sensor DHT11 - temperatura e umidade --- //
float h = dht.readHumidity(); // Temperatura em Celsius
float t = dht.readTemperature(); // Temperatura em Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
Serial.println("Novo cliente se conectou!");
Serial.print(" Temperatura: ");
Serial.print(t);
Serial.print(" Umidade: ");
Serial.println(h);
display.fillRect(0,40,128,64,BLACK); // fillRect(x,y,width,height,color)
display.setCursor(11,42); // Posição do cursor na tela
display.print("Temperatura:"); // Escreve texto no display
display.setCursor(85,42); // Posição do cursor na tela
display.print(t); // Escreve texto no display
display.setCursor(24,52); // Posição do cursor na tela
display.print("Umidade:"); // Escreve texto no display
display.setCursor(76,52); // Posição do cursor na tela
display.print(h); // Escreve texto no display
display.display(); // Mostra texto no display
// ---- Enquanto cliente estiver conectado aguarda 1 milisegundo ---- //
while(!client.available()){
delay(1);
}
String request = client.readStringUntil('\r'); // Faz leitura da primeira linha da requisição Web
Serial.println(request); // Escreve requisição na Serial
client.flush(); // Aguarda até todos dados serem enviados ao cliente
// ---- Monta protocolo de comunicação HTTP e conteúdo HTML para cliente ---- //
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<HEAD>");
client.println("<TITLE>Leitura da temperatura</TITLE>");
client.println("<META http-equiv=Content-Type content='text/html; charset=iso-8859-1'>");
client.println("<META HTTP-EQUIV='refresh' CONTENT='5'>");
client.println("</HEAD>");
client.println("<body>");
client.println("<h1><center>Bom-dia!</center></h1>");
client.println("<h2><center>Data e Hora</center></h2>");
client.println("<p><center id='datetime'></center></p>");
client.println("<script>");
client.print("var dt = new Date();");
client.print("document.getElementById('datetime').innerHTML = (('0'+dt.getDate()).slice(-2))+'/'+");
client.print("(('0'+(dt.getMonth()+1)).slice(-2))+'/'+(dt.getFullYear())+' - ");
client.print("'+(('0'+dt.getHours()).slice(-2))+':'+(('0'+dt.getMinutes()).slice(-2));");
client.println("</script>");
client.println("<h2><center>Temperatura</center></h2>");
client.println("<p><center>");
client.println(t);
client.println("Celsius</center></p>");
client.println("<p><center>");
client.println(f);
client.println("Fahrenheit </center></p>");
client.println("<h2><center>Umidade</center></h2>");
client.println("<p><center>");
client.println(h);
client.println("</center></p>");
client.println("</body>");
client.println("</html>");
Serial.println("Cliente desconectado ");
Serial.println("");
delay(20);
}
|
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
}
|
O projeto informar a temperatura, umidade e luminosidade do meio-ambiente.
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(" % ");
} |
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] |