Kaiyun官方网

安防/监控视频

Arduino实验项目:温控电风扇

时间: 2025-02-22 01:15:01 |   作者: 安防/监控视频

详细介绍

  这个实验是用Arduino控制电风扇的工作,当气温达到某一设定值它打开风扇为你送来凉风;气温下降以后就停止工作,避免你受凉。在实验中我们大家可以学会读取模拟量输入值的函数analogRead()使用方法。

  温控电风扇就是根据温度大小控制电风扇的开关,温度高于某一预设值打开电风扇,低于这个值时关闭电风扇。因为本实验对温度的精度要求不高,也不需要传感器有很好的线性,所以最终选择普通的热敏电阻作温度传感器。热敏电阻属于半导体器件,按照温度系数不同分为正温度系数热敏电阻(PTC)和负温度系数热敏电阻(NTC)。热敏电阻对温度敏感,其电阻值随着温度的改变而改变。 正温度系数的热敏电阻在温度越高时电阻值越大, 负温度系数的热敏电阻在温度越高时电阻值越小。图1-1中RT采用的是负温度系数的热敏电阻,和R1一起组成电压分压电路,温度越高时分压电路输出到A0端的电压越小,Arduino根据模数转换后的数值判断是否要开启电风扇。

  电风扇使用USB风扇,它的工作电压5V,工作电流约500mA,因此Arduino的输出端口无法直接驱动,要用晶体管VT作开关,当D10输出高电平时,因电阻R2阻值较小,VT的基极电流比较大,经VT放大后使其导通饱和,集电极和发射板之间的电压降只有0.4左右,相当于一个开关,当VT导通饱和时风扇开始转动。晶体管基极接的电阻R2是起限流作用的,因为晶体管有放大能力,不需要太大的基极电流,另一方面,如果不接限流电阻,晶体管的基极就把Arduino的输出引脚对地短路,易引起其损坏。风扇最好使用一个单独的电源,以免在调试时加重对计算机USB接口的供电负担。

  热敏电阻没有严格的要求,只要是NTC型的就行,参数不同可能通过改变R1的阻值和在程序中调整参数解决。

  程序中500是对应我们设定的温度对应的模数转换值,可以在试验过程中确定,读者可能会问:为什么还要用一个525作参数呢?将loop()函数写成下面的形式不行吗?

  假如温度为25º时的模数转换值为500,微小的气温变化都会引起模数转换值的变化,即使不变,也不能够确保每次的模数转换值完全一致,这将造成风扇在临界温度点频繁动作,如何来解决这一问题呢?我们大家可以在温度达到25º时打开风扇,但是在温度不高于25º时不关闭风扇,而是等到温度不高于24.5º(25×98%)再关闭风扇。这里设置了一个2%的回差,能够尽可能的防止频繁动作。因为热敏电阻在小范围内的线性还是比较好的,所以我们大家可以根据25º对对应的模数转换值为500,算出24.5对应的模数转换值为500(1+2%)=510。

  本书主要介绍了Arduino的相关知识,书中包含20余个Arduino应用实例,用手把手的教育学生的方式帮读者学会这些实例的编程和制作的过程。通过这一些实例的制作读者既学会了Arduino的函数和各种模块的使用方法,也能制作出所需要的实用作品,此外,在制作的过程中,读者还能掌握电子电路的基本知识,学会电路制作和调试的基本技能,进而慢慢地提高了自己的编程能力。认真学完本书内容,不知不觉中读者就会发现了自己已经是一个Arduino高手,能够举一反三并开发出自己的项目了。

  平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。

推荐产品