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

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

3天内不再提示

Arduino篇—如何使用蓝牙模块

冬至子 来源:X的创客课堂 作者:MRXY 2023-11-02 10:55 次阅读

课程目标

  • 了解蓝牙模块及其通信原理
  • 学习如何实现手机arduino及蓝牙模块之间的通信过程
  • 实现手机控制小车运动

相关知识

  • **蓝牙:**是一种支持多个设备之间短距离通信(一般10m左右)的无线电技术。

蓝牙的特点:

1、蓝牙技术的适用设备多,无需电缆,通过无线使电脑和电信连网进行通信。

2、蓝牙技术的工作频段全球通用,适用于全球范围内用户无界限使用。

3、蓝牙技术的安全性和抗干扰能力强。

4、传输距离较短。

5、通过跳频扩频技术进行传播

**蓝牙串口模块:**蓝牙串口模块是基于SPP协议(Serial PortProfile),能在蓝牙设备之间创建串口进行数据传输的一种设备,广泛应用在具有蓝牙功能的电子设备上。

图片

蓝牙串口模块通信模型:

图片

电路搭建

所需材料

ArduinoUNO * 1
HC-05蓝牙串口模块 * 1
LED * 1
杜邦线若干

电路连接

图片

程序编写

练习一:手机控制LED亮灭

根据上面的电路接线图,编程实现通过手机发送指令,来控制LED的亮和灭。

图形化方式:

图片

代码方式:

/* 项目名称:手机控制LED
 * 项目时间:2022.03.30
 * 项目作者:MRX
 */
int LedPin = 7;
void setup()
{
 Serial.begin(9600);
 pinMode(LedPin,OUTPUT);
}

void loop()
{
  while(Serial.available())
   {
     char Bluetooth=Serial.read();
      if(Bluetooth=='a')
        {
          Serial.println("Turn ON");
          digitalWrite(LedPin,HIGH);
        }
      if(Bluetooth=='b')
        {
          Serial.println("Turn OFF");
          digitalWrite(LedPin,LOW);
        }
   }
}

手机端设置:

APP初始界面:

图片

设置流程:

图片

图片

连接完成后,在命令行进行对应的指令输入,那么就可以发现LED能够根据预设的指令进行变化了。

练习二:蓝牙小车

实现通过手机蓝牙输入指令来控制小车进行对应的运动控制。

电路连接:

图片

图形化方式:

图片

代码方式:

/* 项目名称:蓝牙控制小车运动
 * 项目时间:2022.03.30
 * 项目作者:MRX
 */
int IN1 = 2;   // IN1 connected to pin 4
int IN2 = 4;   
int ENA = 3; 
int IN3 = 6;   // IN3 connected to pin 6
int IN4 = 7;   
int ENB = 5;  
int value = 255;   // the duty cycle


void Forward() {
  digitalWrite(IN1,HIGH);
  digitalWrite(IN2,LOW);
  analogWrite(ENA,value);
  digitalWrite(IN3,HIGH);
  digitalWrite(IN4,LOW);
  analogWrite(ENB,value);
}


void Back() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,value);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB,value);
}


void Right() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,value);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB,0);
}


void Left() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,HIGH);
  analogWrite(ENA,0);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,HIGH);
  analogWrite(ENB,value);
}


void Stop() {
  digitalWrite(IN1,LOW);
  digitalWrite(IN2,LOW);
  analogWrite(ENA,0);
  digitalWrite(IN3,LOW);
  digitalWrite(IN4,LOW);
  analogWrite(ENB,0);
}


void setup(){
  Serial.begin(9600);
  for (int i = 4;i <= 10;i++){
    pinMode(i, OUTPUT);
    }
}

void loop(){
  while(Serial.available())
   {
     char Bluetooth=Serial.read();
      if(Bluetooth=='a')
        {
          Serial.println("Forward");
          Forward();
        }
      if(Bluetooth=='b')
        {
          Serial.println("Bback");
          Back();
        }
        if(Bluetooth=='c')
        {
          Serial.println("Left");
          Left();
        }
        if(Bluetooth=='d')
        {
          Serial.println("Right");
          Right();
        }
        if(Bluetooth=='e')
        {
          Serial.println("Stop");
          Stop();
        }
   }  
}

手机APP设置:

图片

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

    关注

    22

    文章

    1592

    浏览量

    107841
  • 串口通信
    +关注

    关注

    34

    文章

    1620

    浏览量

    55426
  • 蓝牙模块
    +关注

    关注

    30

    文章

    565

    浏览量

    55691
  • Arduino
    +关注

    关注

    187

    文章

    6464

    浏览量

    186665
收藏 人收藏

    评论

    相关推荐

    蓝牙模块如何实现单片机和手机端数据互传

    蓝牙模块实现单片机和手机端数据互传的过程可以分为以下几个步骤: 硬件准备 : 确保你有一个支持蓝牙通信的单片机开发板,如Arduino、Raspberry Pi等。 准备一个兼容的
    的头像 发表于 07-24 17:59 2150次阅读
    <b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>如何实现单片机和手机端数据互传

    什么是蓝牙芯片?蓝牙芯片和蓝牙模块的区别

    蓝牙芯片是集成蓝牙技术的微型元件,用于设备间无线连接。蓝牙模块基于芯片,简化蓝牙系统设计。芯片成本低但开发难,
    的头像 发表于 07-18 16:48 2034次阅读
    什么是<b class='flag-5'>蓝牙</b>芯片?<b class='flag-5'>蓝牙</b>芯片和<b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>的区别

    蓝牙模块的工作原理与电路设计

    蓝牙技术是一种短距离无线通信技术,广泛应用于各种智能设备中,如手机、耳机、智能手表等。蓝牙模块作为实现蓝牙通信的核心部件,其工作原理和电路设计对于
    的头像 发表于 06-14 16:04 1422次阅读

    低功耗蓝牙蓝牙Mesh模块的区别与关系

    低功耗蓝牙模块蓝牙Mesh模块的区别与关系 蓝牙Mesh并非无线通信技术,而是一种网络技术。蓝牙
    的头像 发表于 05-30 11:13 727次阅读

    蓝牙模块怎么使用?一全面指南!

    一、引言 在这个数字化时代,蓝牙模块已经渗透到了我们日常生活的方方面面。它为各种设备提供了无线连接的可能性,极大地增强了我们的便利性和效率。那么,蓝牙模块怎么使用呢?本文将为你提供一份
    的头像 发表于 05-29 13:53 2246次阅读

    WiFi模块蓝牙模块怎么区分?

    近些年,物联网技术越来越先进,给人类生活带来了巨大的便利。智能家居、智能家电点点滴滴都是科技进步的写照。物联网离不开WiFi蓝牙技术,不少设备厂商在蓝牙模块和wifi模块之中犹豫不定,
    的头像 发表于 05-29 10:14 806次阅读
    WiFi<b class='flag-5'>模块</b>和<b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>怎么区分?

    蓝牙模块选型之蓝牙功能

    蓝牙模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,蓝牙模块将芯片和外围硬件电路集成到一个PCB上,开发出所需的内置程序实现
    的头像 发表于 05-28 17:48 649次阅读
    <b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>选型之<b class='flag-5'>蓝牙</b>功能

    蓝牙模块唤醒原理是怎样的?

      随着科技的发展,蓝牙技术已经广泛应用于各种设备,如智能手机、平板电脑、智能手表等。蓝牙模块作为一种重要的通信手段,为我们的生活带来了极大的便利。然而,蓝牙
    的头像 发表于 05-27 15:52 1292次阅读
    <b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>唤醒原理是怎样的?

    什么是经典蓝牙模块

      什么是经典蓝牙模块? 前面我们已经就蓝牙模块的概念做了了解,随着时间的推移,产品越来越智能,需要的蓝牙
    的头像 发表于 05-24 14:52 455次阅读
    什么是经典<b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>?

    单模蓝牙模块和双模蓝牙模块指的是什么意思?它们之间有什么区别呢

    单模蓝牙模块和双模蓝牙模块指的是什么意思?它们之间有什么区别呢  单模蓝牙模块和双模
    的头像 发表于 01-15 14:59 4781次阅读

    WiFi蓝牙模块厂家:选购蓝牙模块的10大注意事项

    目前市场上有很多不同尺寸、类型的蓝牙模块可供选择,但很多智能设备厂商都会苦恼于如何选购适合自己产品的蓝牙模块。其实,选购蓝牙
    的头像 发表于 01-02 10:09 686次阅读