手机蓝牙操控Arduino二例

来源 :电脑报 | 被引量 : 0次 | 上传用户:UltraUnAsm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在数据通信方面,Arduino UNO通常情况下是通过数据线与计算机的USB接口相连,比如从Arduino IDE中上传编译好的程序代码;而位于数字引脚0(RX)和1(TX)的串口通信,一般是通过Serial.println()函数在串口监视器中进行提示信息或传感器所读取数据的实时显示。如何进行数据的无线通讯呢?以蓝牙传输为例,借助于HC-05蓝牙模块,我们可以实现手机操控Arduino的功能,比如控制LED灯的亮与灭、风扇模块的“无级变速”。

1.Arduino蓝牙LED灯


  实验器材包括:Arduino UNO主板一个,面包板一个,HC-05蓝牙模块一个,蓝色LED灯一支,10kΩ和20kΩ的色环电阻各一个,杜邦线若干。
  对照设计好的电路接线图(如图1),进行元器件的连接。首先,将Arduino的5V引脚和GND接地引脚通过红色和黑色杜邦线分别与面包板的红色、蓝色侧边线槽连接;接着,将蓝色LED灯插接到面包板上,负极(短腿)接入蓝色线槽,正极(长腿)通过杜邦线(蓝线)连接至Arduino的13号数字引脚;HC-05蓝牙模块共有六个引脚(仅使用其中的四个),先将VCC端和GND端分别接入面包板的红色和蓝色线槽,由于蓝牙模块的标准工作电源是3.3V,因此需要借助两个电阻进行“分压”——从蓝牙模块的RXD端通过杜邦线(黄色)插接至面包板,其中的一端经10kΩ的电阻与Arduino的TXD(1号)连接,另一端经20kΩ的电阻与面包板的蓝色线槽(GND)连接;蓝牙模块的TXD端,则通过杜邦线(绿色)与Arduino的RXD(0号)进行连接;最后,通过数据线将Arduino与计算机的USB接口进行连接。



  在Arduino IDE中进行程序代码的编写:
  首先进行变量的定义,语句“int BlueLED = 13;”的作用是声明蓝色LED灯的连接引脚是13号,并且通过语句“char serialBlueLED;”来定义一个字符型的变量,其作用是用来存储蓝牙串口数据;在setup()函数中,先通过语句 “Serial.begin(9600);”来设置串口监视器的波特率為9600bps,再通过语句“pinMode(BlueLED, OUTPUT);”将蓝色LED灯的引脚设置为输出工作模式;在loop()函数中,建立一个实时检测是否有串口数据传输的while()循环:“while (Serial.available() > 0)”,通过语句“serialBlueLED = Serial.read();”将读取到的蓝牙串口传输数据赋值给变量serialBlueLED;然后建立“if…else if…”双分支选择结构,对变量serialBlueLED的值进行是否为“1”或“0”(均为字符型)的判断,是“1”的话,执行两个“动作”:“Serial.println("收到指令:点亮13号蓝色LED灯!");”(在串口监视器显示提示信息)、“digitalWrite(BlueLED, HIGH);”(控制蓝色LED灯发光);是“0”的话,则执行另外两个“动作”:“Serial.println("收到指令:熄灭13号蓝色LED灯!");”、“digitalWrite(BlueLED, LOW);”(熄灭蓝色LED灯);最后添加一个2秒钟的延迟语句:“delay(2000);”,将程序保存为BlueToothLED(如图2)。



  注意,程序编译后不要直接上传至Arduino,因为蓝牙模块占用了Arduino的RX(0号)和TX(1号),直接上传会出现“Problem uploading to board”错误。解决方法是暂时将两条杜邦线从Arduino上拔出后再进行上传,上传成功后再原样插回即可,此时蓝牙模块的红色LED灯就会一直闪烁,处于等待连接状态中;在手机中下载并安装Arduino bluetooth controller_v1.apk(apk文件可扫码关注“壹零社”在编程相关中下载),运行程序进行蓝牙连接(首次使用时会先进行“配对”),点击“HC-05”项后会弹出四个连接选项,选择其中的第二项“Switch mode”(开关模式),接着点击弹出按钮右上角的“齿轮”设置项,将绿色和红色两个开关的值分别设置为“1”和“0”(如图3)。



  打开Arduino程序的串口监视器,然后在手机中就可以不断点击两个开关按钮进行LED灯的控制了,同时会在串口监视器中对应出现“收到指令:点亮13号蓝色LED灯!”或“收到指令:熄灭13号蓝色LED灯!”的提示(如图4)。


2.Arduino蓝牙变速风扇


  在蓝牙LED灯的电路接线图中稍作改动(如图5),将LED灯及对应的杜邦线拆除,保持蓝牙模块和分压电路不变,将风扇模块接入:VCC和GND端分别接入面包板的红色和蓝色线槽,信号控制端通过杜邦线连接至Arduino的3号数字引脚。



  在Arduino IDE中进行程序代码的编写:
  首先进行变量的定义,语句“int FANPin = 3;”的作用是声明风扇模块的连接引脚是3号,并且通过语句“int serialFAN;”定义serialFAN变量,作用是存储蓝牙串口控制风扇模块的数据;在setup()函数中,仍然是通过语句 “Serial.begin(9600);”设置串口监视器的波特率为9600bps;在loop()函数中,仍然建立一个实时检测是否有串口数据传输的while()循环:“while (Serial.available() > 0)”,通过语句“serialFAN = Serial.parseInt();”将读取到的蓝牙串口传输数据赋值给变量serialFAN;然后在串口监视器中进行提示信息和变量serialFAN数据的输出显示:“Serial.print("3号风扇模块的转速为:");”、“Serial.println(serialFAN);”;接着,通过语句“analogWrite(FANPin, serialFAN);”向風扇模块的信号引脚写入一个0-255之间的数据,作用是控制输出对应的PWM值,即不同的转速;最后,再添加一个2秒钟的延迟语句:“delay(2000);”,将程序保存为BlueToothFAN(如图6)。



  同样,程序编译后不要直接上传至Arduino,仍然是将插接在RX和TX引脚的两条杜邦线从Arduino上拔出后再进行上传,上传成功后再恢复连接;然后在手机中再次运行Arduino bluetooth controller进行蓝牙连接,点击“Connect in”页面四个连接选项中的第四项“Terminal mode”(终端模式),此时就可以在下方的输入框中进行测试:数值越小,风扇模块的转速就越低(50以下不启动),比如输入“127”后,风扇模块就是中等速度,“255”则是最高速,“0”就是关闭风扇模块(如图7)。



  此时,在串口监视器中会显示有“3号风扇模块的转速为:127”的提示信息,与手机端的Arduino bluetooth controller控制界面是同步显示的;同时,风扇也会根据这个数值的大小来调节自身的转速,实现“无级变速”的功能(如图8)。


其他文献
摘要:为了更好的对优质护理服务,对前列腺增生患者护理质量产生的影响进行调查。我们选择了一个合适的医院,对里面的100例病人进行调查和信息采集。并以这100例病人为例,将其分组,通过对比观察优质护理服务对前列腺增生患者护理质量产生的影响。在一段时间之后,根据两组患者病情的康复程度来综合分析优质服务对前列腺增生患者护理质量的影响。  关键词:优质服务;临床护理;康复情况  引言:前列腺增生症,在中老年
期刊
摘要:目的:讨论分析延续性护理对类风湿性关节炎伴骨质疏松患者疼痛及生活质量的影响。方法:随机抽取100例类风湿性关节炎伴骨质疏松病人,时间为2018.10-2019.10,随机分组为对照组与观察组,对照组进行常规护理,观察组给以延续性护理,各组50例,对比观察患者疼痛症状和生活质量各项指标。结果:护理后,观察组疼痛评分低于对照组且差异有统计学意义(P<0. 05):观察组生活质量评分高于对照组且差
期刊
在9月15日的蘋果新品发布会上,全新版本的iPad mini正式亮相。新一代iPad mini不仅采用了全新的全面屏设计,还配备了最新的A15仿生处理器,受到了不少用户的青睐。  目前iPad mini 6已经正式开售,第一批用户已经体验了一段时间,并反馈了一些产品质量问题,其中最受网友关注的要数“果冻屏”问题。有不少iPad mini 6用户反映称,自己的iPad mini 6在竖屏使用时出现左
期刊
飞机的地面效应飞机在降落时难以着地,起飞时难以升空,常常要在跑道上“漂浮”一段时间  大家平时在搭乘飞机的时候,有没有注意到一个奇怪的现象,那就是飞机在降落前,会在跑道上“耽搁”很长时间,这是为什么呢?实际上,这是一种著名的物理现象,并且还被用于制造被称为“怪物”的军用飞行器。今天我们就一起来了解一下每位乘客都曾遇到过,但很少有人了解的“地面效应”。  据美国海军学院介绍,在起飞和降落时,飞机常常
期刊
摘要:目的探究社区康复护理路径在老年脑梗塞致偏瘫患者治疗中的应用效果。方法选取老年脑梗塞致偏瘫患者进行研究,共计72例,其中36例是参照组,另外36例是研究组。参照组实施常规护理,研究组实施社区康复护理路径。结果研究组护理后日常生活能力评分优于参照组,(P<0.05)。对于护理后生活质量评分,研究组更优(P<0.05)。结论老年脑梗塞致偏瘫患者实施社区康复护理路径,有效提高日常生活能力,改善患者的
期刊
摘要:目的:观察眼科护理风险管理中PDCA循环的应用效果。方法:选择2020年1月~2020年12月在本院眼科就诊的患者130例,随机分组,观察组与对照组各65例,对照组护理风险管理常规开展,观察组应用PDCA循环,观察管理效果。结果:观察组护理风险事件发生率低于对照组,护理质量评分高于对照组,差异显著(P0.05)。  1.2方法  对照组护理风险管理按照常规方法进行;观察组护理风险管理应用PD
期刊
摘要:目的:探究将人性化护理干预用于静脉输液治疗中对降低不良事件发生率的影响。方法:选取于2020年2月份至2020年12月份在医院中接受静脉输液治疗的患者的78例,随机分组法,每组39例。常规护理法用于对照组,人性化护理干预法用于观察组。结果:观察组不良事件发生率低于对照组,护理满意度高于对照组(P0.05)。  1.2方法  对照组,行常规护理法,对患者的病情变化情况进行观察,加强针头护理,开
期刊
虚拟人的综艺秀  一项名叫Alter Ego(第二自我)的综艺节目预告近期在社交平台上掀起了波澜,这个号称全球首个虚拟人的歌唱比赛由美国FOX(21世纪福克斯)出品,9月22日已经首播。  节目的形式类似蒙面歌王,即选手隐藏起自己的面容站在舞台上演唱并由评委和观众打分。只不过以前歌手们用的是面具隐藏身份,现在用的是更高级的虚拟人替身,每个登上舞台的虚拟人,背后都是一名真实的参赛选手。  在后台利用
期刊
现在正值开学季,很多学子都在盘算着买台性价比高,体验好的笔记本电脑。不过很多学子特苦恼:笔记本电脑涨价太多,有些机型严重缺货,不好买。而某些电商平台上,第三方商家的价格异常混乱,有些高得离谱,导致部分学子想买也不敢买,也买不起。这都啥年代了,买台电脑为什么这么难呢?  其实,开学购机没大家想的那么困难,大家不要只盯着极个别热门机型,而且尽量多看几个电商平台,你会发现美好的事物还是比比皆是的!  另
期刊
摘要:目的:分析扩张型心肌病并心衰患者治疗过程中实施综合护理的效果。方法:择取2018年7月至2020年6月在本院进行治疗的扩张型心肌病并心衰患者作为观察对象,总计选取180例,依据随机分组原则将其分成研究组和常规组,两组均包含90例患者。常规组患者接受传统护理,研究组患者接受综合护理,分析两种护理措施的效果。结果:与常规组相比,研究组患者的心功能分级更优,焦虑抑郁心理评分更理想(P0.05)。 
期刊