Pages: 1 [2]   Go Down
Author Topic: Problemas com Arduino+PHP  (Read 3403 times)
0 Members and 1 Guest are viewing this topic.
Rondonia
Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

já alterei de "=" para "==" se esse foi o problema, mas continua dando o mesmo erro. o led somente pisca em vez de ficar ligado...
Logged

Rondonia
Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Fabio vc falou de 3 possiveis erros, o do == ja tinha notado, mas e esse do <?php echo $PHP_SELF;?> e o chr(); o que seria esses erros? notei que existe um ; no antes do ?, e para enviar o código para o Arduíno retirei o chr() e continuou a mesma coisa, seria isso que  vc esta se referindo, pois de momento continua sem funcionar, estou até achando que pode ser alguma coisa de sistema operacional(Windows 7 Home Premium)?
Logged

0
Offline Offline
Full Member
***
Karma: 2
Posts: 124
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Amigo, apenas coloquei em evidência as dicas dos outros colegas que tentaram ajudá-lo estão corretas...

1°  <form method="post" action="<?php echo $PHP_SELF;?>">
 O conteúdo do action em um dos exemplos do Bruno Soares é vazio "" e foi como fiz porque com com seu ardumento dá erro.

2° Sugiro que você estude mais a linguagem de programação(o arduino no fundo é um C++ disfarçado),
No arduino você compara 
if (usbnumber = '1')   ; Esse '1' entre aspas quer dizer o caracter 1 que na tabela ASCII significa 49, então no PHP você tem que enviar o caracter 1, mas você manda
fwrite($fp, chr(1));
 A função chr() pega o caracter referente aquela posição decimal 1, que na tabela ASCII não possui simbolo, apenas um nome SOH. Então pense, 49 é igual a 1? O correto seria

fwrite($fp, '1');

A minha parte PHP que rodou
Code:
<?php 
$Porta 
"com4";
if (isset(
$_POST["rcmd"])) { 
    
$rcmd $_POST["rcmd"]; 
switch (
$rcmd) { 
    case 
"desliga"
$fp =fopen($Porta"w+"); 
sleep(2);
fwrite($fp'1');

fclose($fp); 
    break; 
   case 
"liga"
        
$fp =fopen($Porta"w+"); 
sleep(2);
fwrite($fp'2');  
fclose($fp); 
break; 
default:
    } 


?>


<html>

<head><title>Controle Arduino</title>
</head>
<body>
<div align="center">
<form method="post" action="">
    <p>
      <input type="submit" value="desliga" name="rcmd" height="10%">
    </p>
   
    <p><br/>
      <input type="submit" value="liga" name="rcmd" height="10%"><br />

    </p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <body>
</form>
</div>
</center>
</body>
</html>

Logged

Rondonia
Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Agradeço a Todos por terem me ajudado, consegui resolver os problemas do Arduino+PHP  , o grande problema estava no servidor apache, não estava se comunicando com a porta serial, ai foi só reinstalar o "Wampserv", e efetuar os ajustes nos códigos e deu tudo certo, segue os códigos que funcionarão:

Code:
<<Arduíno>>
int Pino = 13;
int usbnumber = 1 ;
 
void setup() {
    pinMode(Pino, OUTPUT); 
    Serial.begin(9600);
}
void loop() {
   if (Serial.available() > 0) {
        usbnumber = Serial.read();
   }
    if (usbnumber == '1') {
          digitalWrite(Pino, LOW); //desliga   
    }
    if (usbnumber == '2'){
          digitalWrite(Pino, HIGH); //liga
        }   
}



Code:
<?php 
$Porta 
"com4";
if (isset(
$_POST["rcmd"])) { 
    
$rcmd $_POST["rcmd"]; 
switch (
$rcmd) { 
    case 
"desliga"
$fp =fopen($Porta"w+"); 
sleep(2);
fwrite($fp'1');

fclose($fp); 
    break; 
   case 
"liga"
        
$fp =fopen($Porta"w+"); 
sleep(2);
fwrite($fp'2');  
fclose($fp); 
break; 
default:
    } 


?>


<html>

<head><title>Controle Arduino</title>
</head>
<body>
<div align="center">
<form method="post" action="">
    <p>
      <input type="submit" value="desliga" name="rcmd" height="10%">
    </p>
   
    <p><br/>
      <input type="submit" value="liga" name="rcmd" height="10%"><br />

    </p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <body>
</form>
</div>
</center>
</body>
</html>

Os códigos são as correções que o nosso amigo Fabio passou, Obrigado smiley-lol...
se precisar de algo tamos ai  smiley-wink...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Olá a Todos

Peço desculpas desde já, visto ter adquirido um Arduino Uno apenas á dias, e não percebendo nada de programação tenho andado a ler uma serie de posts e tuturiais para me integrar minimamente.

Eu tenho instalado o windows xp + wampserver e coloquei os seus codigos na directoria www do wamp como codigo html e php, mas quando tento carregar na caixa de ligar nada acontece, apenas alterei a porta com que no meu caso é a COM11
Eu programei o codigo no IDE e quando vou a SerialMonitor carrego em 2 e liga o led 1 desliga por tanto a comunicação IDE/Arduino funciona.
Será que me podiam tentar esclarecer o que estarei a fazer mal.
O meu obrigado
Nuno
Logged

Rondonia
Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

aparece algum erro quando você aperta em algum botão, outra coisa, voce salvou o arquivo .php ou html, por que aqui ta funcionando .php, veja ai e me diga.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Olá Kabixi,

Tal como referi atras salvei os seus codigos na pasta www do wamp ou seja teste.html e teste.php só alterei a porta de serie para a COM11 que é a serial porta por mim utilizada.

Não existe qualquer funcionabilidade, clico no botão e fico na mesma pagina e não acontece nada no led.
Logged

Rondonia
Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

então é assim que vc ta abrindo:

http://localhost/teste.php


Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Não estou a abrir directamente pelo wamp

file:///C:/Programas/wamp/www/teste2.html
Logged

Rondonia
Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

pois o erro está ai meu amigo, vc esta acessando apenas um arquivo html e nao ao servidor de web, abre o arquivo .php e dentro do servidor que ficará mais ou menos assim:

http://localhost/teste.php
Logged

Pages: 1 [2]   Go Up
Jump to: