大数跨境
0
0

【信息科技案例】制作简易的电子游标卡尺

【信息科技案例】制作简易的电子游标卡尺 KittenBot小喵
2024-02-05
0
导读:尺子我们日常生活都会用,除了平常用的直尺外,笔者在物理课本上认识到了游标卡尺,不仅可以测量物体的外径,还可以测内径。

 【信息科技案例分享】


 制作简易的

 电子游标卡尺


导语


尺子我们日常生活都会用,除了平常用的直尺外,笔者在物理课本上认识到了游标卡尺,不仅可以测量物体的外径,还可以测内径。

再后来大学里用了电子游标卡尺,就再也不想用机械的了。其原理大致如下:电子游标卡尺由两个平行电极板构成,第一个电极板固定不动,为参考电极;另一块可以随物体长度滑动而移动,叫测量电极。两个电极板之间有绝缘介质,且形成电容。

当电极板移动时,电容的数值会变化,通过测量电容变化的值,就能计算出距离了。

受到这个原理的启发,小喵灵光一现运用传感器和乐高积木制作一把简易的电子游标卡尺,看看效果怎么样。

材料准备


编程软件使用


 Kittenblock1.89

前期准备


1

接线准备

灰度传感器连接到未来板Lite的P3接口。

2

结构搭建

组装卡尺的固定测量面,后面两幅图为完成后的造型。

组装尺身,与卡尺的固定测量面连接。

组装游标卡尺的滑动测量面,后面两幅图为完成后的造型。

把滑动测量面放入尺身的间隙中。

拿出灰度传感器,把它连接在滑动测量面上。

固定卡尺尾部,并连接未来板Lite。

3

粘贴灰度条码

聪明的小伙伴们看到有灰度传感器就大概明白小喵这次案例的原理了,就是通过运用灰度值的变化映射为距离。灰度条码采用CMYK的色彩模式上色,“C”“M”“Y”的值都为0。最开始做时灰度条码的K值变化为0-100,但是测试后发现数值变化不明显,这就没办法较为准确的测量距离。

经过一天的改进测试,最终的灰度条码分为了好几个区间,目的就是为了变化能够明显一点。虽然还是存在很多进步空间,但是对于本次案例来说也足够了。具体参数如下:

打印好后进行裁剪,用透明胶粘贴到游标卡尺的积木上。

程序编写


灰度测试

由于每位小伙伴灰度返回值可能有些许不同,所以开始编程前需要测试不同长度的灰度情况。这里先编写一个简单的查看灰度值程序,同时上传到未来板Lite上。

案例中的游标卡尺最多能测量11cm,这里每隔1cm测一次灰度值并记录,测试时需要保证齿框与尺子的刻度平行,不然容易有误差。比如我这里测量初始值是3700左右,1cm的值是3300左右。

光测量0cm;1cm是远远不够的,还得测量长度每次增加1cm时灰度值的情况,每个人测的都可能不一样,以下是我的记录。

有了这份记录后,我们就可以开始编写程序了~

初始化

这部分很简单,在刚才的测试程序里添加一个初始值代表0cm时的灰度情况,用于模拟电子游标卡尺的复位功能。

显示&复位功能

 显示也简单,显示被测物体的长度使用【长度】变量显示,在原先的程序添加即可。

当卡尺复位但是长度不为0时,按下M键可以进行复位,模拟电子游标卡尺的复位功能。

长度映射

测量物体的距离通过映射积木来转变为距离,以cm为单位保留1位小数。由于不同灰度的区间变化量不同,所以需要分段讨论,下图是0-1cm的映射程序,灰度的数值根据先前测试的数值填写。

0-1cm的完成后,依次类推写出1-2cm、2-3cm、3-4cm的程序…… 至于4-5cm、5-6cm以及往后的程序就不再展示了,都是一样的道理。

这样写虽然也能运行,但是较为冗长,程序运行起来不够快。这里可以用二分法进行分类讨论处理。此写法有点难度,所以就展示程序全貌。到此为止所有的步骤都做好了,如果你也跟着一起做了那就试试看能不能精确的测量物体吧,我最好的记录也还是有±1.5mm的误差😂

注意事项


①由于使用灰度传感器进行测量,需要保证周围环境不能有强光照射,且未来板Lite的板载光敏显示的光照数值应为1500左右,不然在环境光变化较大时测出的长度会有大幅度变化。

功能演示


关注我们

小喵会通过社交平台,定期发布有趣的项目视频,感兴趣的可以搜索关注我们喔!

视频号:KittenBot

公众号:KittenBot小喵

b站、小红书、抖音:KittenBot小喵科技

【声明】内容源于网络
0
0
KittenBot小喵
专注于从入门到精通的移动机器人开源学习平台
内容 560
粉丝 0
KittenBot小喵 专注于从入门到精通的移动机器人开源学习平台
总阅读305
粉丝0
内容560