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

    文章

    1554

    浏览量

    107032
  • 串口通信
    +关注

    关注

    32

    文章

    1577

    浏览量

    54865
  • 蓝牙模块
    +关注

    关注

    30

    文章

    454

    浏览量

    55115
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184839
收藏 人收藏

    评论

    相关推荐

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

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

    FCC & CE认证 蓝牙5.1协议 主从并存 低功耗蓝牙模块BLE5101# 蓝牙

    BLE蓝牙模块
    思为无线
    发布于 :2023年10月12日 09:31:13

    蓝牙模块的作用是什么?

    蓝牙模块的作用是什么? 蓝牙模块是一种用于无线通信的设备,它通过蓝牙技术实现了设备之间的无线传输。蓝牙
    的头像 发表于 09-08 11:47 2794次阅读

    将LCD模块Arduino连接

    电子发烧友网站提供《将LCD模块Arduino连接.zip》资料免费下载
    发表于 07-12 09:28 0次下载
    将LCD<b class='flag-5'>模块</b>与<b class='flag-5'>Arduino</b>连接

    Arduino新型蓝牙遥控车

    电子发烧友网站提供《Arduino新型蓝牙遥控车.zip》资料免费下载
    发表于 07-06 11:18 0次下载
    <b class='flag-5'>Arduino</b>新型<b class='flag-5'>蓝牙</b>遥控车

    DIY Arduino蓝牙控制机器人

    电子发烧友网站提供《DIY Arduino蓝牙控制机器人.zip》资料免费下载
    发表于 06-27 14:59 1次下载
    DIY <b class='flag-5'>Arduino</b><b class='flag-5'>蓝牙</b>控制机器人

    蓝牙控制的Arduino机器人

    电子发烧友网站提供《蓝牙控制的Arduino机器人.zip》资料免费下载
    发表于 06-27 10:24 0次下载
    <b class='flag-5'>蓝牙</b>控制的<b class='flag-5'>Arduino</b>机器人

    如何制作Arduino蓝牙控制的汽车

    电子发烧友网站提供《如何制作Arduino蓝牙控制的汽车.zip》资料免费下载
    发表于 06-26 10:21 0次下载
    如何制作<b class='flag-5'>Arduino</b><b class='flag-5'>蓝牙</b>控制的汽车

    Arduino蓝牙的智能咖啡机

    电子发烧友网站提供《带Arduino蓝牙的智能咖啡机.zip》资料免费下载
    发表于 06-25 11:53 0次下载
    带<b class='flag-5'>Arduino</b>和<b class='flag-5'>蓝牙</b>的智能咖啡机

    将HC-06蓝牙模块Arduino连接教程

    电子发烧友网站提供《将HC-06蓝牙模块Arduino连接教程.zip》资料免费下载
    发表于 06-25 11:24 0次下载
    将HC-06<b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>与<b class='flag-5'>Arduino</b>连接教程

    DIY转向蓝牙汽车arduino

    电子发烧友网站提供《DIY转向蓝牙汽车arduino.zip》资料免费下载
    发表于 06-14 15:12 0次下载
    DIY转向<b class='flag-5'>蓝牙</b>汽车<b class='flag-5'>arduino</b>

    使Arduino、继电器和蓝牙模块的家庭自动化

    电子发烧友网站提供《使Arduino、继电器和蓝牙模块的家庭自动化.zip》资料免费下载
    发表于 06-08 11:18 0次下载
    使<b class='flag-5'>Arduino</b>、继电器和<b class='flag-5'>蓝牙</b><b class='flag-5'>模块</b>的家庭自动化

    利用Arduino Nano制作一个四足机器人遇到HC-05蓝牙模块问题,可以用ESP8266替换Arduino吗?

    我在 Arduino Nano 的帮助下制作了一个四足机器人。但我经常遇到 HC-05 蓝牙模块的问题。所以现在我正在考虑用 ESP8266 替换 Arduino。谁能帮我这个?
    发表于 06-02 08:12

    学习一下经典蓝牙BT模块

    的双模模块。   HC05和HC06模块   本篇我们先来学习一下经典蓝牙BT模块。市面上常用的Arduino传统
    发表于 05-15 15:50

    无线通信之HC05/HC06经典蓝牙BT模块介绍

    的双模模块。   HC05和HC06模块   本篇我们先来学习一下经典蓝牙BT模块。市面上常用的Arduino传统
    发表于 05-12 17:36