Pages: 1 [2]   Go Down
Author Topic: Arduino e PHP  (Read 1160 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 34
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si, ma a me sembra strano...

codice php...
Code:
<?php
if(isset($_POST['ledRGB'])){
// Include the PHP serial class
include "php_serial.class.php";
// Start a new serial class
$serial = new phpSerial;
// Specify the device being used
$serial->deviceSet("COM2");
// Set baud rate
$serial->confBaudRate(9600);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
// Open the device
$serial->deviceOpen();
sleep(1);
// Write to the device
if(isset($_POST['ledRGB'])){
$led=$_POST['ledA'];

switch($led){
case 'r':
$serial->sendMessage(chr(114)); //r = 114;
break;
case 'b':
$serial->sendMessage(chr(114)); //b = 98
break;
case 'g':
$serial->sendMessage(chr(114)); //g = 103
break;
case 'w':
$serial->sendMessage(chr(114)); //w = 119
break;
case 's':
$serial->sendMessage(chr(114)); //s = 115
}
}

sleep(5);
// Close the port
$serial->deviceClose();
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<head>
<title>Led RGB</title>
</head>

<body>

<form name='led' method="POST">
<fieldset><legend>Led RGB</legend><br/>
  <input type="radio" name="ledA" value="r"/>Led Rosso<br/>
        <input type="radio" name="ledA" value="g"/>Led Verde<br/>
        <input type="radio" name="ledA" value="b"/>Led Blue<br/>
        <input type="radio" name="ledA" value="w"/>Led Bianco<br/>
  <input type="radio" name="ledA" value="s"/>Spegni tutto<br/><br/>
    <input type='submit' name='ledRGB' value="Aziona" ><br/>
</fieldset>
    </form>

</body>

</html>


codice arduino...
Code:
#include <LEDRGB.h>

LEDRGB onLed;
int rit = 300;
char val;

void setup(){
  Serial.begin(9600);
  onLed.init(11,10,9); //primo rosso, secondo blue, terzo verde
  onLed.offAll();
  }

void loop(){
 
  if(Serial.available() > 0){
      val = Serial.read();
     
      Serial.println(val);
     
      switch(val){
        case 'r':
          onLed.onRed();
          break;
        case 'b':
          onLed.onBlue();
          break;
        case 'g':
          onLed.onGreen();
          break;
        case 'w':
          onLed.onWhite();
          break;
        case 's':
          onLed.offAll();
          break;
        default:
          onLed.error(rit);
          break;
      }
    }
  }

perchè con la "r" non ho problemi? passa la variabile e accende il led... l'ho impostato su tutti i case e mi invia correttamente "r", che arduino legge e compila correttamente... ma perchè solo "r"?? Ho inserito anche uno sleep(5) prima della chiusura della porta, ma niente...
Logged

ITA - PV - Canneto Pavese
Offline Offline
Newbie
*
Karma: 0
Posts: 36
oggi sono stanco; non parlatemi di lavoro!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

la cosa del reset si capisce gia' guardando il led on board.
il problema e' capire perche gli capita solo con il led verde ('g'), almeno, leggendo il post mi e' parso di capire questo

Fammi una semplice prova; parti come primo input con il radio del verde on  e a seguire gli altri

Ciao


si sono accavallati i post---
Logged

Leo55

Pages: 1 [2]   Go Up
Jump to: