Realizado

Implementar Iot no projeto

Publicado em 23 de Fevereiro de 2023 dias na Suporte Administrativo

Sobre este projeto

Aberto

1 Objetivo geral
Obtenção de Inovação tecnológica para o protótipo de medição de consumo de energia elétrica em tempo real. O objetivo agora é buscar adentrar mais em inovações para o dispositivo, com o uso de IoT (Internet das coisas), fazer com que ele se comunique em tempo real através de wi-fi ou pela rede GSM, e prototipar em nova placa de aquisição de dados que suporte sistema operacional.
2.2 Objetivos específicos
Buscar inovar, realizando o monitoramento, através de IoT (internet das coisas, com uso de wi-fi e Bluetooth) e o gerenciamento das cargas (como pode ser visto em Moraes (2016)) aonde o protótipo for instalado. Investigar a viabilidade técnica e econômica de utilização de RFID’s (Radio-frequency identification) para o protótipo.
Procurar a inovação do protótipo, com uso de nova placa de prototipagem eletrônica, Raspberry, da “Orange Pi”. Essas placas aceitam uso de sistema operacional, então o projeto agora se baseará no uso dessa placa em comparação com o protótipo já feito.
Criação futura de uma interface (como pode ser visto em Moraes (2016)) e aplicativo para celulares, afim de o usuário ter liberdade para acompanhar os dados de sua medição em um computador pessoal, tablet e/ou celular.
3. METODOLOGIA
O projeto terá como base a pesquisa na literatura acadêmica como também em manuais técnicos dos equipamentos similares, para o desenvolvido da inovação do protótipo. Depois da pesquisa sobre a teoria envolvida, o protótipo será desenvolvido, envolvendo as etapas expostas no cronograma, e posto à prova em simulações e validação para verificação de seu desempenho.
Este novo protótipo manterá como base a placa Arduino (que comporta o software desenvolvido), como visto em Vasconcelos (2017), e terá outra placa, da Orange Pi, e esta para as inovações que ocorrerão; um sensor de corrente não invasivo, um voltímetro, um visor LCD para a visualização dos resultados e interação com o usuário e um teclado matricial para a entrada de dados (valor do KWh).

O sensor de corrente que foi escolhido é ideal para ser utilizado em projetos de automação residencial, proteção de motores, dentre outras aplicações. Protoboard, componentes eletrônicos (resistores e capacitores) e Multímetro também serão utilizados. Como o projeto já tem alunos de iniciação científica trabalhando no mesmo ramo de pesquisa, os laboratórios de elétrica da unidade serão utilizados para a pesquisa e desenvolvimento. Os novos materiais utilizados e equipamentos (todos estes já de posse do professor e sem a necessidade a priori de uso de laboratório), bem como suas quantidades serão:
1 placa Raspberry Orange Pi

Código utilizado no Arduino

apêndice a – linguagem da programação bifásica
utilizando a tensão informada pelo consumidor residencial foi desenvolvida uma programação bifásica para calcular a potência do circuito e sua energia consumida em um período de tempo.
A implementação do código do programa a ser inserido no Arduino tem os seguintes objetivos:
a) Obter os dados provenientes das entradas analógicas (A1 e A2) do Arduino, onde os sensores de corrente estão conectados.
B) Solicitar, através da Interface Homem-Máquina, os valores da tensão e do preço do kWh, e armazená-los na memória.
C) Realizar o cálculo do consumo de energia elétrica e o consumo em Reais (R$), utilizando os dados informados nos tópicos (a) e (b).
D) Exibir os dados no Display LCD.

Foram utilizadas as bibliotecas já existentes: OpenEnergyMonitor: Possui funções responsáveis pelos cálculos de corrente. Nela existem funções relacionadas aos cálculos de corrente, além de funções para sua calibração; Nokia 5110 Basic: Responsável pela exibição dos dados no visor LCD Nokia 511

// ******************** Bibliotecas ********************
#include
#include
#include
#include

// ******************** Variáveis Globais ********************
// Constantes lcd
#define clk 8 // preto / cinza
#define mosi 9 // branco / roxo
#define dc 10 // cinza / branco
#define ce 11 // azul / azul
#define rst 12 // roxo / amarelo
// constantes teclado
#define l1 0 // laranja
#define l2 1 // preto
#define l3 2 // branco
#define l4 3 // cinza
#define c1 4 // roxo
#define c2 5 // azul
#define c3 6 // verde
#define c4 7 // amarelo
// teclado
const byte linhas = 4;
const byte colunas = 4;
const char teclas[linhas][colunas] = {

{ ‘1’, ‘2’, ‘3’, ‘a’},
{ ‘4’, ‘5’, ‘6’, ‘b’},
{ ‘7’, ‘8’, ‘9’, ‘c’},
{ ‘*’, ‘0’, ‘#’, ‘d’},
};

const byte pinos_linhas[linhas] = {l1, l2, l3, l4}; //connect to the row pinouts of the keypad
const byte pinos_colunas[colunas] = {c1, c2, c3, c4}; //connect to the column pinouts of the keypad
keypad teclado = keypad(makekeymap(teclas), pinos_linhas, pinos_colunas, linhas, colunas);

// outras constantes e variáveis
#define pino_medidor_corrente 1
#define pino_medidor2_corrente 2
#define calibracao 60.6

EnergyMonitor leitor_corrente;
EnergyMonitor leitor_corrente2;
Lcd5110 tela(clk, mosi, dc, rst, ce);
nokia_5110 tela_inicial = nokia_5110(rst, ce, dc, mosi, clk);

extern unsigned char smallfont[];
float corrente;
float corrente2;
float tensao;
float potencia;
float correntetot;
float consumo_total;
float valor_kwh;
float x;
float valor_total;

// ******************** funções ********************
int ler_teclado(string pergunta) {
tela_inicial.print(pergunta);
String resultado = “”;
char tecla_pressionada = teclado.waitForKey();
tela_inicial.print(tecla_pressionada);
while (tecla_pressionada != ‘#’) {
resultado += tecla_pressionada;
tecla_pressionada = teclado.waitForKey();
tela_inicial.print(tecla_pressionada);
}
tela_inicial.clear();
return resultado.toInt();
}

// ******************** Algoritmo Principal ********************
void setup() {
leitor_corrente.current(PINO_MEDIDOR_CORRENTE, CALIBRACAO);
leitor_corrente2.current(PINO_MEDIDOR2_CORRENTE, CALIBRACAO);
consumo_total = 0;
tela.InitLCD();
tela.setFont(SmallFont);
tensao = ler_teclado(“Informe o valor da tensao: “);
valor_kwh = (ler_teclado(“Informe o valor do kWh em centavos: “));
x=valor_kwh/100;
correntetot=0;
}

void loop() {

// Cálculo do consumo
corrente2 = leitor_corrente2.calcIrms(1480);
corrente = leitor_corrente.calcIrms(1480);
correntetot = corrente + corrente2;
potencia = correntetot*tensao;
consumo_total += ((potencia)/1000)/3600; // 3600 segundos; representa o consumo durante 1 segundo

tela.print(“Corrente : “, LEFT, 0);
tela.printNumF(correntetot, 1, 47, 0); //Imprime a corrente na tela
tela.print(“A”, RIGHT, 0);
tela.print(“Potencia : “, LEFT, 15);
tela.printNumF(potencia, 1, 35, 15); //Imprime a Potência na tela
tela.print(“W”, RIGHT, 15);
tela.print(“Consumo Inst.:”, CENTER, 23);
tela.printNumF(consumo_total, 2, CENTER, 25);
tela.print(“kWh”, RIGHT, 30);
valor_total = consumo_total*x;
tela.print(“R$”, CENTER, 40);
tela.printNumF(valor_total, 3, RIGHT, 40);

delay(1000);
}

Contexto Geral do Projeto

Acrescentar no projeto uma IOT para monitoramento do consumo. Preciso tambem do esquema elétrico para construção

Categoria Suporte Administrativo
Subcategoria Assistente virtual
Tamanho do projeto Médio
Isso é um projeto ou uma posição de trabalho? Um projeto
Disponibilidade requerida Conforme necessário

Prazo de Entrega: Não estabelecido

Habilidades necessárias