wesleyx825 发表于 2016-2-25 13:16:52

外接传感器,便携式手机蓝牙传输装置

本帖最后由 wesleyx825 于 2016-2-29 22:25 编辑

本项目主要基于Processing 3编写android 的app程序,在手机上显示蓝牙数据,并绘制出变化曲线图。在此实验中本人在arduino promini中提前刷入了程序,可以测量三类数据:环境温湿度值(数字引脚接入);光照强度、火焰强度等(双引脚配合10k电阻接入);酒精浓度、一氧化碳浓度、烟雾浓度等(模拟引脚、vcc、gnd)。数据收集以后通过HC-05 以115200的波特率传输到手机上,显示出变化曲线和测量数值。本人将该系统设计成为便携式装置,可以把它绑在手腕上,并设计了多种接口方便拔插使用。有基础的朋友可将其作为数据采集,手机图形化显示的一种简易方法。
优点:1、可以将其设计成为便携式装备,随时随地采集数据;
2、节省一块lcd屏,可以在手机屏幕上显示测量数值;
3、利用processing编程方式在手机app上对数据进行形象展示,显示出数值的变化情况,并可以根据需要随时修改;

背景资料介绍:
Processing是一种具有革命前瞻性的新兴计算机语言,它的概念是在电子艺术的环境下介绍程序语言,并将电子艺术的概念介绍给程序设计师。它是 Java 语言的延伸,并支持许多现有的 Java 语言架构,不过在语法 (syntax) 上简易许多,并具有许多贴心及人性化的设计。Processing 可以在 Windows、MAC OS X、MAC OS 9 、Linux 等操作系统上使用。目前最新版本为Processing 3。
很多Processing互动媒体爱好者总是在PC电脑里演示他们的作品,应该很少有人把作品搬到安卓手机的屏幕上演示,主要原因是Processing程序如何在安卓手机上运行的方法,中文资料很少或者没有,外文倒是有,但说的也不全。想学习基础知识的话,在这里推荐两个网站,都是宜昌老张微博上的资料:
1、        http://www.eefocus.com/zhang700309/blog/14-12/307377_88e74.html
2、        http://www.eefocus.com/zhang700309/blog/15-02/310447_be430.html
另外推荐学习一本全英文书籍,有兴趣的朋友可以看一下:《Rapid_Android_Development Build Rich,Sensor-Based Applications with Processing》
现在开始进行该项目的具体介绍。

所需材料:
1、        arduino promini一块
2、        HC-05蓝牙模块(修改波特率为115200)
3、        3.7伏锂电池一块(不超过300mah,本人利用一块与promini一样大的锂电池)
4、        锂电池对接线(公母一对)、锂电池充电线
5、        硅胶线、热缩管
6、        Kt板
7、        电烙铁、焊锡、热熔胶枪、热熔胶
8、        杜邦插头芯子、排针
9、        10k可变电阻器、DHT22温湿度传感器、光敏电阻、火焰传感器、酒精传感器等一切以0-5v电压变化反映环境参数变化的传感器;
10、        10k电阻、双面焊接板
11、        一部智能安卓手机

步骤:
一、        修改蓝牙波特率为115200(不熟悉的朋友可在网上查阅相关资料)
二、        烧录arduino promini程序(可以不用焊接线,利用四线的排针靠在焊孔上,等到电脑显示正在上传时按下复位键就可以了)
三、        将promini和蓝牙焊在一起,注意引脚(VCC-VCC,GND-GND、TX-RX、RX-TX)
四、        3.7v锂电池给promini供电,安装对接线随时可以拔插,并利用热熔胶将电池与蓝牙和arduino promini堆叠在一起。
五、        利用焊线接出D2、A0、A1、A2引脚,VCC和GND也都接出四根,每根末端都接上杜邦插头芯子,用热缩管包裹,形成母头
六、        利用kt板将3.7v锂电池、蓝牙、arduino promini包围起来,热熔胶枪进行粘合。注意锂电池对接线要引出来,方便电池充电或给模块供电
七、        在两侧分别引出四组接口,顺序分别为VCC、D2、GND;A0、VCC、GND;VCC、A1、GND;VCC、GND、A2。第一组是DHT22的专用接口,第二、三、四组是电压变化反映环境参数变化的传感器接口。不同的顺序可供各类传感器直插时进行选择。
八、        焊接焊盘,可接入光敏电阻、火焰传感器等。注意利用排针制作公头,杜邦插头芯子制作母头。原理图:

      
九、        将DHT22、焊盘利用双面胶粘在盒子上方
十、        安装绷带、魔术贴便于将装置绑在手臂上
十一、        在手机上下载app并安装,测试蓝牙连接效果。(初期测试时可使用可变电阻器,注意需要点击下方带颜色的方框打开选择曲线图,温湿度值曲线图查看需要切换)
arduino端程序:
int testPin1 = 0 ; //Sensor wire connected to analog pin 0
int testPin2 = 1 ; //Sensor wire connected to analog pin 1
int testPin3 = 2 ; //Sensor wire connected to analog pin 2

#define DHT22_PIN 2 //定义DHT22接在D2号位
#include <DHT22.h> //DHT22的Library
DHT22 myDHT22(DHT22_PIN); //设定DHT22参数
long old_time=0;
long new_time=0;
volatile int Signal1;                // holds the incoming raw data
volatile int Signal2;                // holds the incoming raw data
volatile int Signal3;                // holds the incoming raw data
volatile int Signal4;                // holds the incoming raw data
volatile int Signal5;                // holds the incoming raw data

void setup(){
   pinMode(testPin1,INPUT);
   pinMode(testPin2,INPUT);
   pinMode(testPin3,INPUT);      
Serial.begin(115200);             // we agree to talk fast!
}

void loop(){

Signal1 = analogRead(testPin1);
Signal2 = analogRead(testPin2);
Signal3 = analogRead(testPin3);

DHT22_ERROR_t errorCode; //定义errorCode接受错误代码
errorCode = myDHT22.readData(); //读取errorCode
if(errorCode == DHT_ERROR_NONE) //如果errorCode为DHT_ERROR_NONE(没有错误)
{
    Signal4=myDHT22.getTemperatureC();
    Signal4=map(Signal4,-20,60,0,127);
    constrain(Signal4, 0, 127);
    Signal5=myDHT22.getHumidity();
   Signal5=map(Signal5,0,100,0,127);
    constrain(Signal5, 0, 127);
}
   new_time= millis();
   if((new_time-old_time)>50 ){
    Serial.write(255);
    Serial.write(Signal1/8);
    Serial.write(Signal2/8);
    Serial.write(Signal3/8);
   Serial.write(Signal4);
   Serial.write(Signal5);
   }
   delay(20);                           //take a break
}




有兴趣从头写processing程序的同学参见附件:processing端程序
想直接下载apk安装到手机上的同学参见附件:蓝牙传输程序

效果图:




wesleyx825 发表于 2016-2-26 15:17:30

有没人做过测试呀,有问题可以联系我

a421809265 发表于 2016-2-26 22:19:01

哪个是手机端的APP?

wesleyx825 发表于 2016-2-26 23:48:40

解压缩蓝牙传输程序的压缩包就是。貌似不能上传apk格式文件,所以就打包上传了

qihan 发表于 2016-4-21 15:44:36

神奇的楼主,非常好,能发下Rapid_Android_Development Build Rich,Sensor-Based Applications with Processing的链接吗?

radioham 发表于 2017-1-8 09:03:47

好贴,留名备查

MACE 发表于 2017-1-8 12:19:15

强,学习了,检测侠:D
页: [1]
查看完整版本: 外接传感器,便携式手机蓝牙传输装置