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 aos Sistemas Embarcados com Arduino

Sistemas embarcados são sistemas de computação especializados que realizam funções específicas dentro de um dispositivo maior. Eles são essenciais em diversas aplicações, desde automação industrial até dispositivos médicos e eletrodomésticos inteligentes. O Arduino é uma plataforma de prototipagem eletrônica de código aberto, amplamente utilizada em projetos de sistemas embarcados devido à sua simplicidade e flexibilidade. Este artigo abordará a criação de um sistema embarcado básico utilizando o Arduino, destacando sua importância e aplicabilidade.

Projeto: Neste projeto, desenvolveremos um sistema de monitoramento de temperatura e umidade utilizando um sensor DHT11 e um display LCD 16x2. O objetivo é medir e exibir continuamente a temperatura e a umidade do ambiente em tempo real. Este projeto é ideal para iniciantes, pois introduz conceitos fundamentais de leitura de sensores e exibição de dados em um display.

Lista de componentes:

  1. Arduino Uno - 1 unidade
  2. Sensor de temperatura e umidade DHT11 - 1 unidade
  3. Display LCD 16x2 com interface I2C - 1 unidade
  4. Resistores de 10k ohms - 1 unidade
  5. Jumpers (cabos de conexão) - quantidade variável
  6. Protoboard - 1 unidade

Exemplos:

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

// Define o tipo de sensor DHT e o pino de conexão
#define DHTTYPE DHT11
#define DHTPIN 2

// Inicializa o LCD com o endereço I2C (0x27) e tamanho (16x2)
LiquidCrystal_I2C lcd(0x27, 16, 2);

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

void setup() {
  // Inicia a comunicação serial para depuração
  Serial.begin(9600);
  // Inicia o LCD
  lcd.begin();
  // Liga a luz de fundo do LCD
  lcd.backlight();
  // Inicia o sensor DHT
  dht.begin();
}

void loop() {
  // Aguarda 2 segundos entre as leituras
  delay(2000);

  // Lê a umidade e a temperatura
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // Verifica se a leitura falhou e exibe mensagem de erro
  if (isnan(h) || isnan(t)) {
    Serial.println("Falha na leitura do sensor DHT!");
    lcd.setCursor(0, 0);
    lcd.print("Erro no sensor");
    return;
  }

  // Exibe os valores no monitor serial
  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("Umid: ");
  lcd.print(h);
  lcd.print(" %");
  lcd.setCursor(0, 1);
  lcd.print("Temp: ");
  lcd.print(t);
  lcd.print(" C");
}

Comentários sobre o código:

  • As bibliotecas Wire.h e LiquidCrystal_I2C.h são usadas para controlar o display LCD via interface I2C.
  • A biblioteca DHT.h é usada para ler os dados do sensor DHT11.
  • No setup(), inicializamos a comunicação serial, o LCD e o sensor DHT.
  • No loop(), lemos a temperatura e a umidade a cada 2 segundos e exibimos os valores no monitor serial e no LCD.
  • O código inclui verificações de erro para garantir que as leituras do sensor sejam válidas.

Desafios comuns:

  • Conexões erradas podem resultar em leituras incorretas ou em falha na inicialização do sensor ou do display.
  • Certifique-se de que o endereço I2C do LCD esteja correto. O endereço pode variar dependendo do fabricante.

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.