Go Down

Topic: Arduino e PHP (Read 1 time) previous topic - next topic

Si, ma a me sembra strano...

codice php...
Code: [Select]

<?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: [Select]

#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...

lsinfo

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---
Leo55

Go Up