问题描述
为简要介绍我的项目,这是一个智能停车系统,我可以在该系统中让停车用户知道停车场是否空置。我正在实现一个包含1个协调器和2个路由器的XBee网络。我有两个传感器,出口处有1个传感器,入口处有1个传感器。这两个传感器是路由器,它们收集的任何数据都将传输到协调器(输出)。这两个路由器具有相同的代码,即:
输入代码(正在发送):
#include<SoftwareSerial.h>
#define Sensor 8
void setup() {
pinMode(Sensor,INPUT);
Serial.begin(9600);
}
void loop()
{
bool Detection = digitalRead(Sensor);
int carexit=1;
if(Detection == HIGH)
{
Serial.println("Car Exit");
Serial.write(carexit);
}
if(Detection == LOW)
{
Serial.println("Clear");
}
}
这是一个非常简单的代码,可以检测到汽车进出。由于两个路由器相同,因此我们将传感器用于驶出的汽车。当我打开串行监视器时,“ Clear”(清除)一词将一直持续不间断输出,直到找到检测到为止为止,该检测将显示“ Car Exit”的输出约3秒钟,然后连续返回“ Clear”(清除)。该数据正在传输到协调器。我想做的是获取连续的数据,并让协调器处的串行监视器输入一个整数值。例如,在入口处,传感器将感应到汽车并将数据传输到协调器,并在协调器处递增。如果只有1个空位可用,结果将显示如下内容:
空位:1
当汽车在出口处退出路由器时,它将向协调员发送一个递减代码:
空位:0
因此,输入(路由器)将发送连续数据,而输出(发送器)将检测到该数据并将其注册为一个单位的值。输出代码(接收)如下所示:
输出代码(接收中):
#include "SoftwareSerial.h"
// RX: Arduino pin 2,XBee pin DOUT. TX: Arduino pin 3,XBee pin DIN
void setup()
{
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{
Serial.write(Serial.read());
}
}
输出代码也非常简单。让我知道是否有可能实现我想做的事情,还有遗漏的其他细节,也请告诉我。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)