arduino 舵机接线图_(四)arduino进阶:舵机的使用方法

本文介绍了如何使用arduino控制舵机,包括舵机的工作原理、选择适合的舵机型号、接线方法、使用示例代码及验证测试。通过实例展示了如何使舵机在0到180度之间精确旋转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

舵机是一种旋转执行器或线性执行器,可以精确控制角度或线性位置,速度和加速度。它由一个电机和一个传感器组成,用于位置反馈。简单来说,它更像是一个可以用户指定的角度旋转的步进电机。 伺服电机有多种尺寸,具体取决于它们可以承载的负载。

第一步 准备材料

舵机

Arduino uno

若干杜邦线

第二步 原理介绍

Micro Servo是一款微型舵机,重量约为9g,可轻松承载高达200g的负载。它可以在大量的小型项目中使用,如机器人,自动鱼食喂食器等。

舵机的技术规格如下: 尺寸:23x11x29毫米 电压:3V至6V DC 重量:9克 速度:0.12秒/ 60(4.8V) 扭矩:1.6千克 – 厘米

舵机是一种精确控制角度的装置,您可以使用任何舵机的代码,硬件或库来控制这些舵机,主要是控制舵机的旋转角度。一般在Arduino里,舵机控制都有一个库,直接操作库,传入一定的角度值,舵机就会旋转到指定的角度。

第三步 电路连接

连接舵机非常简单: 红色线连接ardunio的VCC。 黑色或褐色线连接arduino的GND。 橙色或黄色是信号线连接arduino的数字引脚。图中连接的9号脚。

第四步 上传代码

Arduino IDE内置了两个不同功能的Servos测试示例。它们是旋钮和扫描。对于这个例子,我正在使用扫描程序测试舵机。

您还可以使用串行监视器中提供的输入更改代码并控制舵机。为此,您需要创建一个变量,该变量将保存您输入的角度值。

下面是简单的程序:

#include

Servo myservo; // 创建舵机对象来控制伺服

//大多数电路板上都可以创建12个舵机对象

int pos = 0; // 用于存储舵机角度的变量

void setup() {

myservo.attach(9); // attaches the servo on pin 9 to the servo object

}

void loop() {

for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees// in steps of 1 degree

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(15); // waits 15ms for the servo to reach the position

}

for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(15); // waits 15ms for the servo to reach the position

}

}

设备:

暂无设备

平台:

ESP32 Dev Module

ESP32 Wrover Module

Node32s

Nano32

AI Thinker ESP32-CAM

ALKS ESP32

Adafruit ESP32 Feather

BPI-BIT

D-duino-32

Dongsen Tech Pocket 32

ESP32 FM DevKit

ESP32 Pico Kit

ESP32vn IoT Uno

ESPea32

ESPectro32

Electronic SweetPeas - ESP320

FireBeetle-ESP32

Frog Board ESP32

Heltec WiFi Kit 32

Heltec WiFi LoRa 32

Heltec WiFi LoRa 32(V2)

Heltec Wireless Stick

Hornbill ESP32 Dev

Hornbill ESP32 Minima

LOLIN D32

LOLIN D32 PRO

LoPy

LoPy4

M5Stack-Core-ESP32

M5Stack-FIRE

M5Stick-C

MH ET LIVE ESP32DevKIT

MH ET LIVE ESP32MiniKit

MagicBit

Microduino-CoreESP32

NodeMCU-32S ">Node32s

Noduino Quantum

ODROID ESP32

OLIMEX ESP32-DevKit-LiPo

OLIMEX ESP32-EVB

OLIMEX ESP32-GATEWAY

OLIMEX ESP32-PoE

OLIMEX ESP32-PoE-ISO

OROCA EduBot

Onehorse ESP32 Dev Module

Pycom GPy

Silicognition wESP32

SparkFun ESP32 Thing

SparkFun LoRa Gateway 1-Channel

T-Beam

TTGO LoRa32-OLED V1

TTGO T-Watch

TTGO T1

ThaiEasyElec's ESPino32

TinyPICO

Turta IoT Node

VintLabs ESP32 Devkit

WEMOS D1 MINI ESP32

WEMOS LOLIN32

WeMos WiFi&Bluetooth Battery

WiPy 3.0

Widora AIR

XinaBox CW02

u-blox NINA-W10 series (ESP32)

Generic ESP8266 Module

Generic ESP8285 Module

NodeMCU 0.9 (ESP-12 Module)

NodeMCU 1.0 (ESP-12E Module)

Arduino-ESP8266

ESPDuino (ESP-13 Module)

ESPectro Core

ESPino (ESP-12 Module)

ESPresso Lite 1.0

ESPresso Lite 2.0

LOLIN(WEMOS) D1 R2 & mini

LOLIN(WEMOS) D1 mini Lite

LOLIN(WEMOS) D1 mini Pro

Olimex MOD-WIFI-ESP8266(-DEV)

Phoenix 1.0

Phoenix 2.0

Schirmilabs Eduino WiFi

Seeed Wio Link

SparkFun Blynk Board

SparkFun ESP8266 Thing

SparkFun ESP8266 Thing Dev

SweetPea ESP-210

ThaiEasyElec's ESPino

WeMos D1 R1

WiFiduino

WifInfo

XinaBox CW01

4D Systems gen4 IoD Range

Adafruit Feather HUZZAH ESP8266

Amperka WiFi Slott

DOIT ESP-Mx DevKit (ESP8285)

Digistump Oak

ITEAD Sonoff

Invent One

Arduino Nano

Arduino Pro or Pro Mini

Arduino Uno

Arduino Uno WiFi

Arduino Mini

Arduino Mega or Mega 2560

Arduino Micro

Arduino Yun

Arduino Yun Mini

Adafruit Circuit Playground

LilyPad Arduino

LilyPad Arduino USB

Linino One

Arduino BT

Arduino Duemilanove or Diecimila

Arduino Esplora

Arduino Ethernet

Arduino Fio

Arduino Gemma

Arduino Industrial 101

Arduino Leonardo

Arduino Leonardo ETH

Arduino Mega ADK

Arduino NG or older

Arduino Robot Control

Arduino Robot Motor

Nucleo-32

Nucleo-64

Nucleo-144

Generic STM32F0 series

Generic STM32F1 series

Generic STM32F3 series

Generic STM32F4 series

Generic STM32H7 series

Generic STM32L0 series

Generic flight controllers

LoRa boards

Midatronics boards

STM32MP1 series coprocessor

Discovery

3D printer boards

Electronic speed controllers

Eval

编译

上传

#include

Servo myservo; // 创建舵机对象来控制伺服

//大多数电路板上都可以创建12个舵机对象

int pos = 0; // 用于存储舵机角度的变量

void setup() {

myservo.attach(9); // attaches the servo on pin 9 to the servo object

}

void loop() {

for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees// in steps of 1 degree

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(15); // waits 15ms for the servo to reach the position

}

for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees

myservo.write(pos); // tell servo to go to position in variable 'pos'

delay(15); // waits 15ms for the servo to reach the position

}

}

上面的程序需要使用舵机的库,下面是舵机库下载:

隐藏内容,您需要满足以下条件方可查看

End

第五步 验证与测试

输出:

如果使用的是上面的简单程序,您将看到如上图所示的内容,舵机将以全方位的方式旋转。

如果要手动控制舵机,可以打开串行监视器并输入0到180之间的值。您可以看到舵机从参考点旋转到你想要的角度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值