“温度湿度计”的版本间的差异
853387039@qq.com(讨论 | 贡献) (→设备) |
(→软件调试) |
||
(未显示2个用户的15个中间版本) | |||
第4行: | 第4行: | ||
| | | | ||
==目的== | ==目的== | ||
− | + | 将获取到的环境数据通过手机查看。 | |
==原理== | ==原理== | ||
+ | 通过温湿度传感器和光敏传感器将获取到的环境数据结合mCookie-BT蓝牙传送到手机上。 | ||
==设备== | ==设备== | ||
第13行: | 第14行: | ||
|模块||数量||功能 | |模块||数量||功能 | ||
|- | |- | ||
− | |[[ | + | |[[mCookie-CoreUSB/zh]]||1||核心板 |
|- | |- | ||
− | |[[ | + | |[[mCookie-Hub/zh]]||1||传感器转接板 |
|- | |- | ||
− | |[[ | + | |[[mCookie-BT/zh]]||1||蓝牙模块 |
|- | |- | ||
| [[Microduino-Temp&Hum/zh]]||1||温湿度传感器 | | [[Microduino-Temp&Hum/zh]]||1||温湿度传感器 | ||
|- | |- | ||
− | | [[Microduino-Light/zh]]||1|| | + | | [[Microduino-Light/zh]]||1||光敏传感器 |
|} | |} | ||
− | [[File:ble_Temp&Hum.jpg|600px|center | + | [[File:ble_Temp&Hum.jpg|600px|center]] |
==文档== | ==文档== | ||
Android客户端: | Android客户端: | ||
注意:新版BT是蓝牙4.0,需要Android 4.3以上的系统才能支持。这里只提供Android的APP。 | 注意:新版BT是蓝牙4.0,需要Android 4.3以上的系统才能支持。这里只提供Android的APP。 | ||
+ | <br> | ||
+ | APP下载: | ||
+ | [[File:Microduino-Temp&Hum-APP.gif|center|200px]] | ||
− | + | ==准备 == | |
+ | *Setup 1:将Light光敏传感器接到Sensorhub的A0引脚上。将温湿度传感器接到Hub的IIC引脚上。 | ||
+ | [[File:Temp&Hum_ble.jpg|600px|center]] | ||
+ | *Setup 2:将CoreUSB、BT、传感器与Hub叠堆,连接到电脑。 | ||
+ | [[File:CoreUSB_Ble_Sensorhub.jpg|600px|center]] | ||
− | == | + | ==软件调试== |
− | * | + | *打开Arduino IDE,将下列代码复制到IDE中。 |
− | + | <source lang="cpp"> | |
− | + | #include <Wire.h> | |
− | + | #include "I2Cdev.h" | |
− | |||
− | |||
− | |||
− | == | + | #include <AM2321.h> |
− | + | AM2321 am2321; | |
+ | |||
+ | #include <SoftwareSerial.h> | ||
+ | |||
+ | SoftwareSerial mySerial(4, 5); // RX, TX | ||
+ | |||
+ | //#define Serial_com mySerial | ||
+ | #define Serial_com Serial1 | ||
+ | |||
+ | float sensor_tem, sensor_hum, sensor_lux, sensor_light; | ||
+ | |||
+ | String dataToSend; | ||
+ | char buf[10]; | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | |||
+ | Serial_com.begin(9600); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | //获取温湿度============================================== | ||
+ | am2321.read(); | ||
+ | sensor_tem = am2321.temperature / 10.0; | ||
+ | sensor_hum = am2321.humidity / 10.0; | ||
+ | |||
+ | sensor_light = map(analogRead(A0), 0, 1023, 0, 255); | ||
+ | |||
+ | dtostrf(sensor_tem, 1, 1, buf); | ||
+ | dataToSend = "{T:" + String(buf) + "}"; | ||
+ | Serial_com.print(dataToSend); | ||
+ | Serial.println(dataToSend); | ||
+ | delay(1000); | ||
+ | |||
+ | dtostrf(sensor_hum, 1, 1, buf); | ||
+ | dataToSend = "{H:" + String(buf) + "}"; | ||
+ | Serial_com.print(dataToSend); | ||
+ | Serial.println(dataToSend); | ||
+ | delay(1000); | ||
+ | |||
+ | dtostrf(sensor_light, 1, 1, buf); | ||
+ | dataToSend = "{L:" + String(buf) + "}"; | ||
+ | Serial_com.print(dataToSend); | ||
+ | Serial.println(dataToSend); | ||
+ | delay(1000); | ||
+ | dataToSend = ""; | ||
+ | } | ||
+ | </source> | ||
+ | * Setup 1:选择正确的板卡和COM端口,编译通过后直接下载。 | ||
+ | [[file:upload.JPG|600px|center]] | ||
* Setup 2:下载Android客户端。解压安装并打开,如果没有打开蓝牙,会提示用户需要打开蓝牙设备。 | * Setup 2:下载Android客户端。解压安装并打开,如果没有打开蓝牙,会提示用户需要打开蓝牙设备。 | ||
− | [[File:Microduino_BT_Serial_1.png||300px|center | + | [[File:Microduino_BT_Serial_1.png||300px|center]] |
* Setup 3:点击右上角SCAN搜索设备,设备名为Microduino,点击进行连接。 | * Setup 3:点击右上角SCAN搜索设备,设备名为Microduino,点击进行连接。 | ||
− | [[File:Microduino_BT_Serial_2.png||300px|center | + | [[File:Microduino_BT_Serial_2.png||300px|center]] |
*初始情况在右上角出现Serial Present,等待变成Serial ready,此时就能正常通讯了。每隔1S上传一个环境数据。 | *初始情况在右上角出现Serial Present,等待变成Serial ready,此时就能正常通讯了。每隔1S上传一个环境数据。 | ||
− | [[File:Microduino_BT_Temp&Hum.png||300px|center | + | [[File:Microduino_BT_Temp&Hum.png||300px|center]] |
− | + | ==软件说明== | |
− | * | + | *CoreUSB与蓝牙的通讯串口:Serial1 |
− | CoreUSB与蓝牙的通讯串口:Serial1 | ||
<source lang="cpp"> | <source lang="cpp"> | ||
#define my_Serial Serial1 | #define my_Serial Serial1 | ||
</source> | </source> | ||
− | * | + | *传感器获取到值,每隔1S发送一次数据。 |
− | |||
<source lang="cpp"> | <source lang="cpp"> | ||
− | + | dtostrf(sensor_tem, 1, 1, buf); | |
+ | dataToSend = "{T:" + String(buf) + "}"; | ||
+ | Serial_com.print(dataToSend); | ||
+ | Serial.println(dataToSend); | ||
+ | delay(1000); | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
==视频== | ==视频== | ||
|} | |} |
2016年2月11日 (四) 12:56的最新版本
Language | English |
---|
目的将获取到的环境数据通过手机查看。 原理通过温湿度传感器和光敏传感器将获取到的环境数据结合mCookie-BT蓝牙传送到手机上。 设备
文档Android客户端:
注意:新版BT是蓝牙4.0,需要Android 4.3以上的系统才能支持。这里只提供Android的APP。
准备
软件调试
#include <Wire.h>
#include "I2Cdev.h"
#include <AM2321.h>
AM2321 am2321;
#include <SoftwareSerial.h>
SoftwareSerial mySerial(4, 5); // RX, TX
//#define Serial_com mySerial
#define Serial_com Serial1
float sensor_tem, sensor_hum, sensor_lux, sensor_light;
String dataToSend;
char buf[10];
void setup() {
Serial.begin(9600);
Serial_com.begin(9600);
}
void loop() {
//获取温湿度==============================================
am2321.read();
sensor_tem = am2321.temperature / 10.0;
sensor_hum = am2321.humidity / 10.0;
sensor_light = map(analogRead(A0), 0, 1023, 0, 255);
dtostrf(sensor_tem, 1, 1, buf);
dataToSend = "{T:" + String(buf) + "}";
Serial_com.print(dataToSend);
Serial.println(dataToSend);
delay(1000);
dtostrf(sensor_hum, 1, 1, buf);
dataToSend = "{H:" + String(buf) + "}";
Serial_com.print(dataToSend);
Serial.println(dataToSend);
delay(1000);
dtostrf(sensor_light, 1, 1, buf);
dataToSend = "{L:" + String(buf) + "}";
Serial_com.print(dataToSend);
Serial.println(dataToSend);
delay(1000);
dataToSend = "";
}
软件说明
#define my_Serial Serial1
dtostrf(sensor_tem, 1, 1, buf);
dataToSend = "{T:" + String(buf) + "}";
Serial_com.print(dataToSend);
Serial.println(dataToSend);
delay(1000);
视频 |