📄 本文档(《红外感应风扇》徐子轩021011.docx)由原站嵌入文档解析而来(含配图 5 张)。
2021宁德五中创客作品创作方案04
项目作品案例名称:《基于Arduino的智能风扇》
作品案例类别:创意智造
学校:福建省宁德市第五中学
作者:徐子轩 高二(10)
指导教师:邬肖英
涉及学科或专业领域:Arduino、光电传导、激光切割

项目作品概述
相对于传统小风扇需要手动开关的缺点,本款温光双控风扇可在无人时自动关闭,不会出现忘关风扇而导致“用时无电”的尴尬,而且还绿色省电,是兼具创意与节能的环保作品。
其次,本作品还有人性化的温控机制,在温度低于26°C时,小风扇会自动关闭,使您可以尽情的投入到学习、工作中,不会因为吹风扇而感冒着凉,是您学习、工作时的最佳搭档。
而且,本作品的红外线感应装置会在您拿起风扇时,自动启动风扇,无需手动按动按钮进行开关,真正做到了全自动的效果。
该装置要实现的功能为:
检测周围环境的温度、湿度,在OLED屏中显示;
如果环境温度大于20摄氏度,风扇自动开启,同时光电开关可以开关风扇,否则光电开关不能使用。
二、主要材料
核心部件:Arduino NANO 开发板、I/O扩展板
传感器:温湿度传感器、光电传感器
执行器:风扇
显示器:OLED显示屏
三、项目作品创作过程
A、外型设计
本作品分两个部分:上部风扇盒子,下部放主板、显示屏、温湿度传感器;两部分上下叠放。

硬件搭建
[材料清单]
1)Arduino NANO 开发板 X1
2)I/O扩展板 NANO 扩展板 X1
3)L9110风扇模块 X1
4)DHT11 温湿度传感器 X1
5)OLED显示屏 X1
[硬件连接]

编程程序
主程序

编程代码:
/*!
* MindPlus
* nano
*
*/
#include <DFRobot_DHT.h>
#include <DFRobot_SSD1306_I2C.h>
// 动态变量
volatile float mind_n_S;
// 静态常量
const chCode chBuf[] = {
{0x667a,0xe699ba,0xD6C7,{0x20,0x00,0x3e,0x7c,0x48,0x44,0x08,0x44,0xff,0x44,0x14,0x44,0x22,0x7c,0x40,0x00,0x1f,0xf0,0x10,0x10,0x10,0x10,0x1f,0xf0,0x10,0x10,0x10,0x10,0x1f,0xf0,0x10,0x10}},
{0x80fd,0xe883bd,0xC4DC,{0x10,0x40,0x24,0x44,0x42,0x48,0xff,0x70,0x01,0x40,0x00,0x42,0x7e,0x42,0x42,0x3e,0x42,0x00,0x7e,0x44,0x42,0x48,0x42,0x70,0x7e,0x40,0x42,0x42,0x4a,0x42,0x44,0x3e}},
{0x98ce,0xe9a38e,0xB7E7,{0x00,0x00,0x3f,0xf0,0x20,0x10,0x20,0x10,0x28,0x50,0x24,0x50,0x22,0x90,0x22,0x90,0x21,0x10,0x21,0x10,0x22,0x90,0x22,0x92,0x24,0x4a,0x48,0x4a,0x40,0x06,0x80,0x02}},
{0x6247,0xe68987,0xC9C8,{0x02,0x00,0x01,0x00,0x3f,0xfc,0x20,0x04,0x20,0x04,0x3f,0xfc,0x20,0x00,0x20,0x00,0x3f,0x7c,0x21,0x04,0x29,0x24,0x25,0x14,0x49,0x24,0x51,0x44,0x85,0x14,0x02,0x08}},
{0x6e29,0xe6b8a9,0xCEC2,{0x00,0x00,0x23,0xf8,0x12,0x08,0x12,0x08,0x83,0xf8,0x42,0x08,0x42,0x08,0x13,0xf8,0x10,0x00,0x27,0xfc,0xe4,0xa4,0x24,0xa4,0x24,0xa4,0x24,0xa4,0x2f,0xfe,0x00,0x00}},
{0x5ea6,0xe5baa6,0xB6C8,{0x01,0x00,0x00,0x80,0x3f,0xfe,0x22,0x20,0x22,0x20,0x3f,0xfc,0x22,0x20,0x22,0x20,0x23,0xe0,0x20,0x00,0x2f,0xf0,0x24,0x10,0x42,0x20,0x41,0xc0,0x86,0x30,0x38,0x0e}},
{0xff1d,0xefbc9d,0xA3BD,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00,0x00,0x3f,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}},
{0x6e7f,0xe6b9bf,0xCAAA,{0x00,0x00,0x27,0xf8,0x14,0x08,0x14,0x08,0x87,0xf8,0x44,0x08,0x44,0x08,0x17,0xf8,0x11,0x20,0x21,0x20,0xe9,0x24,0x25,0x28,0x23,0x30,0x21,0x20,0x2f,0xfe,0x00,0x00}}
};
// 创建对象
DFRobot_SSD1306_I2C oled12864;
DFRobot_DHT dht11_A0;
// 主程序开始
void setup() {
Serial.begin(9600);
oled12864.setChCode(chBuf);
dht11_A0.begin(A0, DHT11);
mind_n_S = 0;
oled12864.begin(0x3c);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
void loop() {
oled12864.setCursor(32, 0);
oled12864.print("智能风扇");
oled12864.setCursorLine(3);
oled12864.printLine((String("温度=") + String((String(dht11_A0.getTemperature()) + String(".C")))));
oled12864.setCursorLine(4);
oled12864.printLine((String("湿度=") + String((String(dht11_A0.getHumidity()) + String(" %rh")))));
Serial.println(digitalRead(3));
if ((dht11_A0.getTemperature()>=20)) {
if ((!digitalRead(3))) {
delay(200);
if ((mind_n_S==0)) {
digitalWrite(7, LOW);
digitalWrite(8, LOW);
mind_n_S = 1;
}
else {
digitalWrite(7, LOW);
digitalWrite(8, HIGH);
mind_n_S = 0;
}
}
}
else {
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
}
作品完成
(设计、制作现场照片)

四、作品设计的体会
设计对于你来说是什么?是北欧风家具的极简格调,还是各大时装周上的别出心裁,又或许只是一切细微的观察机会、一场头脑风暴、一次对“理所当然”的质问?其实,设计没你想的那么神秘!
人人都能设计出独一无二的东西,只要你用心,没什么是不可能的。就像这款小风扇,它虽然还有很多像光感应距离过短、红外线感应不灵敏之类的问题,但我相信我会一一解决他们,并再次优化外壳设计,让这款风扇进入我们的生活。
——
原文档链接:https://ai-gtmaker.com/wp-content/uploads/《红外感应风扇》徐子轩021011.docx