单片机 蓝牙模块 单片机连接LED灯

如何用蓝牙控制led灯?
输入手机号码,报价结果将发送到您手机
装修顾问-馨馨
4年行业经验,24h可咨询
10秒闪电通过好友
报价短信已发送到您的手机
因材料品牌及工程量不同,具体报价以量房实测为准
稍候装修管家将回电您,免费提供装修咨询服务
您的装修预算约
*装修管家将回电您,免费提供装修咨询服务
*装修管家将回电您,免费提供装修咨询服务
*因材料品牌及工程量不同,具体报价以量房实测为准
装修顾问 -馨馨
(四年装修行业经验)
微信扫一扫
3.&您家小区名称 :&&
请选择您家的装修时间
如何用蓝牙控制led灯?
提问者:尹宏博|
1224次浏览|
我来帮他解答
还可以输入1500字
已有3条回答
回答数:8750
| 被采纳数:14
首先,如果实现智能控制必须是有发射端和接收端,手机不用说已经有蓝牙功能了,问题是你的LED灯有没有蓝牙模块,如果有的话,就可以实现。估计我的回到解决不了你的问题,但是提醒一下你的就是,无线控制技术可以分为wifi、zigbee、和蓝牙。蓝牙技术相比前面两个落后多了!
回答数:32256
| 被采纳数:15
1、购买蓝牙模块。单片机通过串口与蓝牙模块通信(大部分蓝牙模块还带有sdio口,你也可以用这个口语模块通信,换汤不换药)。配对之后模块相对与单片机而言就是一条串口线。
2、如果你要用手机控制。手机端需要写个应用程序,通过手机的蓝牙与接在单片机上的蓝牙模块通信。当然你要用手提电脑或者其它蓝牙设备控制也可以,前提是设备上可以安装应用程序
希望可以帮到你!
回答数:2979
| 被采纳数:6
蓝牙连接相关程序设计
首先,初始化本地蓝牙设备,建立LocalDevice类,包括取得本地设备实例、蓝牙名称、设置发现模式、获得发现代理。创建public int BTS_Init()类函数,实现蓝牙初始化判断,寻找默认蓝牙设备,打开蓝牙。
启动蓝牙设备搜索,创建类函数,开始寻找从机蓝牙设备,注册搜寻函数,创建类函数,实现连接到一个指定的蓝牙设备。
创建类函数实现字符串发送到已连接好的蓝牙设备上,创建类函数结束蓝牙通信,最后创建接收ACTION_FOUND广播。
4.2 控制信号相关程序设计
首先创建一个用于控制信号的类里面包含创建界面的类函数。
创建类实现资源加载线程,里面创建用于四路信号之间转换的类函数,实现与蓝牙程序接口的public void run()线程体,用于软件退出的类函数。
希望我的回答可以帮到你哦~自制基于52单片机的变色蓝牙灯_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
自制基于52单片机的变色蓝牙灯
电子工程师|
总评分0.0|
用知识赚钱
&&采用低功耗蓝牙4.0模块,进行手机蓝牙连接,即可实现有趣的蓝牙灯,(LED选用RGB灯,可显示多种颜色,还有呼吸灯哦!)
不懂请留言。
试读已结束,如果需要继续阅读或下载,敬请购买
定制HR最喜欢的简历
你可能喜欢51单片机温湿度蓝牙学习板DIY设计灯光控制手机APP显示
我的图书馆
51单片机温湿度蓝牙学习板DIY设计灯光控制手机APP显示
当前智能家具趋势化明显,利用蓝牙与单片机之间的相互通讯已经成为越来越多的用户产品开发的新选择。本次我们设计出一款好玩的51,开发板集成了蓝牙模块,板载温湿度传感器和LED灯。利用开发的手机APP对51单片机板进行温湿度识别显示,手机APP按键对LED灯进行开关操作。并可以反馈LED灯状态,学习单片机串口并了解手机APP设计是非常不错的一款板子。& && &板子只有巴掌那么大,50*50mm的板子丝毫没有影响板子的功能,引出单片机的P1,P2IO口,并给出电源和地多余管脚。用户可以对多余的IO口进行操作,比如外接一些传感器并进行DIY扩展。& &此板是学习单片机与手机蓝牙通讯的最佳选择,你如果是一个DIY爱好者,可以购买此板研究室内温湿度并利用板子多余的IO口进行多功能扩展。可以对手机APP进行扩展达到更多的实用性功能。如果你是在校大学生,如果对计算机与单片机的之间兴趣浓厚,此板也是你的不二之选。利用此板我们可以立刻掌握单片机串口,原来蓝牙也是那么简单容易操作。如果你是即将毕业的大学生,想要有更多的案例来参考设计,此板也是你的不二之选。设计新颖,功能丰富。可以很好的表达智能家具的思维,并可以为你的设计更加的加分。& & 此板将公开单片机原理图,单片机源码,安卓APP源码给到客户进行使用参考。用户可以利用我们的代码更好的入手单片机相关的基础知识,串口蓝牙相关的设计以及手机APP相关设计,将着实为你的生活添加更多丰富多彩的生活。为了让用户更多的体验并入手操作开发板,我们将板子的LED端口的IO口预留没有接线,用户可以利用自己的电子知识进行连线,并操控进行代码更改。& &开发板上电靓照,麻雀虽小,但是功能齐全,可靠稳定。51单片机板与蓝牙模块,相容很好蓝牙模块插在板子上,简单的一套智能家具板,就这样出来了。& & 手机端APP,我们利用手机可以查看当前环境的温湿度信息以及通过按键对板载LED进行控制。并对板子的LED灯状态进行反馈,注意,图片上的灯泡亮与否,是从单片机获取的哦,而不是人为加载的,体现了互通互联的功效。 单片机代码一目了然,最简洁的,没有过多的冗余,让我们快速入门。
APP代码采用Eclipse软件进行开发,程序注释很详细,学习安卓毫不费力。
资料共享,有兴趣的,可以自己动手DIY一个,学习学习APP开发。板子购买链接:
33.64 KB, 下载次数: 133
602.08 KB, 下载次数: 196
74.08 KB, 下载次数: 131
馆藏&131943
TA的最新馆藏
喜欢该文的人也喜欢还没有帐号? 赶紧
用户版块帖子
1到第17) ? 17 :
location='read.php?tid=534747&page='+page+'';}">页17) ? 17 :
location='read.php?tid=534747&page='+page+'';">确认
小七更新啦:通俗话教你单片机之【串口】篇,有蓝牙控制技术哦!
UID:699070
在线时间868小时
M币12264专家105
  Hi !大家好 , ,小七已经有半年没有更新了,主要是平时学习忙,没有时间静下心来写,所以就趁着这个寒假,更新一下,希望大家能继续支持小七哦!由于接下去的内容会比较复杂,有时候需要想很久才憋得出几个字,所以帖子就不连载了,说到什么就单独发帖吧,这样大家找起来也比较方便,嘿嘿~~
  这次我们来学习串口通信。串口跟USB一样也是一种接口,只不过它不叫USB而是叫COM口。一般的单片机里面都集成了串口这玩意儿,有了串口,我们的单片机就可以跟其他拥有串口的设备进行通信了,我们的电脑也有串口,稍微老些的的主板直接在主板后面提供了串口接口,而目前的主板一般只在主板上做成排针,用到的时候需要引出来才可以用(电脑的串口需要做电平转换才能和单片机进行通信哦!如果是用USB转串口 的方式就不需要啦)。
  串口就相当于我们平时使用的快递,把这边的数据传送到别的地方去,当然啦,用串口不花钱,用快递是要花钱滴~~   比如说电脑上有串口,因此我们可以把单片机采集到的信息(比如温度,压力或者其他数据)快递给电脑,在电脑上显示或者是运用这些信息进行处理。比如我们要做一个电池测量仪,我们把单片机采集到的电池电压和电流信息申通快递到电脑端,由电脑端进行显示并记录,最后算出电池的容量以及电池的放电曲线等等,同样,我们也可以运用一些传感器,测量我们的体温,脉搏等信息并反馈给电脑,由电脑进行计算,分析你的身体状况,是不是很酷呀?   既然能把信息通过串口传给别人,那么自己肯定也能接收到别人传给自己的信息啦!假设我在电脑上做了个小软件,点一下这个按钮就会通过串口给单片机发送一段命令,单片机收到后执行它,比如说我点一下按钮,电脑就会通过串口给单片机发送一个开灯的命令,单片机收到开灯命令后就控制继电器的闭合来达到把电灯打开的效果,点击另一个按钮,就会启动电视机,洗衣机,甚至是工厂的设备,如果结合网络,我甚至可以在千里之外控制这些设备,是不是更酷啦?     好了,废话了一堆,下面讲讲该怎么使用串口与别的设备进行通讯。在单片机中,串口是标有TXD 和 RXD 的引脚,像 STC11F02E 单片机的就是第二(P3^0)和第三引脚(P3^1),TXD 是用来发送信息的,就像你发快递时,快递单上填写的发送人一栏,RXD 是用来接收信息的,就相当于收件人啦!因此发送设备的发送端口 TXD 要接到接收设备的接收端口 RXD,假如你发现无法通信,查了半天程序发现没错啊,没准是线没接对哦!除了这两根线,公共地 GND 也要接上才行撒~~也就是说,完成串口通信需要接3根线,TXD、RXD、GND。
  在单片机中,串口是通过一个寄存器来控制的,我们可以把这个寄存器看做是8个叫做 SM0 、SM1 、SM2、 REN 、TC8、 RB8 、TI、RI 的开关。
     其中 SM0 和 SM1 的配合用来控制串口的工作方式的
  我们平时比较常用的是 方式1 即 SM0=0,SM1=1的时候,其他方式小七就不解释了,大家感兴趣可以百度一下。   有时候呢,会有一种情况,外部有信息通过串口传过来(也就是快递到啦),可是我们并不想接收它,怎么办呢?这里有一个开关来是用来控制串口是否允许接收数据的,这个开关就是 REN ,当REN=0时,禁止串口接收外部传来的信息(拒签快递),当REN=1时,允许接收。   串口里面有个 串口发送中断请求标志 TI ,它就相当于显示快递的状态,我们用串口把数据传出去,如果数据已经传完了(收件人已经签收),那么这个 TI 标志的值就会变成1,并产生一个中断告诉你数据已经发送完了(发短信通知你对方已经签收),这时你必须把 TI 清零才行,不然它会一直产生中断,烦死你.....同理, RI 是串口接收中断请求标志,当数据接收完时也会变成 1 ,也需要你对它进行清零。当然了,上面所说的中断必须要有 ES(串行口中断允许)这个总开关同意才行,也就是说,当快递送到了,TI会变成1,但要不要短信通知你,就需要ES 这个开关来设定。ES =1 时允许串口收到或者发送完数据后产生中断(短信通知),ES=0 时发送或接收到数据后不会产生中断(不通知)。   一旦数据发送(接收)完成,TI(RI)总会变为1的,所以要想知道快递有没有送到,除了让送快递的通知,我们也可以上网查呀!当我们查到TI=1时,就说明数据已经发出去了,当查到RI=1时,就说明数据已经接收完毕。   就像快递一样,有的很快,也有的很慢。我们把串口通信的速率叫做波特率,即一秒钟能传多少数据,波特率越高,数据传得也就越快,当然也不是越高越好啦,就像我跟你讲话一样,我用一般语速跟你讲,你听得很明白,要是我用非常高的语速跟你讲,你就听不清了,所以我们要约定通信的速率,当发送端和接收端的速率都一样时,两者才可以正常的通信。     通常我们用 9600 的波特率进行通信,高点低点都无所谓啦。这个波特率是用工作在方式2的定时器(自动重装初始值)来产生的,在这里小七提供一个小工具来便捷的计算,如果你想知道是怎么算的,可以百度撒~~波特率的大小跟晶振的大小有关,而12MHZ的晶振不太好计算,所以我们经常使用的是 11.0592MHZ 的晶振,当我们用9600波特率时,算出来的定时器初始值就是 0xFD。   
波特率      定时器初始值1;    0xFD ;   0xFD ;    0xFA ;    0xF4 ;    0xE8
  串口通信里面有一个叫做 SBUF 的仓库(寄存器),它存放着你将要发送出去或者接收到的快递(数据),当我们这样写 SBUF = seven 时,就是把 seven 这个变量的数据放到 SBUF 里并通过串口传出去,而 seven = SBUF 呢,就是串口收到内容后,把它存到了SBUF里面,我们把SBUF里面的内容赋值给 seven 这个变量就可以读出数据了。   好了,该说的都说了,下面开始写程序了。由前面知道,在使用串口通信之前,应该对串口进行设置,比如设定串口的工作方式,通信速率等等,工作方式前面说了,我们经常使用的是工作方式1,即   SM0=0,SM1=1
  工作方式确定好后设定通信的速率,而通信的速率是通过设定定时器来完成的,   TMOD = 0x20 //设定定时器的工作方式(方式2)   即可设定定时器工作在自动重装初始值的状态(忘了?返回去看看上一个帖子的定时器部分),假若我们设定速率为 9600 bps ,那么定时器的初始值就是 0xfd ,然后启动定时器,这样串口就以9600的通信速率开始工作了,即   TH1 = 0xfd        //给定时器装初始值  TL1 = 0xfd  TR1 = 1        //启动定时器   串口是开始工作了,但是我们需要当它接收或者发送完数据时产生一个中断告诉我们,不然我们不知道有没有数据发送过来,所以我们还要把ES 这个串行口中断允许开关,和总断总开关 EA打开才行,即
  ES = 1  EA = 1   这样,当串口收到消息时它就会产生中断通知我们,就像我们的快递到了,快递员会给你打电话一样。下面开始写一个例子,当收到从电脑端发送过来的小写字母 a 时,点亮蓝色的LED,并通过串口把大写字母 A 发送回去,如果不是小写 a 则点亮红色的LED,并把大写 B 发回去。
完整的程序如下:#include &reg52.h&  sbit led1 = P1^7;    //定义白色LED 引脚  sbit led2 = P1^6;    //定义红色LED 引脚    void com_ser() interrupt 4    //串口中断处理函数,收到数据后产生中断,在这里处理  {              //定义一个变量,用来存放电脑端发来的数据            if(RI)                    //如果数据已经接收完,即RI=1      {            RI=0;                //对RI进行清零            temp = SBUF;        //把收到的数据赋值给变量(注意接收的写法)       }         if(temp=='a')        //判断收到的数据是不是小写的 a            {                  SBUF = 'A';        //是,则把大写的 A 发送给电脑端(注意发送的写法)                  led1 = 0;        //并点亮白色LED            }                else                //如果不是字母 a      {         SBUF = 'B';        //把 B 发给电脑端,也可以 SBUF = temp 把temp的值发回去         led2 = 0;        //并点亮红色LED      }      while (!TI);            //判断数据是否发送完毕,即TI=1,没发完就在这等待      TI = 0;                    //发送完后对TI进行清零  }    void main()                    //主函数  {     /******************设定定时器*********************/      TMOD = 0x20;            //设定定时器的工作方式(方式2)      TH1  = 0            //设定波特率为 9600 bps (在11.0592MHZ晶振时)      TL1  = 0       /*******************设定串口**********************/      SM0  = 0;                //SM0 和 SM1 设定串口的工作方式(方式1)      SM1  = 1;      REN  = 1;                //允许串口接收外部传来的数据       /******************设定中断**********************/      ES   = 1;                //允许串口收到数据后产生中断通知我们      EA   = 1;                //因为总中断开关是控制所有中断的,所以要把它打开        TR1  = 1;                //启动定时器,串口就开始工作喽!        while (1);                //什么都不做,在这等串口的中断产生  }   程序写好后编译,我们依旧用 STC 11F02E 这个单片机,当然了,你使用别的单片机也行。由于我们的串口需要接上 11.0592MHZ 的晶振,所以我们要在单片机的 XTAL 引脚接上这个晶振,并根据程序的定义,在相应的引脚上接上 LED 。
  电路完成后,接上USB转串口数据线 ,打开下载软件,勾选  下次冷启动后使用外部晶振。
  下载完成后在右边找到
串口助手 ,并按框框的设置好电脑串口的波特率,发送一个小写的 a 试试,可以发现白色LED 被点亮了,并且在接收区接收到了一个大写字母 A      如果我们发送的不是 a ,比如说 7 ,那么红色的LED就会被点亮,同时电脑端会收到一个大写字母 B   
  这样我们就可以通过电脑的串口与单片机通信啦,是不是很好玩啊?假如我们把发光二极管替换成继电器,那么我们就可以用继电器控制电灯,电视机,电冰箱……
  什么?!!你竟然说这还不算好玩?那我们就来玩些让别人听上去好像感觉很厉害的样子,但是实现起来却很简单的技术:蓝牙控制技术!   这是淘宝花了25块多买的蓝牙模块,输出的可是串口哦!程序依旧不变,变的只是把数据线的TXD RXD GND 替换为蓝牙模块的 TXD RXD GND 而已,注意蓝牙模块的工作电压是3.3V~~不能接5V给它哦,所以你要做个3.3V稳压电路,一般的USB转串口数据线都会有3.3V输出的,接上去就好了,如果没有就用3.3V稳压管做一个吧。
  小七用的是安卓手机,有一个软件叫做 蓝牙串口调试软件 ,大家可以在网上找得到的。  打开蓝牙模块的电源,打开蓝牙串口调试软件,搜索到你的蓝牙模块后并连接      连接好后我们就可以通过手机的蓝牙给蓝牙模块发送信息了,而蓝牙模块收到信息后,又会把信息通过串口传给单片机处理。   发送 a
  白灯亮了,并返回了大写字母 A
  发送7 ,红灯亮了,并返回大写字母 B   
  这下你们该满意了吧?平时听到的某某公司研究出来了 蓝牙控制电灯 技术,蓝牙控制电冰箱技术,蓝牙XXXX技术,现在是不是觉得很简单啊?那就赶紧发挥你丰富的想象力,运用你所学到的知识,做些好玩有趣的东西并到 创意DIY 板块与大家分享吧! 小七做的蓝牙控制小车 :
如果你会用JAVA编写安卓软件,完全可以写出一个安卓的控制端哦
  对了,补充一下,串口一次只能发送一个字符或数据哦,如果我要发送一段字符串呢?那就要用到数组配合循环语句来完成了。   unsigned char yujv[]=”www.mydigit.cn”;    for(i=0,i&14;i++)  {   SBUF = yujv[i];  //一共要发送14个字符,所以要发送14次(循环14次,循环第i次时,把数组里面第i个数据通过串口发送出去)  while(!TI) //等待第i个数据发送完成  TI=0;        //对TI清零  }  什么是数组?上一个帖子好像我已经说过了撒, 数组就是把一堆数据从0开始依次给每个数据编上号比如上面的 unsigned char yujv[]=”” 就是声明一个叫做 unsigned char 数据类型,且数组的名字叫做 yujv ,里面一共存有14个字符数据 ”” ,里面的第一个字母w标号为 0 ,当我们要提取这个w时,yujv[0] 就代表里面的w,同理,第五个字母 m 就是yujv[4],第十四个字母 n 就是yujv[n],上面的是存放字符串的写法,如果要存放不同的数据,就是 yujv[]={12,34,56,78,90} ,一样的,yujv[0]就是数据 12 yujv[1]就是数据34。   单片机的串口通信就介绍到这里啦,如果你还不会,请你多动动手实践一下吧,反正单片机又不会坏,坏了也不心疼啊!   下次更新内容:通俗话教你单片机【LCD 1602】篇 (其实这篇文字不通俗,嘿嘿)       传送门: 谢谢大家的支持!
本文内容包含图片或附件,获取更多资讯,请
后查看;或者
成为会员获得更多权限
1到第8) ? 8 : ajaxPingcp('apps.php?q=ajax&a=pingpage&tid=534747&count=74&pid=tpc&fid=108&page='+page);}">页8) ? 8 : ajaxPingcp('apps.php?q=ajax&a=pingpage&tid=534747&count=74&pid=tpc&fid=108&page='+page);">确认
UID:822590
在线时间3410小时
M币4669专家19
楼主还是重新整理下吧,,看着好难受。楼主留言:已经整理好了
UID:1332494
在线时间75小时
M币343专家1
赞一个,漂亮
UID:1102931
在线时间448小时
M币6137专家3
蓝牙用在近距离的遥控通信还可以,穿墙通信就不行了楼主留言:范围实测15m左右,穿一堵墙大约在10m
UID:847873
在线时间229小时
M币4418专家14
不错,很全面,部分比喻不是很恰当,但是我也想不到更好的。楼主留言:欢迎提供建议,让文章更易懂
UID:949993
在线时间1708小时
M币725专家3
喜欢楼主的教程,通俗易懂,请弄个1602的教程,我学了老长时间没弄好。楼主留言:1602 已经写了一半,还需要一段时间哦!亲,请耐心等待
UID:1087906
在线时间860小时
M币824专家0
谢谢分享了啊
UID:897642
在线时间22小时
M币30专家1
很不错的文章,希望看到的都有收获。&&
UID:784810
在线时间490小时
M币822专家0
等了好久终于更新了
UID:1238781
在线时间837小时
M币6296专家1
感谢,学习到东西了!
1到第17) ? 17 :
location='read.php?tid=534747&page='+page+'';}">页17) ? 17 :
location='read.php?tid=534747&page='+page+'';">确认
访问内容超出本站范围,不能确定是否安全
温馨提示:欢迎交流讨论,请勿发布纯表情、纯引用等灌水帖子;以免被删除
您目前还是游客,请
&回复后跳转到最后一页
Code by , Time now is:05-23 18:58, Total 0.217114(s) query 13,
Gzip enabled&查看: 4983|回复: 9
怎样用手机蓝牙控制51上面的LED灯,求代码?
例如手机蓝牙发送A要控制LED1的亮,发送B控制LED2的亮
用蓝牙模块
用蓝牙模块
蓝牙模块是怎样的?想学习,有更详细资料吗?
里面有详细介绍
需要手机端APP和你的主控板程序配合才可以
上位机加蓝牙模块就可以了
观察蓝牙模块就发现有现成的TX RX接口,意思是手机连上蓝牙,通过手机端的蓝牙串口发送APP给蓝牙发送信息,蓝牙模块RX脚就接收到了并相应变化,TX RX 直接连单片机串口,加个读串口程序就好了。
首先你要有蓝牙模块呀,亲,51驱动蓝牙模块和手机蓝牙配对,手机端还要有相关软件用来发送数据(或者用别人的软件),蓝牙模块接收到后,单片机读取信息,进行判定执行相应操作
这个要通讯的啊
蓝牙有局限性,主要是通讯距离太短。现在流行WIFI通讯控制。
Powered by}

我要回帖

更多关于 单片机蓝牙模块 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信