首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过php在桌面上获取hcsr04超声波传感器的距离

如何通过php在桌面上获取hcsr04超声波传感器的距离
EN

Stack Overflow用户
提问于 2017-05-24 08:47:45
回答 1查看 203关注 0票数 0

我想通过PHP获得到HC-Sr04超声波传感器的距离和显示在我笔记本上的led灯的颜色,有人能帮帮我吗?我被困在这里了。提前感谢

我的php代码..

代码语言:javascript
复制
<?php
echo "<p>Control Page</p><p>";
$port = fopen("COM4", "w+"); 
sleep(2);
?>
<br>
</form>
<?php
if ($_GET['distance']<30)
{
$data = $_GET['distance'];
echo '<td bgcolor="#FF0000"> red';
}
else if ($_GET['distance']>35){
    $data = $_GET['distance'];
    echo '<td bgcolor="#00FF00"> green';
}
else {
    echo "Empty";
    echo '<td bgcolor="#00FF00"> green';
}
fclose($port);
?>
</body>
</html>

我的Arduino代码:...

代码语言:javascript
复制
#define trigPin 10
#define echoPin 2
#define led 4
#define led2 6

void setup() {
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(led, OUTPUT);
  pinMode(led2, OUTPUT);
}

void loop() {
  long duration, distance;
  digitalWrite(trigPin, LOW);  // Added this line
  delayMicroseconds(2); // Added this line
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); // Added this line
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  delay(1000);
  distance = (duration/2) / 29.1;
  if (distance < 30) {  // This is where the LED On/Off happens
    digitalWrite(led,HIGH); // When the Red condition is met, the Green LED should turn off
  digitalWrite(led2,LOW);
}
  else  if(distance >35) {
    digitalWrite(led,LOW);
    digitalWrite(led2,HIGH);
  }
  else{
    digitalWrite(led,LOW);
    digitalWrite(led2,LOW);
  }
  }
EN

回答 1

Stack Overflow用户

发布于 2017-05-24 16:05:23

我假设您使用linux。

首先,你必须设置好你的串口:

代码语言:javascript
复制
stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts

然后,您可以使用fread/fwrite

代码语言:javascript
复制
$fp =fopen("/dev/ttyACM0", "w+");
if( !$fp) {
        echo "Error";die();
}

fwrite($fp, $_SERVER['argv'][1] . 0x00);
echo fread($fp, 10);

fclose($fp);

Arduino将在您每次连接时重新启动。

使用arduino的串口监视器进行调试!

祝好运!

有关更多信息,请访问:https://systemsarchitect.net/2013/01/26/connecting-php-with-arduino-via-serial-port-on-linux/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44147183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档