Go Down

Topic: Conexão PHP (XAMPP) com Arduino- Ligar LED (Read 449 times) previous topic - next topic

romanors

Boa noite, colegas. Sou novo no fórum e estou com um pequeno problema. Estou tentando criar uma conexão entre o XAMPP(PHP) com o Arduino. Consigo ligar o LED normalmente pelo monitor serial do Arduino, mas não consigo fazer isto pelo XAMPP(PHP). Criei o código em PHP, mas na hora do envio dos dados via browser para ligar, o LED não acende. Preciso de ajuda, por favor. Segue as as linhas de códigos, abaixo:

<<Arduino>>

int ledPin = 12;
int lampada = -5;

void setup(){
  pinMode(ledPin,OUTPUT);
  Serial.begin(9600);
}
void loop(){
  if(Serial.available() > 0){
    lampada = Serial.read();
     }
     if (lampada > 0){
        if(lampada == '1'){
         digitalWrite(ledPin,HIGH);
         delay(2000);
     }
      else if(lampada == '0'){
         digitalWrite(ledPin,LOW);
         delay(2000);
    }
  }
      lampada = -5;
 
}


<<PHP>>

<?php
  echo $_REQUEST["lampada"];
  $conexaoarduino = fopen("COM26","w+");
  sleep(2);

  switch ($_REQUEST["lampada"])
  {
     case "acender": $acao = "1"; break;
     case "apagar" : $acao = "0"; break;

  }
  fwrite($conexaoarduino, $_REQUEST["lampada"]);
  fclose($conexaoarduino);
?>


<<HTML>>

<html>
   <head>
    <title>Título</title>
</head>
<body><center><br>
   <form action="exemplo2.php" method="get">
          <img src="imagens/lampadaacesa.png" /><br><br>
          <input type="submit" name="lampada" id="botaoligar" value="acender"> <p>
          <input type="submit" name="lampada" id="botaodeligar" value="apagar">
   </form>
      </center>
</body>
</html>



bubulindo

a variavel lampada deve ser um char e nao um int... e nao, nao pode ser -5... podes colocar 0.

Os delays de 2 segundos tambem nao sao uma boa ideia... normalmente so atrapalham.

Ja experimentaste ver se o Arduino recebe dados via serial??? Talvez fazer um print da variavel lampada de mais pistas acerca do problema.

Em lado algum no teu php vejo o envio da variavel $acao que e a variavel que tem o 1 ou 0 para enviar para o Arduino.
This... is a hobby.

darcicidade

Estou com uma duvida nesta parte também:

Teria como não utilizar essa conexão "  $conexaoarduino = fopen("COM26","w+");".

Ou seja fazer o arduino buscar o acender ou apagar na pagina .index.?

abraço

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy