八八七 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日

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)