查看: 1068|回复: 0

利用Arduino 开发板来改造温度计

[复制链接]

该用户从未签到

发表于 2016-5-10 08:54:48 | 显示全部楼层 |阅读模式
分享到:
这款温度计既可以作为日常温度计使用,又可以进行家用装饰,特别适合爱画画的小创客们动手制作。那么,它究竟是如何实现的呢?

最终作品照
一、材料准备
Arduino UNO  x1
Arduino扩展板  x1
Lm35温度传感器  x1
9g舵机  x1
导线若干
A4白卡纸  x1

所需材料
二、盒子制作
准备好工具和卡纸
首先,我们要用尺子和铅笔把要做的方盒子的平面图按照下面示意图,在纸上画出来,盒子的尺寸大小按照可以放得下一个Arduino板的尺寸,这里非常考验空间想象力和盒子的构造。

方纸盒子展开图
画好之后,我们就可以用剪刀把它剪下来,如下图所示:

剪好后的展开图
大家可以看到上面有一个小水滴样子的指针,这个非常简单,大家在剩下的卡纸料上随手剪一个上色就行。
接下来直接按照原来画的边线进行对折即可,记得有画线的一面向里面,这样可以保证外观的整洁度。在这里大家记得拿出自己的彩色笔哦!给它设计一个好看的涂装,刻度划分可以自己去设计。

盒子制作完成
三、Arduino电路搭建及组装
完成上一步的盒子制作之后,这一步我们要完成的就是整个作品的核心部分,传感器连接与电路搭建,连接图如下所示:

电路连接图

电路实物连接
连接好电路之后,把舵机装在盒子里面,安装前要在盒子前面开一个小孔,然后用热熔胶把舵机固定在纸盒上,如图所示:

安装舵机
小水滴指针是如何安装到舵机上的呢?这里就要用到舵机自带的舵盘啦!直接用双面胶就把指针固定在舵盘上了,请看下图:

多盘与指针安装

安装舵机、舵盘、指针到纸盒
在这里就完成了硬件的所有制作,接下来就是写驱动程序。
四、程序编写
Arduino 驱动程序编写,我们还是用到Arduino  IDE来写这个程序,下面就是这个美美的Arduino温度计的驱动程序,就让我们一起DIY来让这个寒冷的冬天变更即视。下面这个代码大概的运行的原理 是先通过LM35温度传感器采集到模拟值,将模拟值通过变换公式转换出温度值,因为表盘用的是舵机,所以这里会用到一个映射函数map,将温度值映射到相 应的角度值,从而控制指针旋转到相应的位置。代码如下:
#include <Servo.h>
#include <math.h>
Servo myservo;
int a,val;   //定义变量
float temperature;     //定义浮点型变量,用于存放转换后的温度
int B=3975;              //热敏电阻的基础参考值B
float resistance;
void setup()
{
  myservo.attach(4); //定义舵机驱动端口
}
void loop()
{
  a=analogRead(0); //读取温度传感器的模拟值
  resistance=(float)(1023-a)*10000/a; //计算出传感器的电阻值
  temperature=1/(log(resistance/10000)/B+1/298.15)-273.15;//将电阻值转换成温度值
  delay(500); //延时500毫秒
  val=map(temperature,0,50,0,180); //将转换的温度值映射到舵机的角度值
  myservo.write(val); //舵机转到相应的角度
文章来源网络
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-29 02:35 , Processed in 0.113819 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.