材料:
一个Arduino UNO(用USB线连接到您的计算机)
1 / 4W 220欧姆电阻器
预接线的LED
突破头
您还需要:
一台运行Arduino环境的计算机
基本焊接设备/技能
原理:
当您通过LED运行电流时,其温度会升高。上升量取决于您冷却它的效率。当您吹热LED时,额外的冷却会降低运行温度。我们可以检测到这一点,因为LED的正向压降随着温度的降低而增加。
电路非常简单,看起来很像驱动LED。唯一的区别是我们将添加额外的电线来测量LED打开时的电压降。为了更好地工作,你想使用一个非常小的LED(我建议使用0402表面贴装LED),用最薄的电线连接。这将使LED能够非常快速地加热和冷却,并最大限度地减少通过电线的热量损失。我们正在寻找的电压变化仅为毫伏 – 处于可通过UNO模拟引脚可靠检测的边缘。如果LED放在能够散热的东西上,它可能无法变得足够热,所以如果它在空中是最好的。
目录
准备好LED和电阻连接到您的Arduino UNO
将极薄的电线焊接到非常小的表面贴装LED需要相当多的技巧。幸运的是,您可以购买预接线的0402 LED。这些通常带有一个电阻(图中的热缩覆盖),其大小适合12V操作。如果这是你得到的,你将需要切断电阻器。如果您切断电阻器凸起旁边的热缩管,您可能能够拉下剩余的管子,留下一些裸露的电线导线进行焊接。如果您只是切断电线,则需要剥去少量绝缘层以便焊接,并且考虑到电线的厚度,这可能会非常棘手。
电线太粗,无法在Arduino接头中形成良好的连接,因此我们需要将它们焊接到更胖的东西上。我使用了一个分离头的引脚来进行连接,但你可以使用任何适当的规格线的废料。来自LED的背(阴极)导线焊接到单个分离式插头引脚。如图所示,红色(阳极)线应焊接到弯曲的电阻器上。将电阻上的引线修剪成相等的长度,并将它们焊接到两个相邻的插头引脚上,如图所示。
连接
如图所示连接LED /电阻器。连接到红色LED线的电阻器一侧变为A0。这将是我们使用模拟输入功能测量LED上的电压的地方。电阻的另一端连接到A1,我们将其用作数字输出,将其设置为高电平以打开LED。黑线必须连接到GND。可以使用任何Arduino GND引脚。
代码
下载代码并在Arduino IDE中打开它。然后,您可以将其上传到您的Arduino。
程序首先设置引脚方向并点亮LED。然后,它通过引脚A0上的analogRead测量LED的正向压降。为了提高测量精度,我们快速连续读取电压256次,并对结果求和。(像这样的过采样可以提高转换的有效分辨率,这样我们就可以看到变化小于转换器上的最小步长。)如果数据缓冲区sensedata []已满,我们将最新的总和与我们最早的总和进行比较存储在缓冲器中以查看最近的冷却是否将LED电压提高了至少MINJUMP。如果没有,我们将sum存储在缓冲区中,更新缓冲区指针,然后开始下一次测量。如果有,我们关闭LED 2秒钟,重置缓冲区然后重新开始处理。
为了更好地理解发生了什么,我们将每个总和写成串行数据,并使用Arduino IDE的串行绘图仪(在工具菜单下)来绘制LED电压随时间变化的图形。请记住将波特率设置为250000以匹配程序。然后,您将能够看到LED打开后电压升高时电压是如何下降的。这也将显示系统的敏感程度。触发LED后,它会在重新开启时稍微冷却下来,您将在图表上看到跳跃。