Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A eficiência energética é uma preocupação crescente em um mundo onde a demanda por energia está em constante aumento. A capacidade de monitorar e controlar o consumo de energia de forma eficiente pode resultar em economias significativas tanto financeiras quanto ambientais. Com o uso do Arduino, um microcontrolador de código aberto, é possível criar sistemas que ajudam a gerenciar e otimizar o uso da energia em diferentes aplicações. Este artigo irá apresentar um projeto de monitoramento e controle de consumo energético utilizando Arduino, destacando sua importância e como ele pode ser implementado.
Projeto:
O projeto consiste em criar um sistema de monitoramento e controle de consumo de energia elétrica utilizando um Arduino. O objetivo é medir o consumo de energia de um dispositivo elétrico e controlar seu funcionamento para otimizar o uso de energia. O sistema irá monitorar a corrente elétrica e a tensão, calcular o consumo de energia e, com base em parâmetros predefinidos, acionar ou desligar o dispositivo para economizar energia.
Lista de componentes:
Exemplos:
#include <LiquidCrystal_I2C.h>
// Define o endereço do LCD e o tamanho do display
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Pinos do sensor de corrente e tensão
const int currentSensorPin = A0;
const int voltageSensorPin = A1;
// Variáveis para armazenar os valores medidos
float current = 0.0;
float voltage = 0.0;
float power = 0.0;
void setup() {
// Inicializa o LCD
lcd.begin();
lcd.backlight();
// Configura os pinos do sensor como entrada
pinMode(currentSensorPin, INPUT);
pinMode(voltageSensorPin, INPUT);
// Mensagem inicial no LCD
lcd.setCursor(0, 0);
lcd.print("Energy Monitor");
delay(2000);
lcd.clear();
}
void loop() {
// Lê os valores dos sensores
int currentReading = analogRead(currentSensorPin);
int voltageReading = analogRead(voltageSensorPin);
// Converte as leituras para valores reais
current = (currentReading - 512) * 0.185; // Conversão para amperes
voltage = voltageReading * (5.0 / 1023.0) * 220; // Conversão para volts
// Calcula a potência
power = current * voltage;
// Exibe os valores no LCD
lcd.setCursor(0, 0);
lcd.print("I: ");
lcd.print(current);
lcd.print(" A");
lcd.setCursor(0, 1);
lcd.print("V: ");
lcd.print(voltage);
lcd.print(" V");
lcd.setCursor(8, 1);
lcd.print("P: ");
lcd.print(power);
lcd.print(" W");
delay(1000);
}
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int relayPin = 7;
const int currentSensorPin = A0;
const int voltageSensorPin = A1;
float current = 0.0;
float voltage = 0.0;
float power = 0.0;
float powerThreshold = 100.0; // Limite de potência para desligar o dispositivo
void setup() {
lcd.begin();
lcd.backlight();
pinMode(relayPin, OUTPUT);
pinMode(currentSensorPin, INPUT);
pinMode(voltageSensorPin, INPUT);
lcd.setCursor(0, 0);
lcd.print("Energy Control");
delay(2000);
lcd.clear();
}
void loop() {
int currentReading = analogRead(currentSensorPin);
int voltageReading = analogRead(voltageSensorPin);
current = (currentReading - 512) * 0.185;
voltage = voltageReading * (5.0 / 1023.0) * 220;
power = current * voltage;
lcd.setCursor(0, 0);
lcd.print("I: ");
lcd.print(current);
lcd.print(" A");
lcd.setCursor(0, 1);
lcd.print("V: ");
lcd.print(voltage);
lcd.print(" V");
lcd.setCursor(8, 1);
lcd.print("P: ");
lcd.print(power);
lcd.print(" W");
if (power > powerThreshold) {
digitalWrite(relayPin, LOW); // Desliga o dispositivo
lcd.setCursor(0, 1);
lcd.print("Dispositivo OFF");
} else {
digitalWrite(relayPin, HIGH); // Liga o dispositivo
lcd.setCursor(0, 1);
lcd.print("Dispositivo ON ");
}
delay(1000);
}