请选择 进入手机版 | 继续访问电脑版
查看: 1755|回复: 1

【MiCOKit3165开发套件试用体验】5、反射传感器

[复制链接]

24

主题

88

帖子

480

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
480
发表于 2018-9-4 17:17:02 | 显示全部楼层 |阅读模式
*本文作者徐珂靖

今天我们要测试一下MiCOKit3165的红外反射传感器。

在上一篇中,我们已经测试过MiCOKit3165的ADC了,测的是光敏电阻的分压。
在这篇文章里,我们要用ADC测一下红外反射传感器的输出。
为了读取采集到的数值,我们可以把红外反射传感器实时采集到的数值显示到oled显示屏上。
在本文中,我还把ADC的速度做了一下测试。

MiCOKit使用了RPR220型光电对管。该传感器是一种一体化反射型光电探测器,其发射器是一种砷化镓红外光二极管,而接收器是一个高灵敏度、硅平面光电二极管,RPR220具有如下特点:
1塑料透镜可以提高灵敏度; 塑料透镜可以提高灵敏度; 塑料透镜可以提高灵敏度; 塑料透镜可以提高灵敏度;
2 体积小、结构紧凑; 体积小、结构紧凑; 体积小、结构紧凑;
3当发光二极管出的射回来时,光电管导通输低电平。此光电二极管调理电路简单,工作性能稳定。

为了准确 监测反射的距离,三极管集电接在 ADC接口上,通过检测电压的大小检测反射距离,同时 压的大小检测反射距离,同时 压的大小检测反射距离,同时 压的大小检测反射距离,同时 压的大小检测反射距离,同时接一个 LED 指示,可以通过 LED 的亮度变化判断粗略距离远近。这部分原理图如下


通过原理图,我们可以分析得到:
当没有光线反射时,二极管不导通,此时ADC端口电压为3.3V。当有光线反射时,二极管导通,ADC端口电压降至0v,对应到12位ADC上就是0到4096的变化。

我们来写一下这个测试红外反射传感器的小程序,算法依然很简单,跟上一篇测试光敏电阻一样的思路。
使用mico_rtos_get_time()函数来计时。首先,做一百万次计时,测一下计时函数引入的延迟误差,然后读ADC一百万次,把消耗的时间减去计时函数的延迟得到ADC实际耗时,接着把时间除以一百万得到每次ADC读取的实际耗时并显示到oled上面。最后跑个循环,每隔200毫秒采集一次ADC并显示到屏幕上。

代码见附件


编译并上传到到板子上,然后按一下板子reset键就开始跑了。

最后,感谢庆科和云汉提供的这次评测机会,我会在接下来的文章里多发一点干货,与大伙儿一起学习和分享该开发板的相关知识。

回复

使用道具 举报

1

主题

26

帖子

183

积分

注册会员

Rank: 2

积分
183
QQ
发表于 2018-9-11 15:18:33 | 显示全部楼层
赞!










                                                     (小手一抖,经验到手,为了升级,到处游走,纯属路过,不要介意,高抬贵手,立马飘走...)
理论上,理论和实践是没有差异的。但实践中,是有的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表