c++ - Arduino电路没有响应

标签 c++ serialization arduino robotics

我主要尝试使用这段代码来控制汽车/轮式机器人。这里的问题是,如果我发送信号的速度超过 0.9 秒,Arduino 就无法处理它。有什么办法可以解决吗?

(我检查了另一台计算机的串行监视器,它显示 Arduino 仍然接收到信号,但它没有向我的电机 Controller 提供输出)。

如有任何帮助,我们将不胜感激。谢谢。

#include <Servo.h>

//Using mega 2560 and sabertooth 2x12 dip switch 010111

int onevar;
int twovar;
Servo myservo;
Servo myservo2;

void setup() {
  // put your setup code here, to run once:s
  pinMode(servo1, OUTPUT);
  pinMode(servo2, OUTPUT);
  Serial.begin(9600);
  myservo.attach(servo1);
  myservo2.attach(servo2);
  Serial.setTimeout(10);
  //works for 10ms 0.9s need to figure out
}

void loop() {
  // put your main code here, to run repeatedly:
  // Receive up to 7 bytes
  if (Serial.available()>0) {
    // Wait for characters
    onevar = Serial.parseInt();
    twovar = Serial.parseInt();
    //number = atoi(buffer);
    Serial.println(onevar);
    Serial.println(twovar);
    /*  if (Serial.available() > 0) {
     number = Serial.read()-'0'; // read the incoming byte:
     Serial.print(number);
    */
    myservo.write(onevar);
    // 93 is stop backward and forward is scalable range 25 to 155
    myservo2.write(twovar);
    //93 is no steering 30 to 160
  }
}

最佳答案

一些尝试:

  Serial.begin(9600);

尝试将波特率设置得更高(在两端)。

  Serial.println(onevar);
  Serial.println(twovar);

注释掉那些以进行一些测试。

Servo myservo;
Servo myservo2;

2 个 Helm 机和 1 个串行端口。可能会发生与计时器的冲突(多个库使用/设置相同的计时器)。它可以与 1 个 Helm 机一起使用吗?

关于c++ - Arduino电路没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34570783/

相关文章:

php - 如何以数组形式将数据存储在数据库中

java - 序列化方法

c++ - Arduino 1.6.9 及更高版本的 c++ 支持

c++ - 如何在函数中返回指针数组?

c++ - 列表矩阵

php - unserialize() 函数不适用于新服务器上 MySQL 表中的变量

c++ - 在库 Arduino 中传递数组

matlab - 长时间记录时如何停止跳过数据?

c++ - constexpr - "Evaluate value at compile time"到底是什么意思?

c++ - 游戏实体类型分配