广告

利用Espruino Pico设计热报警器

2023-02-28 15:50:02 Giovanni Di Maria 阅读:
在本文中,我们利用Espruino Pico设计了一个简单的热传感器,它能够在超过特定温度时触发报警器并驱动更强大的负载。通过修改代码,还可以创建高效的“窗口热控制”。

在本文中,我们利用Espruino Pico设计了一个简单的热传感器,它能够在超过特定温度时触发报警器并驱动更强大的负载。通过修改代码,还可以创建高效的“窗口热控制”。678ednc

简介

Espruino Pico(图1)是一块带有Arm Cortex STM32F401CDU6微控制器(MCU)、内置JavaScript解释器和PCB板载USB端口的小型电路板。可以使用非常易用的Chrome app Espruino Web IDE对其进行编程。它的一些技术特点如下:678ednc

  • CPU:ARM Cortex STM32F401CDU6;
  • 22个GPIO引脚;
  • 9个模拟输入;
  • 21个PWM;
  • 2个串口;
  • 3个SPI;
  • 3个I2C;
  • 每个GPIO端口在3.3V下操作,但也能很好地承受5V;
  • 引脚间距:两组9个引脚为2.54mm,一组8个引脚为1.27mm;
  • 电路板上有两个LED二极管(一红一绿)和一个按钮;
  • 电路板上带有3V、250mA稳压器,用于3.5~16V的输入电压;
  • 板载FET可用于驱动大电流输出;
  • 电流消耗:在睡眠模式下仅为0.05mA,对于2,500mAh电池,其电池寿命超过2.5年;
  • 尺寸:15×33×3mm;
  • 重量:2g。

可以使用集成变量LED1和LED2从固件访问红色和绿色两个LED二极管。还可使用BTN变量通过软件管理按钮。通过连接设备并按下按钮,DFU引导加载程序将会启动,这样就可以更改所有Espruino Pico固件。其上还带有JST鼓垫,用于安装JST PHR-2表贴连接器。有关该设备的更多信息,请访问Espruino Pico的网站。678ednc

678ednc

图1:Espruino Pico及其引出线。678ednc

EspruinoPico编程

2所示,Espruino Pico的主要编程方式有:678ednc

  • 通过JavaScript;
  • 通过基于Scratch的图形化编程语言。

可通过点击编辑器上的特定按钮实现两种语言之间的切换。因为两个源程序是同步的,所以一种编程语言中的所有更改都会反映在另一种编程语言中。可以将固件加载到设备中(连接到USB),然后通过按下另一个按钮通过虚拟串行通道(例如COM8)进行跟踪。显然,计算机已识别了该物品。678ednc

678ednc

图2:Espruino Pico签名编程和上传。678ednc

原型

购买新设备的第一步就是要熟悉它。除了传统的LED二极管闪烁(相当于编程语言全球性的“Hello world”)之外,Espruino Pico一项特别有用的操作是使用特定传感器来测量温度,该方法也适用于多种变量。该原型的操作特性非常基本、简单,但它可以在未来调整硬件和软件,从而产生更多有用、专业的系统。其特点可概括如下:678ednc

  • 使用LM35传感器进行温度测量;
  • 通过超采样提高测量精度;
  • Espruino Web IDE控制台上直接显示温度;
  • 可以在某些热条件下打开两个LED二极管。

此外,信号灯的操作模式如下:678ednc

  • 如果温度高于23℃,则红色LED二极管亮起。
  • 如果温度低于18℃,则绿色LED二极管亮起。
  • 如果温度在18℃和23℃之间,则所有LED保持关闭状态。

元器件的布线原理图或简单接线如3所示。可以在面包板上完成组装,也可以使用一些跳线来实现,这样非常适合连接到Espruino Pico的引脚。LM35模拟温度计需要采用4V至20V的连续滤波电压进行供电。必须要将电池、温度计和智能设备连接起来;还必须将LM35的模拟输出直接连接到Espruino Pico B1端口,而在系统中作为ADC模拟输入进行管理。本项目中将所开发的系统连接到PC的USB接口进行供电,并可以直接在浏览器中查看温度。678ednc

678ednc

图3:Espruino Pico上的温度计接线。678ednc

固件

固件是采用Javascript所编写,非常简单。显然,我们必须熟悉这种美妙的编程语言的原理。经典语言系统的程序员(C、C++和Basic)会发现Javascript语言强加了几个区别。“function(函数)”功能是整个系统运行的核心,它包含在“setInterval”函数中,因此可以在整个时间内连续重复进行。事实上,开发环境中没有“loop(循环)”函数,这是Arduino系统的典型特征。对LM35温度计所产生的电压进行模拟测量在无限循环内执行。其输出与温度成正比并且是线性的(以℃为单位)。它不需要外部校准,测量范围为–55℃至150℃,模拟输出范围为–550mV至1,500mV,使用起来非常简单且价格实惠。其所消耗的电流大约为60µA。在ADC读数中,Espruino Pico会返回一个介于0和1之间的数字电压,作为0V和3.3V之间的等效输入电压。建议各位阅读一下这方面的文档。该代码的超采样功能可实现更精确、稳定的测量。可以使用以下示例了解系统如何解码25℃的温度:678ednc

  • LM35温度计提供0.25V的电压(相当于25℃时为250mV)。
  • B1门的读数返回值为0.0833(对应于250mV)。
  • 将该值乘以3.3,以便将其规范化到0~3的范围:0.25。
  • 最后,将该值乘以100将其转换为摄氏度。

因此,通过三个控件对所获得的温度进行比较,就可预测三种不同的报警操作条件:678ednc

  • 如果温度高于23℃,红色LED二极管打开,绿色LED关闭。
  • 如果温度低于18℃,绿色LED二极管打开,红色LED关闭。
  • 最后,如果温度介于18℃和23℃之间,则将两个LED全都关闭。

每一秒,整个循环都会无限重复。下面列出了Javascript源代码。678ednc

var reading;678ednc

var average;678ednc

var i;678ednc

setInterval(function() {678ednc

average = 0;678ednc

for (i = 0; i < 100; i++) {678ednc

reading = analogRead(B1);678ednc

reading = reading * 3.3;678ednc

reading *= 100;678ednc

average += reading;678ednc

}678ednc

average = average / 100;678ednc

console.log(average);678ednc

if(average > 23) {678ednc

LED1.write(true);678ednc

LED2.write(false);678ednc

}678ednc

if(average < 18) {678ednc

LED1.write(false);678ednc

LED2.write(true);678ednc

}678ednc

if(average >= 18 && average <=23) {678ednc

LED1.write(false);678ednc

LED2.write(false);678ednc

}678ednc

}, 1000);678ednc

原型应用

原型使用起来真的很容易。现在要做的就是连接各种设备。4显示了所观察到的温度如何以1s的时间间隔显示在Web编辑器上。678ednc

678ednc

图4:使用Espruino Pico的温度计操作。678ednc

总结

本文提出了全功能温度计的基本结构。该系统还可通过添加功率控制装置启动大负载,以及监控和数据存储系统进行图形计算和统计,实现极大的扩展。678ednc

(原文刊登于EDN姊妹网站EEWeb,参考链接:Building a Thermal Alarm with Espruino Pico,由Franklin Zhao编译。)678ednc

本文为《电子技术设计》2023年2月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里678ednc

责编:Franklin
本文为电子技术设计原创文章,未经授权禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 嵌入式Rust:我们如今身处何方? Rust对于一般应用开发来说很有意义,但对于嵌入式软件团队来说真的有意义吗?Rust如今的情况如何,它是否就是大家所鼓吹的最美好的解决方案?
  • 毫米波雷达与音频技术重塑汽车驾乘新体验 汽车行业的发展正由两大创新领域主导:更为精准可靠的车内感知系统和高质量音频系统。传统方法如增加传感器或音频设备数量,虽可提升性能但会带来成本上升和复杂性增加的问题。
  • 创新的FPGA技术实现低功耗、模块化、小尺寸USB解决方 本文总结了业界用于高性能 USB 3 设备的一些典型解决方案,并介绍了一种新的架构,这种架构既能节省功耗和面积,又能提高灵活性和易用性···
  • 盘点CES 2025上基于Arm架构的AI创新和技术亮点 近期在美国拉斯维加斯举行的 CES 2025 再次彰显了其作为展示最新科技创新的重要平台。今年展会上所呈现的众多前沿产品和新的发布将推动各个行业的变革与发展···
  • 通嘉PD快充适配器高效能及小型化之氮化镓集成方案 随着消费者对便携性和高效充电的需求增加,手机厂商和充电器品牌纷纷推出小型化PD快充产品,以满足市场需求···
  • Arm 技术预测:2025 年及未来的技术趋势 Arm 对 2025 年及未来的技术发展做出了预测,范围涵盖技术的各个方面,从 AI 的未来发展到芯片设计,再到不同技术市场的主要趋势···
  • CES 2025:洞察汽车创新未来 从CES 2025的汽车方案展示可以看到,汽车OEM正从黑盒解决方案转变为区域架构为主的处理主干,传感器功能也逐渐优化,结合多模态输入数据与情境感知的 ML...
  • CES 2025:Edge AI硬件加速再掀热潮 边缘计算/边缘人工智能(Edge AI)一直是热门话题,在CES 2025也不例外。然而,实现边缘计算/智能的底层硬件是什么?又是如何实现与应用的呢?
  • 2024是AI MCU元年? 2024年开启了MCU领域的AI时代,2025年可望见证更多轻量化AI模型在MCU上的进一步突破...
  • 下载|汽车动力与底盘MCU市场现状研究报告 本报告选择汽车动力(Powertrain)与底盘(Chassis)系统中的MCU做探讨,一方面是因为,就车规MCU的角度来看,这两个组成部分更为关键、复杂,对安全性要求更高,更具实现难度;另一方面,即便是传统汽车角度,动力与底盘系统的电子控制也更加由来已久和具代表性。
  • 新一代MCU向着边缘AI和实时控制发展 在工业和汽车领域,电机驱动和数字电源转换是典型的实时控制系统,要求处理器具有高实时性和强大的数学计算与处理能力。这些应用需要优质的ADC和PWM功能,并通过联动机制,形成高效、有机的实时控制系统。
  • 下一代汽车微控制器:意法半导体技术解析 意法半导体(ST)深耕汽车市场已有30余年的历史,其产品和解决方案覆盖普通车辆的大多数应用系统。随着市场的发展,意法半导体的产品也在不断升级改进,其中的重要产品汽车微控制器(MCU)也不例外···
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了