八八七 2023-04-06 11:19 采纳率: 71.4%
浏览 40
已结题

arduino显示舵机正反转

怎么写舵机正转时红灯亮,反转就绿灯亮,如果停止转就都不亮的命令啊

  • 写回答

2条回答 默认 最新

  • 鬼马ops 2023-04-06 11:33
    关注

    以下是示例代码,可以实现您所描述的功能:

    #include <Servo.h>
    
    Servo myservo;
    
    int pos = 90;    // 初始舵机位置为 90 度
    
    int redLED = 2;  // 红灯接在 2 号引脚
    int greenLED = 3;  // 绿灯接在 3 号引脚
    
    void setup() {
      myservo.attach(9);  // 舵机接在 9 号引脚
      pinMode(redLED, OUTPUT);  // 设置红灯为输出引脚
      pinMode(greenLED, OUTPUT);  // 设置绿灯为输出引脚
    }
    
    void loop() {
      // 让舵机正转
      for (pos = 90; pos <= 180; pos += 1) {
        myservo.write(pos);    // 移动舵机
        digitalWrite(redLED, HIGH);  // 打开红灯
        digitalWrite(greenLED, LOW);  // 关闭绿灯
        delay(15);             // 等待舵机到达目标位置
      }
    
      // 让舵机反转
      for (pos = 180; pos >= 0; pos -= 1) {
        myservo.write(pos);    // 移动舵机
        digitalWrite(redLED, LOW);   // 关闭红灯
        digitalWrite(greenLED, HIGH);  // 打开绿灯
        delay(15);             // 等待舵机到达目标位置
      }
    
      // 让舵机停止运动
      myservo.write(90);      // 将舵机位置设置为初始位置
      digitalWrite(redLED, LOW);   // 关闭红灯
      digitalWrite(greenLED, LOW);  // 关闭绿灯
      delay(1000);             // 等待 1 秒钟
    }
    

    注释:以上代码中,舵机接在数字引脚 9 上,红灯接在数字引脚 2 上,绿灯接在数字引脚 3 上。在 loop() 函数中,首先让舵机正转,同时打开红灯;然后让舵机反转,同时打开绿灯;最后让舵机停止运动,同时关闭红灯和绿灯,延时 1 秒钟后再开始下一轮循环。通过 digitalWrite() 函数可以控制 LED 灯的开关状态。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 已采纳回答 4月6日
  • 创建了问题 4月6日

悬赏问题

  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器