首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino旋转伺服

Arduino旋转伺服
EN

Stack Overflow用户
提问于 2012-06-16 22:32:04
回答 1查看 1.1K关注 0票数 0

我正试着用Arduino微控制器来转动一个连续旋转伺服系统。

当使用串行连接按向右箭头键时,我想将伺服系统向右旋转1度。这是我的代码:

代码语言:javascript
复制
    const int servoPin = 6;
    int incomingByte; 
    Servo servo;
    int pos;

    void setup() {
        Serial.begin(9600);
        pos = 0;
        servo.attach(servoPin);
        servo.write(pos);
    }

    void loop() {
        incomingByte = Serial.read();

        if (incommingByte == 67) {
            pos++;
            servo.write(pos);
        }
    }

我要怎么做才能让他转过来?因为现在,它不动了.

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-16 23:23:04

你的代码有几处地方出了问题。有几个语法错误正在发生。

首先,您需要执行一个#include <Servo.h>并将incomingByte声明为一个整数。在if-condition行中也有一个拼写错误。

此外,如果键盘未连接到Arduino板,则无法从键盘读取数据,除非您在中间有东西可以将键盘数据中继到板上。下面是你可以用来开始的代码:

代码语言:javascript
复制
#include <Servo.h>

int incomingByte; 
Servo servo;
int pos;
int dir;

void setup() {
    Serial.begin(9600);
    Serial.print("Test\n");

    pos = 90;
    dir = 1;

    servo.attach(9);
    servo.write(pos);
}

void loop() {
    if (pos >= 180 || pos <= 0) { dir = -dir; }
    pos += dir;
    Serial.print(pos);
    Serial.println();
    servo.write(pos);
    delay(50);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11064282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档