如何使用PICAXE制作无线温度计

描述

  在本文中,我将向您展示如何使用一些 PICAXE 来制作这样的东西。

  要求

  要完成此项目,您将需要以下内容:

  一台运行PICAXE 编辑器或类似 IDE 来对 PICAXE 进行编程的计算机。

  编程电缆。我正在使用AXE-027。

  一个PICAXE 20 平方米,一个 08 平方米。

  一个LCD、一个LM34、433MHz TX和 RX 模块。

  面包板和跳线。

  以下列表中的零件:

  温度计

  在本文中,我将使用 LM 34 温度传感器制作无线温度计。从数据表:

  “LM34 系列器件是精密集成电路温度传感器,其输出电压与华氏温度成线性比例。LM34 器件比以开尔文校准的线性温度传感器具有优势,因为用户不需要从LM34 器件无需任何外部校准或微调即可在室温下提供 +-1/2 o F 的典型精度,在-50 全范围内提供+-1-1/2 o F 的典型精度o F 到 300 o F 温度范围。”

  这对我的项目来说是完美的。

  要从 LM34 读取电压,我使用的是PICAXE 08m2。这是一个很棒的小微控制器。温度通过 RF 433MHz 模块传输。在接收器方面,我将有一个 PICAXE 20m2,带 LCD。

  硬件

  对于这个项目,我需要两个电路:一个用于发送,一个用于接收。让我们从发射器开始:

温度计

  微控制器在 BC547 NPN 晶体管的帮助下打开/关闭 433MHz 模块。这样,我就不会过多地干扰其他无线应用程序。发射器模块连接到 12v。这将增加范围。

  收件人:

温度计

  软件

  我们需要两个程序:一个用于发送,一个用于接收。您可以从下面的链接下载两者。源代码在正确的位置注释,但这里是一些命令的一些解释。

  在发射器中:

  readadc10 adc_pin, adc_raw

  readadc10 - 这是一个带有两个参数的命令,通道和变量。通道是模拟设备的引脚。就我而言,它是 LM34 的输出引脚。该变量是一个字变量。我将我的 adc_raw 命名为。Readadc10 具有 10 位分辨率。

  serout tx_pin,波特,(“LM34”,b0,b1,b10)

  serout - 此命令传输串行数据,8 位,无奇偶校验,1 个停止位。它需要三个参数:pin、baudmode 和 data。Pin 是发送引脚,我将其命名为 tx_pin。Baudmode设置为N2400_4,我程序中的数据是字节格式的adc_raw。在 PICAXE 环境中使用字变量时,字变量由两个字节变量组成。阅读PICAXE 手册中有关变量的更多信息。我在 serout 命令中使用了限定符。我的限定词是“LM34”。使用此功能,我可以让不同的传感器或设备进行报告,并且接收器将整理出预选赛。

  在接收器中:

  serin rx_pin,波特,(“LM34”),b6,b7,b27

  serin - 此命令接收串行数据。它需要四个或更多参数。Rx_pin 是 PICAXE 20m2 上的接收引脚,baud 是波特率,(“LM23”)是一个限定符,这意味着在 LM34 之后接收到的所有内容都将被读入变量。Serin 一次读取一个字节,我需要将字节放入变量中。

  将接收到的字节转换为 acsii 字符。我正在使用 bintoascii 命令:

  bintoascii tmp_c, b2, b3, b4

  此命令将字变量转换为单独的字节值。

  下载

  下载源文件,玩得开心!

  jc_20m2-无线温度计.zip

  结论

  在这篇文章中,我制作了一个带有两个 PICAXE 的无线温度计:一个 08M2 和一个 20M2。温度读数侧有一个 LM34 华氏温度传感器。该传感器的输出由微控制器读取,并通过无线模块传输。接收器读取串行数据,计算华氏温度和摄氏度,最后在 LCD 上显示温度。

  图片和视频

  发射机:

温度计

  接收者:

温度计

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分