亲爱的朋友们,欢迎来到另一个教程!
今天我们将学习如何将此模拟电压表与 Arduino 一起使用,并使其显示温度而不是电压。如您所见,在这个经过修改的电压表中,我们可以看到以摄氏度为单位的温度。温度由这个数字传感器 DS18B20 测量,然后显示在电压表上。我真的很喜欢像这样的模拟表盘,因为它们给项目带来了复古的感觉。
通过构建这个项目,您将获得非常宝贵的知识和经验。将模拟拨号添加到任何 Arduino 项目的知识,您将学习如何使用 Arduino 的 PWM 功能。
现在让我们看看如何实现该结果。
我们今天需要的部分如下:
该项目的成本约为 9 美元。
DS18B20 是一款数字温度计,可精确测量 -10°C 至 +85°C 范围内的温度,还包括报警功能和触发点。
这是一款非常易于使用的传感器,因为它使用单线接口。所以,我们只需要连接一根线就可以让它工作了!我过去经常使用这种传感器,而且由于它的易用性和准确性,我将来也会经常使用它。
传感器的成本约为 2 美元。你可以在这里得到它。
这是一款低成本直流模拟电压表。它的范围从 0 到 5V DC。它非常易于使用 - 您只需将导线连接到电压源,它就会显示电压。
我发现这个电压表非常有用,因为它的范围。我们可以使用 PWM 功能从 Arduino 的数字引脚轻松输出 0 到 5V 的任何电压。所以,这样我们就可以随意控制针的位置了!这样我们就可以构建任何我们喜欢的模拟仪表!我们可以使用像这样的电压表来构建令人惊叹的项目。
电压表的成本约为 2.5 美元。你可以在这里得到它。
首先让我们看看如何用Arduino 控制电压表。我们将电压表的正极连接到数字引脚 9,将负极连接到 GND。由于 Arduino Uno 不提供数模转换器,我们必须使用其中一个 PWM 引脚将模拟值写入 Arduino 的数字引脚。脉冲宽度调制是一种通过数字方式获得模拟结果的技术。我们不使用 PWM 将高电平写入数字引脚,而是发送一个脉冲。PWM 连接到 Arduino Uno 的某些引脚。支持 PWM 的数字引脚旁边有 ~ 符号。
为了向电压表发送一个值,我们使用analogWrite
命令并写入一个从 0 到 255 的值。因此,如果我们写入 0,则电压表显示 0V,如果我们写入 255,则电压表显示 5V。我们可以写入 0 到 255 之间的任何其他值,电压表将转到适当的位置。所以,如果我们想让电压表显示 2.5V,我们必须调用命令analogWrite(9,128)
。伟大的!现在我们可以随意控制电压表指针了!
现在让我们将电压表转换为温度计。
首先,我们必须连接 DS18B20 传感器。我们将带有 – 符号的引脚连接到 Arduino GND,将带有 + 符号的引脚连接到 5V,将信号引脚连接到数字引脚 2。就是这样。
现在我们必须准备面板仪表。我拧下这些螺丝,然后取下金属板。然后我们需要为它设计自己的脸。我使用 Photoshop 设计了一个简单的。实际上,设计面部比构建项目本身花费的时间要多得多,因此为了节省您的时间,我将在本教程中附上文件。现在我们所要做的就是打印面板仪表的表面并将其粘贴到位。如果我们加载代码并启动项目,我们可以看到它工作正常!如果我触摸传感器,温度会迅速升高。我们的模拟温度计准备好了!
现在让我们快速浏览一下该项目的代码,以了解其工作原理。
我们需要DallasTemperature
代码中的库进行编译。在这里得到它。
代码非常简单。我们首先从传感器读取温度。接下来我们将温度值传递给temperatureToPWM
函数。此函数使用映射函数将温度转换为 0 到 255 之间的 PWM 值。接下来,我们所要做的就是在电压表上写出这个 PWM 值。您还可以通过更改 MIN_TEMP 和 MAX_TEMP 全局变量的值来定义面板仪表可以显示的最高和最低温度。这两个值之间的差距越小,面板仪表提供的分辨率就越大。
您可以在此处找到项目的代码。您也可以访问该项目的网站以获得最新版本的代码。
如您所见,我们的模拟温度计工作正常!这是一个非常容易构建的项目,而且看起来也很酷!
我真的很喜欢这些模拟面板仪表的外观,所以我打算用它们构建很多项目。我打算使用 Arduino Nano 使事情变得更紧凑,并添加一些黄色漫射 LED 以在夜间照亮面板。我认为它会很酷。
我很想听听你对此的看法。你喜欢模拟面板表吗?如果是这样,您将使用其中一个构建什么样的项目?请在下面的评论部分发表您的评论,如果您觉得它有趣,请不要忘记为本教程点赞。谢谢!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !