Sou leigo mas dou minhas cabeçadas.
O código até que funciona o sensor de Decibeis arma meu relé quando bate que desejo.
Mas via Web não consigo acionar clicando..
Somente consigo controle se o relé acionar pelo código do decibel..
Poderiam me dar uma luz pra ambos funcionarem?
Gostaria de poder ligar o relé ou desligar mesmo se o sensor de decibeis acionar.
Tipo um comando mestre por segurança.
Parte da temperatura ainda não coloquei em uso pois preciso ajustar isso primeiro kkkk
Segue meu código.
Se puderem auxiliar agradeço.
Obrigado
#include <SPI.h>
#include <Ethernet.h>
/* Código para mostrar valor em dB */
const int PinoSensor = A0; //pino Anlógico de Entrada 0
const int PinoDigital = 0;
//int Estado = 0;
int ValorSensor = 0;
int valorMaior = 0;
float tensao = 0;
int dB = 0;
int cont = 0;
// Codigo Relay
int relay = 3;
// Codigo Placa de Rede
byte mac[] = { 0xDE, 0xAD, 0xB7, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 77, 23 };
byte gateway[] = { 192, 168, 77, 1 };
byte subnet[] = { 255, 255, 255, 0 };
EthernetServer server(80);
String readString;
void setup() {
Serial.begin(9600);
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
pinMode(0, INPUT);
pinMode(relay, OUTPUT);
digitalWrite(relay, HIGH);
}
void loop() {
EthernetClient client = server.available();
{
while(cont < 10000)
{
ValorSensor = analogRead(PinoSensor);
if(ValorSensor > valorMaior)
{
valorMaior = ValorSensor;
}
cont++;
}
cont = 0;
tensao = valorMaior/1023.04.53;
//dB = 103.1tensao - 115,4;
dB = 87.1*tensao - 75,4;
if(dB < 0)
{
dB = 0;
}
if(dB > 30)
{
Serial.println("Aumento +30 = Relay On");
digitalWrite(relay, LOW);
}
else if (dB < 30) {
Serial.println("Menor 30 = Relay Off");
digitalWrite(relay, HIGH);
}
if(dB < 30)
valorMaior = 0;
}
delay(200);
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 100) {
readString += c;
}
if (c == '\n') {
Serial.println(readString);
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("");
client.println("");
client.println("");
client.println("");
client.println("
Sistema Gerador Ventilacao
");client.println("
");
client.println("
");
client.println("<a href="/?venton"">Exaustores On ");
client.println("<a href="/?ventoff"">Exaustores Off
");
client.println("
");
client.println("Temperatura C:
");
client.println("
");
client.println("Humidade:
");
client.println("");
client.println("");
delay(1);
client.stop();
if (readString.indexOf("?venton") >0){
digitalWrite(relay, LOW);
}
if (readString.indexOf("?ventoff") >0){
digitalWrite(relay, HIGH);
}
readString="";
}
}
}
}
}