Servo Motor(SG90) CN

아두위키 : Arduwiki
ArduWiki (토론 | 기여)님의 2025년 3월 27일 (목) 15:02 판 (새 문서: {{#seo:|title=ArduWiki : Arduino 舵机电机 (SG90) 指南|title_mode=append|keywords=Arduino, 信息科学, 创客学习, 绩效评估, 舵机电机 (SG90), Arduino作品, 毕业设计, Arduino示例代码|description=介绍如何使用Arduino控制舵机电机(SG90)(基础信息、电路连接、示例代码)。适用于信息科学与创客课程。}}가운데|class=coders100 这是一个可以根据信号调整旋转角度的部...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

这是一个可以根据信号调整旋转角度的部件。

它可以进行精准的位置控制,常用于机器人关节等场景。

旋转角度范围为 0 到 180 度之间。

规格参数

  • 工作电压:5V
  • 电流消耗:0.2A ~ 0.7A
  • 角度范围:0° ~ 180°

所需硬件

  • SG90 舵机电机
  • Arduino
  • 杜邦线

连接方式

舵机电机 Arduino
S D7
+ 5V
- GND

使用库

  • Servo(默认库)

示例代码

// 使用 servo 库
#include <Servo.h>
// 使用 7 号引脚
#define pin 7

// 创建 servo 对象
Servo servo;

// 设置角度变量
int pos = 60;

void setup() {
  Serial.begin(9600);
  // 设置舵机控制引脚
  servo.attach(pin);
  // 设置初始角度
  servo.write(pos);
  Serial.println("Serial start");
  Serial.print("default degree : ");
  Serial.println(pos);
}

void loop() {
  if (Serial.available()) {
    char contrl = Serial.read();
    if (contrl == 'a') { // 在串口监视器中输入 a 时,角度增加 60 度
      if (pos == 180)
        Serial.println("max angle");
      else {
        pos = pos + 60;
        Serial.print("degree : ");
        Serial.println(pos);
        servo.write(pos);
      }
    } else if (contrl == 'b') { // 在串口监视器中输入 b 时,角度减少 60 度
      if (pos == 0)
        Serial.println("min angle");
      else {
        pos = pos - 60;
        Serial.print("degree : ");
        Serial.println(pos);
        servo.write(pos);
      }
    }
  }
}

执行结果