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

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

3天内不再提示

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

电子设计 来源:电路城 作者:电路城 2021-04-28 15:25 次阅读

了解如何在移动设备,Arduino UNO和HC-05蓝牙模块中使用Android应用程序控制伺服电机

硬件部件:

Arduino UNO × 1个

HC-05蓝牙模块 × 1个

SG90微型伺服电机 × 1个

软件应用程序和在线服务:

MIT App Inventor 2

手动工具和制造机:

10个 跳线套件,5厘米长

面包板,170针

伺服电机是一种闭环系统,它使用位置反馈来控制其运动和最终位置。

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

RC伺服电机在相同的原理上工作。它包含一个小型直流电动机,通过齿轮连接到输出轴。

输出轴驱动伺服臂,并且还连接到电位器(电位计)。

电位计向伺服控制单元提供位置反馈,在此将电机的当前位置与目标位置进行比较。

根据错误,控制单元会校正电动机的实际位置,使其与目标位置相匹配。

通过通过信号线发送一系列脉冲来控制伺服电机。控制信号的频率应为50Hz或每20ms产生一个脉冲。脉冲的宽度决定了伺服器的角度位置,这些类型的伺服器通常可以旋转180度

控制线用于传达角度。该角度由施加到控制线的脉冲的持续时间确定。这称为脉冲编码调制。伺服器希望每20毫秒(.02秒)看到一个脉冲。脉冲的长度将决定电机旋转多远。例如,一个1.5毫秒的脉冲将使电动机转到90度位置(通常称为空挡位置)。如果脉冲短于1.5毫秒,则电动机会将轴旋转到接近0度的位置。如果脉冲长于1.5毫秒,则轴将更接近180度。

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

电路原理图:

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

首先,使用Arduino连接伺服电机。

将两个伺服电机的黑线连接到Arduino的GND将两个电机的橙色线连接到Arduino的5V将第一个电机的橙色线连接到Arduino的引脚9

首先,在没有蓝牙的情况下使用以下arduino代码测试Servo电机扫描功能:

#include 《Servo.h》

Servo myservo; // create servo object to control a servo

// twelve servo objects can be created on most boards

int pos = 0; // variable to store the servo position

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

}

}

输出结果:

之后,与Arduino建立蓝牙模块的连接。

将蓝牙模块的VCC连接至Arduino的5V将蓝牙模块的GND连接至Arduino的GND将蓝牙模块的TX连接至Arduino的Rx引脚将蓝牙模块的RX连接至Arduino的Tx引脚

用于蓝牙控制的Arduino代码:

#include 《Servo.h》

Servo myservo;

const int Pin = 9; // myservo pin3 PWM

char Text;

String Spilt;

String angle;

int pos = 0; // variable to store the servo position

int k1;

void setup() {

Serial.begin(9600);

pinMode (Pin, OUTPUT);

myservo.attach(Pin);

}

void loop() {

if(Serial.available())

{

Text = Serial.read();

Spilt = Spilt + Text;

if (Text == ‘*’) {

Serial.println(Spilt);

Spilt = Spilt.substring(0, Spilt.length() - 1); // Delete last char *

k1 = Spilt.indexOf(‘*’);

angle = Spilt.substring(0, k1);

myservo.write(angle.toInt());

delay(15);

Spilt = “”;

}

}

}上载程序后,重新连接TX和RX,并确保手机已与相应的Bluetooth模块配对。连接到Android手机的步骤如下:

打开蓝牙模块的电源,然后转到Android设备上的设置。

配对设备。在某些电话上,此步骤必须执行两次才能配对。确保准备好PIN码(大多数Bluetooth Mate的默认设置为“ 1234”)》开启两个设备的电源》在Android“设置”应用程序的Bluetooth图标下搜索模块。

将设备与手机配对后,打开BT Servo应用程序。

使用列表连接到并找到包含文本HC-05的正确设备名称。

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

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

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

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

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

责任编辑:pj

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

    关注

    85

    文章

    2027

    浏览量

    57686
  • 应用程序
    +关注

    关注

    37

    文章

    3240

    浏览量

    57593
  • 伺服器
    +关注

    关注

    1

    文章

    151

    浏览量

    19446
收藏 人收藏

    评论

    相关推荐

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

    使用伺服电机在机器人技术中很常见,以实现精确控制。在这里,在本教程中,我们将向您展示如何通过蓝牙连接将伺服
    发表于 11-16 16:19 3451次阅读
    如何使用<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>

    开源资料HC-05蓝牙模块Arduino入门参考方案

    `网上一份很不错的开源资料,HC-05蓝牙模块Arduino入门资料,现在把他分享给大家,有需要的可以下载!`
    发表于 12-25 14:00

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

    如何使用Arduino开发板控制伺服电机,这次我们使用无线蓝牙模块
    发表于 06-28 08:01

    关于HC-05蓝牙模块的介绍

    关于HC-05蓝牙模块蓝牙模块BT-HC05模块是一
    发表于 08-06 06:26

    使用带有Arduino Uno蓝牙HC-05模块控制伺服电机

    描述蓝牙伺服控制器在这个项目中,我将向您展示如何在智能手机应用程序的帮助下通过蓝牙控制伺服
    发表于 06-23 06:59

    HC-05 蓝牙模块 原理图 PCB 及指令说明

    stm32标准原理图,PCB板图;HC-05 蓝牙模块 原理图 PCB 及指令说明。
    发表于 05-20 14:28 1次下载

    如何使用HC-05蓝牙模块进行单片机通讯

    要想使用HC-05蓝牙模块进行单片机之间通讯或者单片机和蓝牙设备之间通讯,首先要配置好HC-05蓝牙
    发表于 06-18 17:44 53次下载
    如何使用<b class='flag-5'>HC-05</b><b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>进行单片机通讯

    怎样用Arduino连接电机

    类似于之前关于使用HC-05Arduino UNO的智能手机控制LED灯的文章,我们将继续通过HC-05
    的头像 发表于 08-29 09:46 1.7w次阅读
    怎样用<b class='flag-5'>Arduino</b>连接<b class='flag-5'>电机</b>

    stm32之蓝牙模块HC-05使用

    参考资料:【常用模块HC-05蓝牙串口通信模块使用详解(实例:手机蓝牙控制STM32单片机)
    发表于 11-18 11:06 63次下载
    stm32之<b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b><b class='flag-5'>HC-05</b>使用

    HC-05的使用-详细

    蓝牙转串口模块HC-05模块使用记录最近在弄一个需要无线传输数据的项目,虽然以前也接触过HC-05这个
    发表于 11-24 11:51 34次下载
    <b class='flag-5'>HC-05</b>的使用-详细

    HC-05模块使用

    是采用上电时KEY悬空,上电后再给KEY一个高电平的方式,因此此时的波特率是9600而不是38400。发送AT命令后要换行,否则蓝牙模块会认为发送的只是单纯的字符串。要将蓝牙模块设置为
    发表于 11-24 11:51 33次下载
    <b class='flag-5'>HC-05</b><b class='flag-5'>模块</b>使用

    HC-05蓝牙模块原理图下载

    HC-05蓝牙模块原理图下载
    发表于 12-02 13:37 44次下载

    自制使用HC-05蓝牙模块与手机进行通信的蓝牙控制

    这是一款使用HC-05蓝牙模块与手机进行通信的蓝牙控制车。
    的头像 发表于 08-11 14:43 6634次阅读
    自制使用<b class='flag-5'>HC-05</b><b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>与手机进行通信的<b class='flag-5'>蓝牙</b><b class='flag-5'>控制</b>车

    使用Arduino UNO R3和蓝牙模块HC 05制作门锁

    电子发烧友网站提供《使用Arduino UNO R3和蓝牙模块HC 05制作门锁.zip》资料免
    发表于 11-04 09:58 1次下载
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b> R3和<b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b><b class='flag-5'>HC</b> <b class='flag-5'>05</b>制作门锁

    基于HC-05蓝牙模块控制16x2 LCD显示屏

    电子发烧友网站提供《基于HC-05蓝牙模块控制16x2 LCD显示屏.zip》资料免费下载
    发表于 06-30 15:05 2次下载
    基于<b class='flag-5'>HC-05</b><b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b><b class='flag-5'>控制</b>16x2 LCD显示屏