返回

传感器+STM8单片机变废为宝:你也能造温度巡检仪

后端

科技的发展日新月异,电子设备的更新换代也越来越快。这些报废的电子设备中,有不少仍然包含着有价值的元器件,比如STM8单片机和NTC热敏电阻。我们可以利用这些元器件,变废为宝,制作一个简单的温度巡检仪。

温度巡检仪可以用来监测设备的温度,当温度超过设定的阈值时,巡检仪就会发出报警。这对于防止设备过热或损坏非常有用。而且,DIY温度巡检仪成本低廉,制作过程也不复杂,非常适合业余爱好者和创客动手制作。

下面,我们就一起来看看如何使用STM8单片机和NTC热敏电阻来制作温度巡检仪吧!

准备材料

  • STM8单片机开发板
  • NTC热敏电阻
  • 电阻器(10kΩ、1kΩ)
  • 电容器(0.1uF、1uF)
  • LED灯(红色、绿色)
  • 蜂鸣器
  • 面包板
  • 连接线
  • USB数据线

制作步骤

1. 连接电路

首先,我们需要将STM8单片机开发板、NTC热敏电阻、电阻器、电容器、LED灯和蜂鸣器连接到面包板上。连接电路图如下:

[Image of Circuit Diagram]

2. 编写程序

接下来,我们需要编写STM8单片机程序。程序代码如下:

#include <stm8s.h>

#define LED_RED  GPIOC, GPIO_PIN_5
#define LED_GREEN GPIOC, GPIO_PIN_4
#define BUZZER   GPIOB, GPIO_PIN_5

#define NTC_PIN  GPIOA, GPIO_PIN_0

void main(void)
{
    // 初始化GPIO口
    GPIO_Init(LED_RED, GPIO_MODE_OUT_PP_LOW_SLOW);
    GPIO_Init(LED_GREEN, GPIO_MODE_OUT_PP_LOW_SLOW);
    GPIO_Init(BUZZER, GPIO_MODE_OUT_PP_LOW_SLOW);
    GPIO_Init(NTC_PIN, GPIO_MODE_IN_FL_NO_IT);

    // 主循环
    while (1)
    {
        // 读取NTC热敏电阻的电压值
        uint16_t adc_value = ADC_GetConversionValue();

        // 计算温度值
        float temperature = (float)adc_value * 3.3 / 4096 * 100;

        // 判断温度是否超过阈值
        if (temperature > 50)
        {
            // 超过阈值,打开红色LED灯和蜂鸣器
            GPIO_WriteHigh(LED_RED);
            GPIO_WriteHigh(BUZZER);
        }
        else
        {
            // 低于阈值,关闭红色LED灯和蜂鸣器,打开绿色LED灯
            GPIO_WriteLow(LED_RED);
            GPIO_WriteLow(BUZZER);
            GPIO_WriteHigh(LED_GREEN);
        }

        // 延时1秒
        Delay(1000);
    }
}

3. 上传程序

将程序代码上传到STM8单片机开发板上。

4. 测试巡检仪

将NTC热敏电阻连接到要监测温度的设备上。然后,给STM8单片机开发板供电。巡检仪就会开始工作了。

当温度超过设定的阈值时,巡检仪就会发出报警。红色LED灯会亮起,蜂鸣器也会响起来。

结语

通过上面的步骤,我们就完成了温度巡检仪的制作。这个巡检仪可以用来监测设备的温度,当温度超过设定的阈值时,巡检仪就会发出报警。这对于防止设备过热或损坏非常有用。而且,DIY温度巡检仪成本低廉,制作过程也不复杂,非常适合业余爱好者和创客动手制作。

希望大家能够喜欢这个教程,也希望大家能够用这个教程制作出自己的温度巡检仪。