Fala galera, boa tarde.

Estou montando um projeto com o Arduíno Uno + EtherShield W5100 porém gostaria de tirar uma dúvida caso alguém saiba.

1 - Quando clico no botão, o mesmo fica com a descrição on/off.

Quando clicado fica on gostaria que o botão ficasse verde e quando clicasse novamente e ficasse off o botão mudaria para vermelho. 

2 - Alguém sabe como inserir senha para abrir a página?

Alguém pode me ajudar?

Obrigado!!

#include <Ethernet.h>
#include <SPI.h>
//network NB: Pins 10, 11, 12 and 13 are reserved for Ethernet module. 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 177 };
byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };

String inString = String(35);

String Luz;

int led[] = {00, 2, 3, 4 ,5 ,6 ,7 ,8,9  }; //Led pins num 0 in arry is not used
int numofleds = 8; //numofleds
String value[] = {"on","on","on","on","on","on","on","on","on"}; //startup all led are off

EthernetServer server(80);
String data;
void setup()
{
  Serial.begin(9600);
  Ethernet.begin(mac, ip,gateway,subnet); 
  server.begin();
//set pin mode
  for (int j = 1; j < (numofleds + 1); j++){
    pinMode(led[j], OUTPUT);
  }
  Serial.println("Serial READY");
  Serial.println("Ethernet READY");
  Serial.println("Server READY");
}

void loop()
{
  EthernetClient client = server.available();
  
  if(client){
    // an http request ends with a blank line
    boolean current_line_is_blank = true;
    while (client.connected()) {
     
      if(client.available()) {
      
        char c = client.read();
        // if we've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so we can send a reply
        if (inString.length() < 35) {
            inString.concat(c);
         } 
        if (c == '\n' && current_line_is_blank) {
                    
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          client.println("<html><header><style>input {height:60px; width:160px }</style></header><body><form method=get>");
          client.println("<p><font size=7 color=blue><b>YOSHIKAWA online</font></p><font size=5>");
    
             for(int i=1;i < (numofleds + 1) ;i++){ 
           Luz = String("Luz-") + i;
           
          if(inString.indexOf(Luz+"=on")>0 || inString.indexOf("all=on")>0){
            Serial.println(Luz+"on");
            digitalWrite(led[i], HIGH);
            value[i] = "off"; 
          }else if(inString.indexOf(Luz+"=off")>0 || inString.indexOf("all=off")>0 ){          
            Serial.println(Luz+"on");
            digitalWrite(led[i], LOW);
            value[i] = "on";
          }
           client.println("<br>"+Luz+"  <input type=submit name="+Luz+" value="+value[i]+">");
         }
         client.println("<br>Todos <input type=submit name=all value=on><input type=submit name=all value=off>");
         client.println("</from></html></body>");
          break;
        }
        if (c == '\n') {
          // we're starting a new line
          current_line_is_blank = true;
        } else if (c != '\r') {
          // we've gotten a character on the current line
          current_line_is_blank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    inString = "";
    client.stop();
  }
}

Exibições: 168

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço