TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

O Projeto Arduino Medidor de FP

Por:   •  9/6/2022  •  Projeto de pesquisa  •  1.824 Palavras (8 Páginas)  •  78 Visualizações

Página 1 de 8

#include <SD.h>

#include <SPI.h>

#include<Ethernet.h>

#include "EmonLib.h"

#include <LiquidCrystal.h>

#define W5100_CS 10

const int chipSelect = 3;

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress ip(10,50,209,250); // Endereço IP que a Ethernet Shield terá. Deve ser alterado para um endereço livre da sua rede.

EthernetServer server(80); // Cria um servidor WEB

EnergyMonitor emon1;

void setup() {

lcd.begin(16, 2);

lcd.clear();

Serial.begin(9600);

emon1.voltage(2, 207.6, 1.7);

emon1.current(1, 53.6);

Ethernet.begin(mac, ip); // Inicializa a Ethernet Shield

server.begin(); // Inicia esperando por requisições dos clientes (Browsers)

if (!SD.begin(chipSelect)) {

Serial.println("Erro no cartao ou cartao nao inserido!");

return;

}

Serial.println(" Cartao inicializado.");

Serial.println();

Serial.println("Aguardando conexões....");

}

void loop() {

emon1.calcVI(20,2000);

float supplyVoltage = emon1.Vrms;

float Irms = emon1.Irms;

float powerFActor = emon1.powerFactor;

float apparentPower = emon1.apparentPower;

float realPower = emon1.realPower;

Serial.print("Tensão medida na rede AC: ");

Serial.print(supplyVoltage);

Serial.println("V");

lcd.setCursor(8, 0);

lcd.print(supplyVoltage);

lcd.setCursor(14, 0);

lcd.print("V");

Serial.print("Corrente na rede AC: ");

Serial.print(Irms);

Serial.println("A");

lcd.setCursor(0, 0);

lcd.print(Irms);

lcd.setCursor(6, 0);

lcd.print("A");

Serial.print("Fator de potência: ");

Serial.print(powerFActor);

lcd.setCursor(3, 1);

lcd.print("FP:");

lcd.setCursor(8, 1);

lcd.print(powerFActor);

Serial.print("\nPotência Aparente: ");

Serial.print(apparentPower );

Serial.print("\nPotência Real: ");

Serial.print(realPower);

Serial.println("\n");

if ((supplyVoltage < 0) || (Irms <0.10) )

{

lcd.clear();

lcd.setCursor(3, 1);

lcd.print("Sensores OFF");

lcd.scrollDisplayLeft();

Serial.print("sensores nao estao funcionando");

Serial.println("\n");

}

EthernetClient client = server.available(); // Tenta pegar uma conexão com o cliente (Browser)

if (client) { // Existe um cliente em conexão ?

boolean currentLineIsBlank = true;

while (client.connected()) {

if (client.available()) { // os dados do cliente estão disponiveis para serem lidos

char c = client.read(); // lê 1 byte (character) do cliente

// a ultima linha da requisição do cliente é branca e termina com o caractere \n

// responde para o cliente apenas após a última linha recebida

if (c == '\n' && currentLineIsBlank) {

// envia o cabeçalho de uma resposta http padrão

client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html");

client.println("Connection: close");

client.println("Refresh: 5");

client.println();

...

Baixar como (para membros premium)  txt (6.1 Kb)   pdf (48.3 Kb)   docx (10.6 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com