- 已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
12小时前关门了。
Improve this question
嘿,所以我是一个真正的noobie在Arduino,我得到了一个旋转编码器的旋转来控制伺服电机的旋转。然而,我希望它旋转得更快,因为它需要很长的时间来旋转,并由于该项目的性质,它的更方便,如果我能得到它去更快。有什么办法得到固定?
代码如下:
#include <Servo.h>
#define CLK 3
#define DT 2
Servo servo;
int counter = 0;
int currentStateCLK;
int lastStateCLK;
void setup()
{
pinMode(CLK,INPUT);
pinMode(DT,INPUT);
// Setup Serial Monitor
Serial.begin(9600);
servo.attach(5);
servo.write(counter);
lastStateCLK = digitalRead(CLK);
}
void loop()
{
currentStateCLK = digitalRead(CLK);
if (currentStateCLK != lastStateCLK && currentStateCLK == 1){
if (digitalRead(DT) != currentStateCLK) {
counter --;
if (counter<0)
counter=0;
} else {
// Está a rodar na direção do relógio
counter ++;
if (counter>179)
counter=179;
}
servo.write(counter);
Serial.print("Position: ");
Serial.println(counter);
}
lastStateCLK = currentStateCLK;
}
1条答案
按热度按时间uurity8g1#
如果伺服变快...
...查找非阻塞伺服库和/或基于中断的编码器库。当前,您将伺服移动一度,然后等待编码器移动。