一、前言
本文是使用STM32F103C8T6作为主控芯片,通过XPT2046转换IC读取热敏电阻的值,从而控制蜂鸣器响。当环境温度超过设定阀值时,蜂鸣器发出响声。
二、概述
(一)蜂鸣器
蜂鸣器是一种采用直流电压供电的综合结构电子器。主要分为两种,即有源蜂鸣器和无源蜂鸣器。
有源蜂鸣器内部是有发声电路,通过合适直流电就会发声音,另外有源蜂鸣器是有正负极之分。下图中是常用于工作电压为5v有源蜂鸣器,正面标有加号的一侧引脚为正极,如果全新的不剪引脚,正极引脚比负极长。

无源蜂鸣器利用电磁感应来促进振动膜的声音,因为电磁铁与永磁铁相互吸收或排斥后形成的声圈和交变电流。接入直流电只能继续促进振动膜,而不能产生声音,只能在连接或断开时产生声音。它与扬声器的工作原理基本相同。
(二)热敏电阻
热敏电阻是随温度变化而变化的传感器电阻。根据温度系数的不同,分为正温度系数热敏电阻(PTC)热敏电阻和负温度系数(NTC)。正温度系数热敏电阻器的电阻随温度的升高而增加,负温度系数热敏电阻器的电阻随温度的升高而降低,属于半导体装置。
三、硬件连接
四、程序例程
1、XPT请参考以下链接文章
XPT2046程序例程
2、主函数
int main(void) { int thermistor = 0; Buzzer_Pin_Init()//蜂鸣器初始控制函数 XPT2046_Pin_Init(); Sys_Delay_Init(); Usart1_Pin_Init(115200); printf("初始化成功\r\n"); while(1) { thermistor = XPT2046_Read_Date(0xD4); if (relay_vlaue < 2500) { //通过读取的原始值进行判断 PBout(8) = 0; //关闭 } else { PBout(8) = 1; //打开 } } }
读取到的ADC如何将数值转换为温度计算?请在评论区发表评论。
如果您有任何问题,请指出您可以联系博主的模块,博主将共享查询信息。