Pages: 1 2 [3]   Go Down
Author Topic: Háblanos de tu proyecto...  (Read 7267 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas noches, soy nuevo en Arduino y en el foro.

Perdon si posteo en el lugar incorrecto :-(

Les cuento mi problema: tengo un arduino UNO con la placa ethernet. Leyendo foros y documentos logre armar dos sensores PIR que "muestran" en una web si los sensores detectaron movimiento y le agregue un boton para "encender led" o activar rele.
Con un solo boton funciona perfectamente, pero cuando agrego el boton nro. 2 no logro encenderlo desde la web.
No me doy cuenta donde esta el problema en la programacion... Me darian una mano?
Adjunto el codigo y MUCHAS GRACIAS!!!!

 
#include <SPI.h>
#include <Ethernet.h>

// ethernet configuration
byte mac[] = { 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF };
IPAddress ip(192,168,1,177); // P1 --> { 10, 1, 1, 5 };
EthernetServer server(88);              // port 80 is default for HTTP

// initial
int LED = 3;          // led is connected to digital pin 3
int LED2 = 8;          // led is connected to digital pin 8
int PIR = 2;          // PIR sensor is connected to digital pin 2
int PIR2 = 7;          // PIR sensor is connected to digital pin 4
int LDR = 5;          // LDR sensor is connected to analog in 5
int PIRstate = 0;     // variable for PIR sensor status
int PIRstate2 = 0;     // variable for PIR sensor status
float photocell = 0;  // variable for photocell (LDR) analog value
char c = 0;           // received data
char command[2] = "\0";  // command


void setup()
{
  Ethernet.begin(mac, ip);
  server.begin();
  pinMode(LED, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(PIR, INPUT);
  pinMode(PIR2, INPUT);
}


void loop()
{
  EthernetClient client = server.available();
  // detect if current is the first line
  boolean current_line_is_first = true;

  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 (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();

          // auto reload webpage every 1 second
          client.println("<META HTTP-EQUIV=REFRESH CONTENT=1 URL=>");
         
          // webpage title
          client.println("<center><p><h1>Detector de movimiento WEB</h1></p><center><hr><br />");

          // read analog pin 1 for the value of photocell
          // photocell = analogRead(LDR);
          // client.print("<p><h2>Light reading = <font color=indigo>");
          // client.println(photocell, 2);
          // client.println("</font></h2></p>");
         
          // read digital pin 13 for the state of PIR sensor
          PIRstate = digitalRead(2);
          if (PIRstate == HIGH) { // PIR sensor detected movement
            client.println("<p><h2><font color=red>MOVIMIENTO DETECTADO! - SECTOR 1 </font></h2></p>");
          }
          else { // No movement is detected
            client.println("<p><h2><font color=green>Sin movimiento - SECTOR 1</font></h2></p>");
          } 
          // read digital pin 7 for the state of PIR sensor
          PIRstate2 = digitalRead(7);
          if (PIRstate2 == HIGH) { // PIR sensor detected movement
            client.println("<p><h2><font color=red>MOVIMIENTO DETECTADO! - SECTOR 2 </font></h2></p>");
          }
          else { // No movement is detected
            client.println("<p><h2><font color=green>Sin movimiento - SECTOR 2</font></h2></p>");
          } 
         
          // DM 3-8-2014
          PIRstate = digitalRead(3);
          if (PIRstate == HIGH) { // Led 1 activado
            client.println("<p><h2><font color=red>LED 1 ACTIVADO!</font></h2></p>");
          }
          else { // Led 1 desactivado
            client.println("<p><h2><font color=green>Led 1 desactivado</font></h2></p>");
          } 
          // DM 3-8-2014

          // DM 3-8-2014
          PIRstate = digitalRead(smiley-cool;
          if (PIRstate == HIGH) { // Led 2 activado
            client.println("<p><h2><font color=red>LED 2 ACTIVADO!</font></h2></p>");
          }
          else { // Led 2 desactivado
            client.println("<p><h2><font color=green>Led 2 desactivado</font></h2></p>");
          } 
          // DM 3-8-2014
         
          // button functions
          client.println("<form  method=get name=form>");
          client.println("<button name=b value=1 type=submit style=height:80px;width:150px>LED1 On</button>");
          client.println("<button name=b value=2 type=submit style=height:80px;width:150px>LED1 Off</button>");
          client.println("<p> </p></center>");
          client.println("<button name=b value=3 type=submit style=height:80px;width:150px>LED2 On</button>");
          client.println("<button name=b value=4 type=submit style=height:80px;width:150px>LED2 Off</button>");
          client.println("</form><br />");
         
          // webpage footer
          client.println("<hr><center><a href=http://www.diegomarino.com.ar>Diego Marino</a><br />");
          client.println("<p>Esta pagina actualizara cada 1 segundo.</p></center>");
         
          break;
        }
        if (c == '\n') {
          // we're starting a new line
          current_line_is_first = false;
          current_line_is_blank = true;
        }
        else if (c != '\r') {
          // we've gotten a character on the current line
          current_line_is_blank = false;
        }
        // get the first http request
        if (current_line_is_first && c == '=') {
          for (int i = 0; i < 1; i++) {
            c = client.read();
            command = c;
          }
          // LED control
          if (!strcmp(command, "1")) {
            digitalWrite(LED, HIGH);
          }
          else if (!strcmp(command, "2")) {
            digitalWrite(LED, LOW);
           
            // LED2 control
         if (!strcmp(command, "3")) {
         digitalWrite(LED2, HIGH);
         }
          else if (!strcmp(command, "4")) {
           digitalWrite(LED2, LOW);
          }
        }
      }
    }
    }
    // give the web browser time to receive the data
    delay(1);
    client.stop();
  }
}
Logged

Pages: 1 2 [3]   Go Up
Jump to: