【项目介绍】
洗手后想尽快吹干吗?不想动手,还想着冬季吹着暖暖的风,夏季换成凉凉风-怎么办?懒人自有办法!买简单,造才有趣。
【解决方案】
简单分析:利用吹风机能吹出冷暖风来达到基本功能。配上传感器和微控制器实现自动感应。
硬件分工:DF的Cheapduino微控制器作为处理中心;输出端2个继电器控制风类电源开关;输入端1个红外传感器接收近距检测、1个LM35温度传感器感知空气温度、1个触摸开关。
工作原理:当有物接近红外开关传感器时,微控制器根据触摸开关状态决定出风类,否则根据LM35决定出风类。也就是说出风类可以根据空气温度自动决定(小于18摄氏度时出热风),或者操作者通过触摸开关来手动决定。
【作品演示】
【制作过程】
先折解不想用的吹风机。
基本电路必须得搞清楚。下图右边绿白接通控制出热风。无关电源线剪掉,做好绝缘。
DF cheapduino 微控制器小巧低功耗,普通手机电池可以启动它。焊接红电源+,黑电源-,绿白为信号。
开始准备加入温度值显示模块,后来删掉。
继电器接强电侧:
就相当于开关,一根连市电是通路。另一根一端接COM,另一端接NO(常开)
继电器接微控制器侧:
输入型传感器:
确保安全前提下接通市电!
【测 试】
【组 装】
下图左侧添加了内置手机电池的开关。
出风口太偏向墙壁侧了。
【完 成】
【项目总结】
总体思路简单、原理简单、代码简单、硬件也容易获得。但由于用了市电,必须安全第一!
改进想法:
1.利用弃用的5V1A类充电头可以直连接市电转给微控制器供电。
2.外形可以用3D打印。
。。。
【代码资源】
小技巧:
static bool touched = false;// 使用静态变量利于保留触摸开关状态 (如:只要触摸灯亮着,总出热风)
const int InfraredSensorPin = A0;
const int LM35Pin = A4;
const int relaySmallPin = 10;
const int relayBigPin = 11;
const int LedDisp = 13;
const int touchPin = A5;
uint16_t temp = 0;
static bool touched = false;// 使用静态变量利于保留触摸状态
///////////////////////////////////
void setup()
{
pinMode(InfraredSensorPin,INPUT);
pinMode(LM35Pin,INPUT);
pinMode(touchPin,INPUT);
pinMode(relaySmallPin,OUTPUT);
pinMode(relayBigPin,OUTPUT);
pinMode(LedDisp,OUTPUT);
digitalWrite(LedDisp,LOW);
}
////////////////////////////////////
void loop()
{
touched = digitalRead(touchPin);
temp = analogRead(LM35Pin)*(5/10.24);
if(digitalRead(InfraredSensorPin) == LOW)
{
digitalWrite(LedDisp,HIGH);
digitalWrite(relayBigPin,HIGH);
if( temp < 18 || touched == true )
{
digitalWrite(relaySmallPin,HIGH);
}
else
{
digitalWrite(relaySmallPin,LOW);
}
}
else
{
digitalWrite(LedDisp,LOW);
digitalWrite(relayBigPin,LOW);
}
}
ASH腻2021.09.23
厉害