Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Introdução à Eletrônica Embarcada com Arduino

A eletrônica embarcada está presente em diversos dispositivos do nosso cotidiano, desde eletrodomésticos até sistemas automotivos. Com o advento de plataformas de prototipagem como o Arduino, tornou-se mais acessível para entusiastas e engenheiros desenvolverem projetos embarcados de maneira rápida e eficiente. Este artigo abordará a criação de um projeto simples utilizando Arduino, destacando sua importância e os ajustes necessários para seu funcionamento.

Project: Vamos criar um sistema de monitoramento de temperatura e umidade utilizando um sensor DHT11 e um display LCD 16x2. O objetivo é demonstrar como coletar dados ambientais e exibi-los em tempo real. Este projeto é ideal para iniciantes e pode ser expandido para aplicações mais complexas, como sistemas de controle climático.

Components List:

  • 1 x Arduino Uno
  • 1 x Sensor de Temperatura e Umidade DHT11
  • 1 x Display LCD 16x2 com interface I2C
  • 1 x Protoboard
  • 10 x Jumpers (fios de conexão)

Examples:

Código de Monitoramento de Temperatura e Umidade

// Inclui as bibliotecas necessárias
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

// Define o endereço do display LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);

// Define o pino do sensor DHT11
#define DHTPIN 2

// Define o tipo do sensor DHT
#define DHTTYPE DHT11

// Inicializa o sensor DHT
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  // Inicializa a comunicação serial
  Serial.begin(9600);

  // Inicializa o display LCD
  lcd.begin();
  lcd.backlight();

  // Inicializa o sensor DHT
  dht.begin();

  // Exibe uma mensagem inicial no LCD
  lcd.setCursor(0, 0);
  lcd.print("Monitoramento");
  lcd.setCursor(0, 1);
  lcd.print("Temp e Umidade");
  delay(2000);
  lcd.clear();
}

void loop() {
  // Lê a umidade do sensor
  float h = dht.readHumidity();
  // Lê a temperatura em Celsius (padrão)
  float t = dht.readTemperature();

  // Verifica se a leitura falhou
  if (isnan(h) || isnan(t)) {
    Serial.println("Falha ao ler do sensor DHT!");
    lcd.setCursor(0, 0);
    lcd.print("Erro no Sensor");
    return;
  }

  // Exibe os valores no Serial Monitor
  Serial.print("Umidade: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperatura: ");
  Serial.print(t);
  Serial.println(" *C ");

  // Exibe os valores no LCD
  lcd.setCursor(0, 0);
  lcd.print("Umidade: ");
  lcd.print(h);
  lcd.print(" %");
  lcd.setCursor(0, 1);
  lcd.print("Temp: ");
  lcd.print(t);
  lcd.print(" *C");

  // Aguarda 2 segundos antes de fazer a próxima leitura
  delay(2000);
}

Explicação do Código

  • Inclusão de Bibliotecas: As bibliotecas Wire.h, LiquidCrystal_I2C.h, e DHT.h são necessárias para controlar o display LCD e o sensor DHT11.
  • Definições: Define-se o endereço do display I2C e os pinos de conexão do sensor DHT11.
  • Inicialização: No setup(), inicializamos a comunicação serial, o display LCD, e o sensor DHT11. Uma mensagem inicial é exibida no LCD.
  • Loop Principal: No loop(), os valores de umidade e temperatura são lidos do sensor. Se a leitura for bem-sucedida, os valores são exibidos no Serial Monitor e no LCD. Caso contrário, uma mensagem de erro é exibida.

Desafios Comuns

  • Leitura Falha do Sensor: Certifique-se de que as conexões estão corretas e que o sensor está funcionando.
  • Problemas com o Display I2C: Verifique o endereço I2C do seu display, pois pode variar.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.