Go Down

Topic: Conexão PHP (XAMPP) com Arduino- Ligar LED (Read 1 time) 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