Contents
  1. 1. 前言
  2. 2. 正文
    1. 2.1. 一、实验要求
    2. 2.2. 二、学习内容
    3. 2.3. 三、技术原理
    4. 2.4. 实验电路连接
    5. 2.5. 遥控App设计
      1. 2.5.1. 组件设计
      2. 2.5.2. 逻辑设计
    6. 2.6. 实验程序代码

前言

一个简单IOT实验,记录一下,以后还能看看

正文

一、实验要求

在面向智能家居的物联网系统场景中,一般要提供对日光灯的无线控制。本实验旨在构建一个蓝牙遥控灯原型。本实验基于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等智能终端配对,从机之间不能配对。

AoEKFH.png

Arduino 与蓝牙模块连接方法

VCC:接Arduino的5V。
GND:接Arduino的GND。

TXD:发送端,一般表示为自己的发送端,接Arduino的RX。
RXD:接收端,一般表示为自己的接收端,接Arduino的TX。
正常通信时候本身的TXD永远接设备的RXD!正常通信时RXD接其他设备的TXD,

自收自发:顾名思义,就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。

线接好后,把Arduino上电后,蓝牙的指示灯是闪烁的,表明没有设备连接上。


实验电路连接

AoEt0S.png

AoEr60.png

注意

TXD:发送端,一般表示为自己的发送端,接Arduino的RX。
RXD:接收端,一般表示为自己的接收端,接Arduino的TX。
正常通信时候本身的TXD永远接设备的RXD!正常通信时RXD接其他设备的TXD,

遥控App设计

Appinventor

组件设计

AoEWtJ.png

逻辑设计

AoEI6x.png

实验程序代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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);
} }
}}

写好代码之后要上传到组件中,操作如下:

AoEXhd.png

要保证要相关驱动才行,没有驱动的话,可以用驱动精灵安装,然后选择COM4

AoVCB8.png

然后上传。

打开手机蓝牙,与蓝牙模块配对,即可。

这个实验比较简单,就这样啦。

Contents
  1. 1. 前言
  2. 2. 正文
    1. 2.1. 一、实验要求
    2. 2.2. 二、学习内容
    3. 2.3. 三、技术原理
    4. 2.4. 实验电路连接
    5. 2.5. 遥控App设计
      1. 2.5.1. 组件设计
      2. 2.5.2. 逻辑设计
    6. 2.6. 实验程序代码