最好的方法是什么,以便在通过红外线使用二进制发送消息时不会出错。目前,我通过将它们编码为二进制 ascii 值来发送消息,然后让两个带有红外灯和传感器的 Arduinos 检查起始位光,然后通过检查红外灯是否以 3 毫秒间隔打开或关闭来读取消息。
我需要做到这一点,以便无论发生什么(即来自遥控器或其他 Arduinos 的干扰),仍然会发送正确的消息。
我还想这样做,即使两个 Arduino 都尝试同时发送消息,他们也会互相收到消息。
我正在通过 Arduino IDE 的串行监视器发送和接收消息。
PS:我遇到一个问题,如果我一次发送很多信件,它们在一定数量的字符后开始变得混乱。即,如果我输入 1 - 30,数字之间有空格,我会得到结果:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 14 15 a s ....
在 17 之后,数字会变得混乱。
如果您对可能出现的问题有任何想法,我将不胜感激!