基于arduinoUNO智能温度风扇设计与制作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于arduinoUNO智能温度感应风扇制作
十堰市第九中学彭超
在社会发展中,智能化已成为了人们追求生活品质的目标,在仓库存储和机房等这些面积较大,对温度变化无法实时监控的特殊场所,甚至对温度要求较高的设备间,需要智能化设备以来调节,实行实时监控与报警,减少人力的输出及事故发生的概率,基于arduinoUNO设计一款智能温度感应风扇能够很好的解决这个问题。

一、基于arduinoUNO智能温度感应风扇材料
1、arduinoUNO
Arduino是一款便捷灵活、方便开发者使用和上手的开源电子原型平台,包含各种型号的Arduino板及扩展板硬件资源和ArduinoIDE软件资源。

Arduino 不但仅是世界最流行的开源硬件,也是一个优秀的硬件开发平台,更是当前硬件开发的趋势。

本设计主要采用ArduinoUNO主控板、DS18B20温度传感器、130马达。

2、L298N电机驱动板
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。

该芯片采用15脚封装。

主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。

内含两个H桥的高电压大电流全桥式驱动器,能够用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;能够外接检测电阻,将变化量反馈给控制电路。

使用L298N 芯片驱动电机,该芯片能够驱动一台两相步进电机或四相步进电机,也能够驱动两台直流电机。

3、DS18B20温度传感器
DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰水平强,精度高的特点。

4、130马达
5、电池盒
6、杜邦线
7、面包板
8、2.2k电阻
9、科技积木套件
二、实现可操作方案
为实现在特殊场所的温度控制,形成智能化的温控感应,本次设计的智能温度感应风扇方案为:
智能温控风扇,包括动力系统以及程序控制系统,上述各模块均连接arduinoUNO板,arduinoUNO分别连接用以检测空气温度的传感器、用以控制风扇转速的马达来实现对温度调结。

温控系统包括DS18B20温度传感器、用以检测空气的温度
130马达与arduinoUNO相连接,控制马达转速,带动风扇转动,从而调节温度。

程序通过ArduinoIDE编写,将程序编写好后,就能够通过此软件上传程序到Arduino开发板中执行。

在计算机端安装好ArduinoIDE软件开发环境后,使用USB线将ArduinoUNO连接至计算机的USB端口为控制板供电,即可实行程序的编写、下载和调试。

三、电路图设计
四:系统程序设计
#include<OneWire.h>//DS18B20所需要的库文件
#include<DS18B20.h>//DS18B20所需要的库文件
intin1=9;//定义电机信号脚in19号脚是pwm脚,在开发板上有“~”标示,方便下面调速
intin2=8;//定义电机信号脚in2
DS18B20ds(10);//DS18B20传感器信号引脚接arduino的10号脚
voidsetup()
{
Serial.begin(9600);//设置串口波特率
pinMode(in1,OUTPUT);//设置马达信号脚1为输出
pinMode(in2,OUTPUT);//设置马达信号脚2为输出
digitalWrite(in2,0);//将第二个引脚置低
digitalWrite(in1,1);//将第一个引脚抬高
analogWrite(in1,250);//设定转速
}
voidloop()
{
Serial.print("CurrentTemperatureis");//串口输出温度数值,用于测试,实际操作可注释掉
Serial.print(ds.getTempC());
Serial.println("C");
floattemp_val=ds.getTempC();
if(temp_val>50)//判断当前温度,假设大于50度
{
digitalWrite(in2,0);//将第二个引脚置低
digitalWrite(in1,1);//将第一个引脚抬高
analogWrite(in1,250);//设定转速,转速最高255,根据电流大小不同,100以上才容易启动,小于100电机不能自行启动
}elseif(temp_val>40)//判断当前温度
{
digitalWrite(in2,0);//将第二个引脚置低
digitalWrite(in1,1);//将第一个引脚抬高
analogWrite(in1,200);//设定转速
}elseif(temp_val>35)//判断当前温度
{
digitalWrite(in2,0);//将第二个引脚置低
digitalWrite(in1,1);//将第一个引脚抬高
analogWrite(in1,120);//设定转速
}elseif(temp_val<30)//判断当前温度
{
digitalWrite(in2,1);//将第二个引脚抬高
digitalWrite(in1,1);//将第一个引脚抬高
}
}
经系统调试和实践,基于arduinoUNO智能温度感应风扇运行正常,在现实生活中也颇具实际可操作性,能够解决解决仓库存储和机房等这些面积较大,对温度化无法实时监控的特殊场所的温控问题,为生活提供便利性。

相关文档
最新文档