控制电机和伺服串口(Arduino)

时间:2014-02-17 10:52:29

标签: controller serial-port 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

提前致谢。

1 个答案:

答案 0 :(得分:0)

“表演”是什么意思?我不确定你的意思,但也许你需要尝试Serial.println(analogValue, DEC);

这将该行打印为ASCII编码的十进制数。有关详细信息,请参阅http://arduino.cc/en/Serial/Println#.UwHrRXVdVJw

或者print()可能更适合您的需求(http://arduino.cc/en/Serial/Print#.UwHtKXVdVJw)。

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

我不确定这是否会造成问题,但我的建议是通过不断摇摆你的操纵杆来强调测试你的系统,以确保:)。