本帖最后由 zhanghuanqian 于 2016-4-9 12:35 编辑
蓝牙示波器项目采用Arduino、蓝牙模块、电压传感模块与手机APP通讯实现的软硬件结合的项目。其硬件如下:
Arduino UNO;
蓝牙模块HC-05;
电压传感模块(可自行用7501=7.5k及3002=30k焊接);
杜邦线若干。
(一) 原理图及实物图如下:
图 1 电路原理图
图 2 实物图
(二) Arduino源代码
UNO源码:
- #include <SoftwareSerial.h>
- SoftwareSerial BT(8,9);//8->HC-05 TXD 9->HC-05 RXD
- int analogpin=A5; //电压值输入
- int val;
- float val1;
- void setup() {
- // put your setup code here, to run once:
- //Serial.begin(9600);//调试用
- //Serial.println("BLUETOOTH is ready!");
- BT.begin(9600);//HC-05的波特率,太高了用软串口会有问题
- }
- void loop() {
- val=analogRead(analogpin); //采集电压并赋给val
- val1=val/40.92;
- // Serial.print(millis()/1000.0,3);//调试用
- //Serial.print(",");
- // Serial.println(val1,2);
- BT.print(millis()/1000.0,3);//数据格式:时间,电压值\n
- BT.print(",");
- BT.print(val1,2);
- BT.print("\n");
- // delay(5);//延时采集
- }
复制代码 (三) 手机端APP
其运行如图3所示。可对蓝牙进行扫描及连接。
可以调节量程、时间周期、图像显示方面采用散点图显示、折线图、差值图显示方式。
a)启动后扫描到蓝牙界面
b)示波界面
图 3.软件界面
(四) 试验
图3b)为21V实验电路采集的数据波形;理论波形见图4所示。从图中可以看出,示波器的采集效果还是不错的。
图 4 理论图形
APP源码:采用E4A编写,只适用于安卓系统,部分代码截图见图5^_^ APP 1.0版本下载:https://yunpan.cn/cq8MLcNx78v6W 访问密码 8487
图 5 部分代码截图
(五) 总结、扩展
1.与UNO端相比,例子的难点在手机端APP开发,在于将接收的字节型数据转换为数值数据再进行绘图。
2.手机端APP凡满足“*,*\n”这种格式的所有数据(例如温湿度值等)都可以作图,只需要修改量程即可实现。
牛刀小试,大侠莫怪!
2016/4/1 That’s a joke, No!
大象无形 |