控制SG90电机-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 507|回复: 2

[未解决] 控制SG90电机

[复制链接]
发表于 2022-3-5 17:52 | 显示全部楼层 |阅读模式
问题: ①setup函数里面的 Serial.println("Welcome to GYH sweep action");   在串口监视器中没有显示。
           ②在串口监视器中发送 舵机转向指令时,舵机会自动回转。
麻烦大佬指点一下,谢谢了!

#include <Servo.h>  
Servo base;  //建立4个舵机对象
int basePos = 90;
void setup()
{
  base.attach(14);     // base 伺服舵机连接引脚14 舵机代号'b'
  Serial.begin(9600);
  Serial.println("Welcome to GYH sweep action");
}

void loop()
{
  if(Serial.available()>0){
    char serialCmd =Serial.read();
    sweepDataCmd(serialCmd);
    }

}

void sweepDataCmd(char serialCmd){
  Serial.print("serialCmd =  ");
  Serial.print(serialCmd);
  int fromPos;
  int toPos;
  int servoData = Serial.parseInt();
       fromPos = base.read();
       toPos = servoData;
       if(fromPos <= toPos){
       for(int i=fromPos; i<=toPos; i++){
        base.write(i);
        delay(15);
        }
        }else{
          for(int i=fromPos; i>=toPos; i--){
          base.write(i);
          delay(15);
          }
        }
        basePos = servoData;
        Serial.print(" Set base servo value: ");
        Serial.println(servoData);
       }

串口监视器

串口监视器
 楼主| 发表于 2022-3-5 18:09 | 显示全部楼层
本帖最后由 小白mmd 于 2022-3-5 18:11 编辑

  switch(serialCmd){
    case 'b':  
      fromPos = base.read();
      toPos = servoData;
      
      if (fromPos <= toPos){  //如果“起始角度值”小于“目标角度值”
        for (int i=fromPos; i<=toPos; i++){
          base.write(i);
          delay (15);
        }
      } else {  //否则“起始角度值”大于“目标角度值”
        for (int i=fromPos; i>=toPos; i--){
          base.write(i);
          delay (15);
        }
      }
      
      basePos = servoData;
      Serial.print("  Set base servo value: ");
      Serial.println(servoData);
      break;
    default:
      Serial.println(" Unknown Command.");
  }  
}

我把后面自定义函数部分 换成switch循环 发现 舵机自动再次进行一次循环   实在是搞不懂
7BCV_564LIO%Q`9[)8(%~K0.png
发表于 2022-3-6 11:44 | 显示全部楼层
串口监视器勾选 无结束符
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 13:52 , Processed in 0.174727 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表