No PHP é possível se comunicar com a portal serial utilizando a função fopen(), Portanto é muito fácil controlar o Arduino através de uma página PHP.
Segue o exemplo abaixo:
Circuito:
Como você pode ver, esse circuito é bem simples, Apenas um resistor, 2 jumpers e uma led.
Arquivo PHP:
Queremos que ao clicar no botão "ligar led" ou "desligar led", A led do arduino acenda ou apague.
Não vou entrar em detalhes sobre o script, Pois é bem simples e está bem comentado.
Agora vamos ao Arduino:
Como você viu, Controlar o arduino através do PHP é bem simples.
abrs
Segue o exemplo abaixo:
Circuito:
Como você pode ver, esse circuito é bem simples, Apenas um resistor, 2 jumpers e uma led.
Arquivo PHP:
Código PHP:
<?php
$enviou = $_POST["enviou"];
//Variáveis que vieram do formulário, Controlam o ligamento e desligamento das leds na protoboard
$ligar = $_POST["ligar"];
$desligar = $_POST["desligar"];
if($enviou == "sim") //Verifica se usuário enviou formulário
{
if($ligar == "LIGAR LED") //Envia informação para a porta serial que será lida pelo arduino
{
$porta = fopen("COM4","w"); //COM4 é minha porta serial, Troque pela sua.
fwrite($porta,"l"); //Liga led
echo("LED LIGADA");
}
else if($desligar == "DESLIGAR LED")
{
$porta = fopen("COM4","w");
fwrite($porta,"d"); //Desliga led
echo("LED DESLIGADA");
}
}
?>
<html>
<head>
<title>Controlando o arduino pelo PHP</title>
</head>
<body>
<form method="post" action="<?php echo($_SERVER["PHP_SELF"]); ?>">
<input type="submit" value="LIGAR LED" name="ligar">
<input type="submit" value="DESLIGAR LED" name="desligar">
<input type="Hidden" value="sim" name="enviou">
</form>
</body>
</html>
Não vou entrar em detalhes sobre o script, Pois é bem simples e está bem comentado.
Agora vamos ao Arduino:
Código:
/* Script desenvolvido por Lucas Santos da Silva Feito para controlar o arduino através de uma página php, Contato: chamycal@gmail.com */ int led = 8; //Pino onde se localiza a led char valores; //Irá receber informações vindas do php pela porta serial void setup() { //Configura pino para saída de energia pinMode(led,OUTPUT); Serial.begin(9600); //Prepara a porta serial para ser lida } void loop() { valores = Serial.read(); //Lê as informações vindas do PHP if(valores == 'l') //Se for l então liga a led { digitalWrite(led,HIGH); } else if(valores == 'd') { digitalWrite(led,LOW); } }
abrs
Comment