繁体   English   中英

通过串行控制电机和伺服(Arduino)

[英]Control motor and servo over serial (Arduino)

我想设置两个arduino,它们将通过串行相互通信。 一个将充当遥控器,另一个将充当接收器。 我已经设置了两个可以工作的按钮,但是我在伺服和电机上遇到了麻烦。

val = analogRead(potPin1); 
if (val1 != val ){ 
  val = map(val, 0, 1023, 5, 150);
  Serial.println("3/2/10/" + val );   //Write steering val
  val1 = val;

这是起作用的代码。 仅在底池变化时才连续打印字符,而不是整数。 另外,如果可能的话,我想用一个操纵杆控制两者,但我认为最好先使其单独工作。 远程代码= http://pastebin.com/JCq7sNxT收件人代码= http://pastebin.com/KiyYJMFT

提前致谢。

您说“行动起来”是什么意思? 我不确定您的意思,但也许您需要尝试Serial.println(analogValue, DEC);

这会将行打印为ASCII编码的十进制。 有关更多信息,请参见http://arduino.cc/en/Serial/Println#.UwHrRXVdVJw

或者,也许print()适合您的需求( http://arduino.cc/en/Serial/Print#.UwHtKXVdVJw )。

另外,您有机会覆盖发送缓冲区。 由于波特率非常低(9600波特/秒),并且每次在主循环中模拟值发生变化时都发送字符,这可能是因为您尝试发送的数据超出了连接的处理能力。

我不确定这是否会造成问题,但是我的建议是通过不断摇动操纵杆来确保您的系统压力:)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM