“温度湿度计”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
软件调试
软件调试
 
(未显示2个用户的14个中间版本)
第4行: 第4行:
 
|
 
|
 
==目的==
 
==目的==
通过温湿度传感器和光敏传感器将获取到的环境数据结合Microduino-BT蓝牙传送到手机上。
+
将获取到的环境数据通过手机查看。
  
 
==原理==  
 
==原理==  
 +
通过温湿度传感器和光敏传感器将获取到的环境数据结合mCookie-BT蓝牙传送到手机上。
  
 
==设备==
 
==设备==
第13行: 第14行:
 
|模块||数量||功能
 
|模块||数量||功能
 
|-
 
|-
|[[Microduino-CoreUSB/zh]]||1||核心板
+
|[[mCookie-CoreUSB/zh]]||1||核心板
 
|-
 
|-
|[[Microduino-Sensorhub/zh]]||1||传感器转接板
+
|[[mCookie-Hub/zh]]||1||传感器转接板
 
|-
 
|-
|[[Microduino-BT/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|thumb]]
+
  [[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]]
  
APP下载:'''[[File:Microduino-Temp&Hum-APP.zip]]''
+
==准备 ==
 +
*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]]
  
==搭建硬件==
+
==软件调试==
*Setup 1:将CoreUSB、BT与Sensorhub叠堆。
+
*打开Arduino IDE,将下列代码复制到IDE中。
[[File:CoreUSB_Ble_Sensorhub.jpg|600px|center|thumb]]
+
<source lang="cpp">
*Setup 2:将Light光敏传感器接到Sensorhub的A0引脚上。
+
#include <Wire.h>
[[file:Microduino-sensorhub_rule.JPG|thumb|800px|center]]
+
#include "I2Cdev.h"
[[File:Light_ble.jpg|600px|center|thumb]]
 
* Setup 3:将温湿度传感器接到Sensorhub的A4,A5引脚上。
 
[[File:Temp&Hum_ble.jpg|600px|center|thumb]]
 
  
==软件调试==
+
#include <AM2321.h>
*Setup 1:搭建开发环境,将CoreUSB接到电脑,下载程序代码。
+
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|thumb]]
+
[[File:Microduino_BT_Serial_1.png||300px|center]]
 
* Setup 3:点击右上角SCAN搜索设备,设备名为Microduino,点击进行连接。
 
* Setup 3:点击右上角SCAN搜索设备,设备名为Microduino,点击进行连接。
[[File:Microduino_BT_Serial_2.png||300px|center|thumb]]
+
[[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|thumb]]
+
[[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发送一次数据。
当有蓝牙连接时,每隔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>
 
==结果==
 
通过Microduino可以成功实现用手机控制彩灯,得到你想要的任意颜色。你也可以通过乐高搭建一个漂亮的外观。
 
  
 
==视频==
 
==视频==
  
 
|}
 
|}

2016年2月11日 (四) 12:56的最新版本

Language English

目的

将获取到的环境数据通过手机查看。

原理

通过温湿度传感器和光敏传感器将获取到的环境数据结合mCookie-BT蓝牙传送到手机上。

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
mCookie-BT/zh 1 蓝牙模块
Microduino-Temp&Hum/zh 1 温湿度传感器
Microduino-Light/zh 1 光敏传感器

文档

Android客户端: 注意:新版BT是蓝牙4.0,需要Android 4.3以上的系统才能支持。这里只提供Android的APP。
APP下载:

准备

  • Setup 1:将Light光敏传感器接到Sensorhub的A0引脚上。将温湿度传感器接到Hub的IIC引脚上。
  • Setup 2:将CoreUSB、BT、传感器与Hub叠堆,连接到电脑。

软件调试

  • 打开Arduino IDE,将下列代码复制到IDE中。
#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 = "";
}
  • Setup 1:选择正确的板卡和COM端口,编译通过后直接下载。
Upload.JPG
  • Setup 2:下载Android客户端。解压安装并打开,如果没有打开蓝牙,会提示用户需要打开蓝牙设备。
Microduino BT Serial 1.png
  • Setup 3:点击右上角SCAN搜索设备,设备名为Microduino,点击进行连接。
Microduino BT Serial 2.png
  • 初始情况在右上角出现Serial Present,等待变成Serial ready,此时就能正常通讯了。每隔1S上传一个环境数据。

软件说明

  • CoreUSB与蓝牙的通讯串口:Serial1
#define my_Serial Serial1
  • 传感器获取到值,每隔1S发送一次数据。
  dtostrf(sensor_tem, 1, 1, buf);
  dataToSend = "{T:" + String(buf) + "}";
  Serial_com.print(dataToSend);
  Serial.println(dataToSend);
  delay(1000);

视频