在面向智能家居的物联网系统场景中,一般要提供对日光灯的无线控制。本实验旨在构建一个蓝牙遥控灯原型。本实验基于Arduino开发套件、蓝牙模块,运用App Inventor快速开发一个遥控APP,实现对Arduino驱动的发光二极管的开关控制。APP至少设计四个按钮,分别控制3种不同的发光二极管,一个控制跑马灯效果。
1. 蓝牙模块技术参数
2. Arduino电路连接蓝牙模块的方法
3. 进一步掌握Arduino程序编写方法
蓝牙参数特点
1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接
2.LED指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口
3.输入电压3.6~6V,未配对时电流约30mA,配对后约10mA,输入电压禁止超过7V!
4.可以直接连接各种单片机(51,AVR,PIC,ARM,MSP430等),5V单片机也可直接连接
5.在未建立蓝牙连接时支持通过AT指令设置波特率、名称、配对密码,设置的参数掉电保存。蓝牙连接以后自动切换到透传模式
6.该蓝牙为从机,从机能与各种带蓝牙功能的电脑、蓝牙主机、大部分带蓝牙的手机、Android、PDA、PSP等智能终端配对,从机之间不能配对。
Arduino 与蓝牙模块连接方法
VCC:接Arduino的5V。
GND:接Arduino的GND。
TXD:发送端,一般表示为自己的发送端,接Arduino的RX。
RXD:接收端,一般表示为自己的接收端,接Arduino的TX。
正常通信时候本身的TXD永远接设备的RXD!正常通信时RXD接其他设备的TXD,
自收自发:顾名思义,就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。
线接好后,把Arduino上电后,蓝牙的指示灯是闪烁的,表明没有设备连接上。
注意:
TXD:发送端,一般表示为自己的发送端,接Arduino的RX。
RXD:接收端,一般表示为自己的接收端,接Arduino的TX。
正常通信时候本身的TXD永远接设备的RXD!正常通信时RXD接其他设备的TXD,
Appinventor
int ledpin10=10; //红灯10接口
int ledpin9=9; //黄灯9接口
int ledpin8=8; //绿灯8接口
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(ledpin10,OUTPUT);
pinMode(ledpin9,OUTPUT);
pinMode(ledpin8,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
while(Serial.available()){
int n=Serial.read();
if(n==10){ //红灯闪烁
digitalWrite(ledpin10,HIGH);
delay(1000);
digitalWrite(ledpin10,LOW);
}
if(n==9){ //黄灯闪烁
digitalWrite(ledpin9,HIGH);
delay(1000);
digitalWrite(ledpin9,LOW);
}
if(n==8){ //绿灯闪烁
digitalWrite(ledpin8,HIGH);
delay(1000);
digitalWrite(ledpin8,LOW);
}
if(n==7){ //跑马灯
while(1){
digitalWrite(ledpin10,HIGH);
delay(1000);
digitalWrite(ledpin10,LOW);
digitalWrite(ledpin9,HIGH);
delay(1000);
digitalWrite(ledpin9,LOW);
digitalWrite(ledpin8,HIGH);
delay(1000);
digitalWrite(ledpin8,LOW);
} }
}}
写好代码之后要上传到组件中,操作如下:
要保证要相关驱动才行,没有驱动的话,可以用驱动精灵安装,然后选择COM4
然后上传。
打开手机蓝牙,与蓝牙模块配对,即可。
这个实验比较简单,就这样啦。