串行和 Arduino 伺服库的问题
Issue with Serial and Arduino Servo Library
今天我尝试在Arduino上设置一个伺服电机与这个草图一起运行。由于某种原因,当我为舵机添加设置行时,软件串行端口无法正常接收数据。我试图将软件串行更改为Arduino上的正常串行端口,但发生了同样的事情。
#include<SoftwareSerial.h>
#include<Servo.h>
Servo myServo;
SoftwareSerial BT1(3,2); // TX, RX
int val;
int servoPin = 7;
int ledPin = 10;
void setup() {
pinMode(ledPin,OUTPUT);
BT1.begin(9600);
myServo.attach(servoPin);
myServo.writeMicroseconds(2000); //2 ms for Tower Pro SG 90 Servo
myServo.write(90); //Initialize at servo's middle point
}
void loop() {
if (BT1.available()) {
int i = (int)BT1.read();
setIntensity(i);
}
}
void setIntensity(int value) {
if (value >= 0 && value <= 110) {
analogWrite(ledPin, value);
}
}
当我注释掉myServo的设置行时,Arduino就像一个魅力。我该如何解决这个问题?我正在使用Arduino Duemilanove。
NeoSWSerial 是 SoftwareSerial
的合适替代品。 NeoSWSerial
不会干扰 Servo,因为它不使用任何额外的资源,也不会长时间阻止中断。
它也可以在 IDE 库管理器的菜单 Sketch -> Include Library -> ManageLibraries 下获得。
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 如何为伺服电机创建中断或返回值?
- 如何使用Arduino控制伺服电机
- 伺服电机一直试图达到134°以下,出了什么问题?
- 串行和 Arduino 伺服库的问题
- 请求在"伺服控制器"中请求成员"附加",该成员属于非类类型"int"
- 带伺服的串行 I/O 功能
- Arduino:如果在构造函数中使用了 this->object.attach(pin),则带有伺服的类会破坏伺服行为
- CentOS 5.7 存取系統呼籲在 apache Web 伺服器檢查檔案是否存在時返回 EACCES
- 连接传感器后,Arduino驱动的伺服电机停止工作
- 编码时很难分配伺服器
- 伺服转换应该具有什么抽象级别