物联网课程系列:制作可爱的鲨鱼温度计

易心STEAM编程
关注

之前的文章介绍了温度传感器LM35的使用方式,这次的项目将教大家如何加上伺服马达,制作可爱的箭头式温度计!

鲨鱼头温度计

材料清单:

1.Arduino UNO R3

2.LM35 模拟温度传感器

3.3条杜邦线(公/母)

4.5条杜邦线(公/公)

5.SG90 9G服务器

6.迷你面包板

接线图如下:

首先,我们要学习如何将温度转换成角度,假设温度感测范围是0~40度,而伺服马达旋转范围是0~180度。我们希望当温度是0度时,伺服马达旋转至0度;温度是40度时,伺服马达旋转至180度;以此类推,温度20度时,伺服马达旋转至90度。

那该如何做到呢?Arduino有一个很好用的数学函式:map(),只要三个步骤就可以轻松转换。

1.输入数值来源

2.设定来源数值的范围(最大值与最小值)

3.输入希望转换后的数值范围(最大值与最小值)

map(输入数值来源,来源最小值,来源最大值,转换后的最小值,转换后的最大值)

将刚刚的描述实际套用将会是:

map( 量测温度 , 0 , 40 , 0 ,180 )

程序完成后,接下来就是制作可爱的温度计啦,您可以用纸(最好硬一点)、厚纸板、木板…等,与剪刀或美工刀制作。若是使用画纸,还可以涂上自己喜欢的颜色喔!本文是利用雷切机直接大切一波,下图就是小编的偷懒品。

第一次测试发现指针旋转方向与温度相反

实际装上去测试后发现,指针旋转方向似乎与温度相反。当温度越高时,越偏向左边;温度越低时,反而越转向右边,这样跟鲨鱼嘴里的刻度根本相反呀!

如果您也跟小编遇到相同的情况,没关系!还记得map() 的用法吗?只要将转换的最大值与最小值交换即可:

map( 量测温度 , 0 , 40 , 180 ,0 )

如此一来,当温度为0度时,马达转向180,反之当温度为40度时,马达转向0。修改程序后重新上传~终于完成啰!

修改程序后的完成品

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存