Beleza galera? estou com um problema, liguei um LDR e fiz uma brincadeira quando tem luz o LED vermelho acende quando não tem luz o LED verde acende, joguei isso junto com meu arduino ethernet e estou tentando escrever na tela as palavras ON e OFF, quando o LED verde esta HIGH aparece na tela ON e quando esta LOW aparece OFF, porém não consegui fazer este vinculo, fica apenas escrito ON independente do como estão os LED's, e minha segunda dúvida é, coloquei um botão na tela LIGAR quero vincular este botão a uma saída do Arduino, para quando eu clicar na tela no LIGAR eu consiga comandar uma saída ligada a um réle por exemplo, segue código utilizado.

#include <SPI.h>
#include <Ethernet.h>
int sensorLDR = 0; //Sensor de luminosidade, porta analógica
int luminosidade = 0; //Variável para armazenar o valor do sensor

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,0, 198);
byte gateway[] = { 192, 168, 0, 1 }; // Gateway (opcional)
byte subnet[] = { 255, 255, 255, 0 }; // Mascara de subrede

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup()
{
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.begin(9600);
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
pinMode(7, OUTPUT); //LED vermelho
pinMode(5, OUTPUT); //LED verde
}

void ligar(int valor){
digitalWrite(7, LOW);
digitalWrite(5, LOW);
digitalWrite(valor, HIGH);
}
void loop()
{
luminosidade = analogRead(sensorLDR);
Serial.println(luminosidade); //Saída da saída analógica
delay(500);
if(luminosidade > 500){
ligar(5);
}
if(luminosidade < 500){
ligar(7);
}
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == '\n' && currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
break;
}
if (c == '\n') {
// you're starting a new line
currentLineIsBlank = true;
}
else if (c != '\r') {
// you've gotten a character on the current line
currentLineIsBlank = false;
}
}
}
client.println("<html>"); //Início do código HTML

client.println("<h1>"); //Inicio do cabeçalho H1
client.println("<font face='arial black' size='22' color='grey' >TESTE");
client.println("<h1>"); //Inicio do cabeçalho H1
client.println("<input type='button' value='LIGA' onClick='window.location.href=window.location.href'>");
if (5, HIGH)
client.println("<font face='arial black' size='22' color='green' >ON");
if (5, LOW)
client.println("<font face='arial black' size='22' color='red' >OFF");
client.println("</html>"); //Fim do código HTML

}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
Serial.println("client disonnected");
}

Exibições: 5266

Responder esta

Respostas a este tópico

E ae Renato.

Ali onde tem if (5, HIGH) eu acho que seria if(digitalRead(5) == HIGH), e o mesmo com o LOW

Caíque, valeu cara era isso mesmo, funcionou sim !!!

Me ajude com outra dúvida;

Eu coloquei este botão escrito LIGA

client.println("<input type='button' value='LIGA' onClick='window.location.href=window.location.href'>");

Eu só não consigo colocar ele vinculado a uma saída, pra tipo qd eu clicar nele no computador eu acionar um relé por exemplo

Também sou iniciante e nunca usei esse shield ethernet nao.

Mas tenta isso:

int rele = PORTADORELE;

string msg = client.read();

if(msg == 'LIGA'){

digitalWrite(rele, 1);

}

Boa noite seu codigo esta faltando uma variavel que trata as informacoes em um caracter por vez.

tenho um codigo funcionando para ligar lampada, abrir portao, ligar ar condicionado etc,

se ajudar posso mandar pra voce analizar e ver se serve.

Cara pode me enviar esse codigo por favor? tiagomesq@gmail.com sou iniciante em arduino se puder me ajudar. Valeu!!!

Deivid têm como vc mandar pra mim tb pra eu analisar, estou começando com o ethernet shield tb.. Obrigado desde já!

Deivid se poder me mandar o código também ficarei grato, sou novo no assunto e to quebrando a cabeça aqui pra escrever esse código :ss meu e-mail é matheusgoiania@gmail.com

vlew

Deivid, acompanhei este post e vi uqe você tem o codigo uqe eu preciso.. Você pode me fornecer ? thomazferraz@hotmail.com

Feliz ano novo!! 

Boa tarde, Deivid!    Caso for possivel favor me enviar o codigo para eu aprender sobre o ethernet sheild ficarei muito agradecido..   rodrigo.rja@hotmail.com

 

Att.

Rodrigo Araújo

Por favor, tambem estou tentando com este shield e poderia me enviar tb? lhe agradeco desde entao. mainlcl@gmail.com

Olá Deivid tenho que fazer um projeto parecido você poderia me mandar esse código para mim

tenho que fazer um TCC com 10 reles para acender ledes  , 1 sensor PIR  com Buzzer  simulando alarme ,1 sensor LDR para acender 3 ledes quando escurece, 1 cooler simulando ar condicionado, e 1 motor servo para simular portão basculante  tudo pelo Ethernet Shield meu endereço de e-mail  edisondesouza95@gmail.com

se puder me mandar lê agradeço muito

Tenho esse código será que da para transformar para funcionar em Ethernet Shield  se der para me ajudar

fico grato

Anexos

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço