0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino UNO板和电位器控制伺服电机

科技观察员 来源:electroschematics 作者:electroschematics 2024-02-11 10:11 次阅读

在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO板和电位器控制伺服电机。

一旦你启动并运行了这个示例项目,你就掌握了从Arduino控制伺服电机的技能。这可以成为更先进的机器人项目的基础。

1.png

您需要的组件:

Arduino的板

5V伺服电机(如SG90)

电位器(1k及以上的任意值)

面包板和跳线

电路设置:

将舵机的电源线(通常为红色)连接到 Arduino 上的 5V 输出。

将舵机的接地电缆(通常为棕色或黑色)连接到 Arduino 上的一个 GND 引脚。

将舵机的信号线(通常为橙色或黄色)连接到 Arduino 上的数字引脚 9。

将电位器插入试验板,并将其一个外部引脚连接到 5V,另一个外部引脚连接到 Arduino 上的 GND。

将电位计的中间引脚连接到Arduino上的模拟引脚A0。

2.png

示例代码 1:自动伺服运动

首先,要测试伺服电机是否工作,请上传以下测试代码。上传后,伺服电机应开始在 0 到 180 度之间来回移动。确保您的舵机连接到引脚
9,如电路图所示。

#include < Servo.h >  // Include the Servo library

Servo myservo;  // Create a servo object to control the servo motor

void setup() {
  myservo.attach(9);  // Attaches the servo on pin 9 to the servo object
}

void loop() {
  // Goes from 0 degrees to 180 degrees in steps of 1 degree
  for (int pos = 0; pos <= 180; pos += 1) { 
    myservo.write(pos);  // Tell servo to go to position in variable 'pos'
    delay(15);           // Waits for the servo to reach the position
  }

  // Goes from 180 degrees to 0 degrees
  for (int pos = 180; pos >= 0; pos -= 1) { 
    myservo.write(pos);  // Tell servo to go to position in variable 'pos'
    delay(15);           // Waits for the servo to reach the position
  }
}

上传代码:

通过 USB 数据线将 Arduino UNO 连接到计算机。

在计算机上打开Arduino IDE。

将提供的代码复制到新草图中。

在“工具”菜单下选择正确的主板和端口

单击“上传”按钮将代码传输到Arduino。

示例代码 2:使用电位计控制伺服

此示例草图使用电位计来控制伺服电机的位置。当您转动电位器时,伺服电机应相应地移动到电位器电阻所指示的位置。

此代码基于基本的Arduino电位器示例。

#include < Servo.h >

Servo myservo;  // Servo object to control the motor
int potpin = A0;  // Where the potentiometer is connected
int val;    // Variable to read the potentiometer value

void setup() {
  // Tell the servo object which pin to use
  myservo.attach(9);
}

void loop() {
  // Read the value of the potentiometer (value between 0 and 1023)
  val = analogRead(potpin);            
	
  // Scale it to use it with the servo (value between 0 and 180)
  val = map(val, 0, 1023, 0, 180);     
	
  // Set the servo position according to the scaled value
  myservo.write(val);                  
  
  // Wait for the servo to reach the position
  delay(15);
}

上传代码后,转动电位器将改变电阻和Arduino读取的模拟值,从而控制伺服电机的位置。

现在,您可以对位置进行试验,并了解伺服电机如何响应电位计的调整。

Arduino伺服电机故障排除

如果伺服电机没有响应:

根据原理图检查所有连接。

确保在IDE中正确选择了Arduino板。

确保试验板上没有短路。

确保您的舵机在 5V 下工作
审核编辑:陈陈

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电位器
    +关注

    关注

    14

    文章

    963

    浏览量

    66034
  • 伺服电机
    +关注

    关注

    82

    文章

    1838

    浏览量

    56285
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184834
收藏 人收藏

    评论

    相关推荐

    如何使用Arduino的蓝牙控制伺服电机

    使用伺服电机在机器人技术中很常见,以实现精确控制。在这里,在本教程中,我们将向您展示如何通过蓝牙连接将伺服电机
    发表于 11-16 16:19 2730次阅读
    如何使用<b class='flag-5'>Arduino</b>的蓝牙<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>

    针对伺服电机一款常用 Arduino 开发

    伺服电机包括一个直流电机、一个控制电路、几个扭力齿轮以及一个塑料外壳(见图 1)。 图 1:Parallax 的伺服
    发表于 07-13 10:27

    三电阻FOC电机控制板电位器调速是如何移植的?

    本文介绍一种基于低压伺服电机STSPIN3201三电阻FOC电机控制板电位器调速移植说明。
    发表于 06-16 06:46

    如何使用Arduino UNO、操纵杆模块和NRF24L01模块控制伺服电机

    文章目录参考资料:如何使用Arduino UNO、操纵杆模块和NRF24L01模块控制伺服电机1. 必需的组件2.
    发表于 06-28 09:49

    如何使用Arduino开发通过蓝牙方式控制伺服电机

    在机器人中使用伺服电机进行精确控制很常见。在本文中,我们将向您展示如何使用Arduino UNO开发
    发表于 06-28 08:01

    Arduino UNO利用电位器模拟输量输入控制步进电机调速 相关资料下载

    Arduino UNO利用电位器模拟输量输入控制步进电机调速步进电机和驱动
    发表于 06-29 08:56

    如何在arduino中利用电位器控制舵机

    如何在arduino中利用电位器控制舵机一.简介舵机是电机的一种,通上电并采取合适的方式就可以使他转动,而电位器是一种电路元件,通过扭动
    发表于 09-07 07:15

    如何使用Arduino UNO开发控制步进电机

    如何使用Arduino UNO开发控制步进电机?如何控制步进
    发表于 09-18 08:46

    请问Arduino UNO如何利用电位器模拟输量输入控制步进电机调速?

    请问Arduino UNO如何利用电位器模拟输量输入控制步进电机调速?
    发表于 10-19 06:18

    一个插入arduino uno / leonardo的屏蔽

    描述Arduino Leonardo FFB 方向盘原型护罩这是一个插入 arduino uno / leonardo 的屏蔽,用于 PCB BTS7960、编码
    发表于 07-29 07:04

    用于Arduino UNO兼容的3个步进电机控制器

    描述用于 Arduino UNO 兼容的 3 个步进电机控制器这是我想出的用
    发表于 07-29 06:38

    基于Arduino UNO和HC-05蓝牙模块控制伺服电机

    了解如何在移动设备,Arduino UNO和HC-05蓝牙模块中使用Android应用程序控制伺服电机
    的头像 发表于 04-28 15:25 4419次阅读
    基于<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>和HC-05蓝牙模块<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>

    使用Arduino Uno和POT控制伺服电机

    电子发烧友网站提供《使用Arduino Uno和POT控制伺服电机.zip》资料免费下载
    发表于 11-10 14:19 0次下载
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b>和POT<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>

    Arduino电位器控制伺服电机的位置

    电子发烧友网站提供《用Arduino电位器控制伺服电机的位置.zip》资料免费下载
    发表于 02-06 11:10 0次下载
    用<b class='flag-5'>Arduino</b>和<b class='flag-5'>电位器</b><b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>电机</b>的位置

    使用电位器Arduino实现步进电机控制

    在本篇文章中,我们将学习如何使用电位器Arduino开发板实现步进电机控制。步进电机可用于软盘驱动器、平板扫描仪、计算机打印机、绘图 仪
    发表于 03-24 11:19 1次下载
    使用<b class='flag-5'>电位器</b>和<b class='flag-5'>Arduino</b>实现步进<b class='flag-5'>电机</b><b class='flag-5'>控制</b>