完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 oneperson 于 2016-10-16 15:17 编辑 离上次发帖已去两周有余,中间放了个加班的国庆假哈哈~~ 上次贴中已使用上了热释红外传感器了,那么这里我们还剩下哪些需要的外设没用呢? 光敏传感器~~温湿度传感器~~eeprom存储~~wifi模块(话说这还得自己来找资料)~~ 还有OLED(这里留在最后面做用户菜单界面吧) 还是一小步一小步的发帖比较方便查看些。 一:硬件环境 开发板已全自带,我们这里使用自制 一元神器 Jlink调试器 (后面有时间发个帖哈) 另外就是电脑了,使用win7系统,预装keil v5,STM32CubeMX 以及串口调试工具。 二:软件配置调试过程 这里我们按个顺序慢慢来~~不着急一次全部调通~~ 1、ADC+DMA采集光敏传感器模拟信号 硬件电路: ![]() 根据电路图,我们得知其光敏电阻使用10k分压3.3v,查阅资料: 光敏电阻 (暗电阻-亮电阻) 阻值变化范围:0.2 MΩ - 2KΩ , 关于其使用,感兴趣的可以看本人上次的光敏电阻使用(点我跳转)。 所以分压计算可得:3.14 V - 0.55 。实际可能由于阻值误、温度影响差等会有误差,尽量以实际测试为准。 这里就把环境光线根据光敏电阻分压,进行分级表示环境光线强度。 环境光线: 很强(adc_get < 0.1v),强(<0.11 adc_get < 0.50v),较强(0.51< adc_get < 0.90v), 一般(0.91< adc_get < 1.40v),较暗(1.41< adc_get <2.00v),暗(2.01< adc_get < 2.70v), 很暗(adc_get > 2.71v)。 这是主观给出的光线强弱,仅限参考。 2、ADC+DMA采集按健信息 硬件电路: ![]() 根据电路图,所有按健都是对地拉低电平, K1直接拉到地,K2 3k电阻分压,K3 6.8K电阻分压,K4 10K电阻分压,K5 15K电阻分压, 经过计算分别对应的电压为:0v , 0.396v , 0.779v,1.031v,1.338v 由于电源是用LM1117,输出的电源电源还是有点欠压,VCC3.3V 在3.27v左右,对应上面则取个范围值,即左右0.1v会比较好些。 程序里就编写如下:
这样就可以做ad按健识别了,要做长按,短按就看时间长短。 3、ADC+DMA采集MCU内部温度 这里根据datasheet描述: ![]() ![]() 所以温度计算:(1.43 - adc_data.temprature*3.27/4096)/0.0043)+25) 但是这样计算出来的温度和实际温度差异较大,那么就需要调整参数了: (1.35 - adc_data.temprature*3.27/4096)*1000/4.4)+25) 这样会比较接近实际温度。 4、温湿度传感器--单线协议使用 硬件电路及协议: ![]() ![]() 8bit湿度整数数据+8bit湿度小数数据;+8bi温度整数数据+8bit温度小数数据;+8bit校验和。小数部分可忽略,是设计备用的,该传感器精度温度+-1℃,湿度+-4%RH。 这里本人上次也有使用该模块,具体调试要点要注意io口需要设置为开漏模式,并要确保模块或外接上拉电阻,另外就是时序的严格控制。程序之前已移植好了,只需要拷贝过来就可以了。 这里附上使用逻辑分析仪测试的实际工作波形(有感兴趣的坛友可看这里(点我跳转)): ![]() |
|
相关推荐
|
|
881 浏览 0 评论
国产NSI1300D05-DSWVR放大芯片放大增益8.2或41的问题
895 浏览 0 评论
STM32串口接受中断使用C++STL中的queue导致所有中断失效
8670 浏览 1 评论
3394 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1379 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-24 21:45 , Processed in 0.473824 second(s), Total 43, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191