【项目介绍】
太热了太热了太热了,随着夏季的到来本以为疫情会慢慢消失,谁知道北京又有新的病例,口罩还得戴着,因此戴口罩、勤洗手这些必不可少
说到洗手你的洗手液可能是这样子的(可能夸张一点)
啊!啊!啊!不买瓜!(不洗还好点)
作为创客的我必须有点作为才可以啊!
步骤1 流程图如下
所需元器件如下:
1、Beetle是DFRobot专门为电子制作爱好者和工作坊设计的微型Leonardo控制器
2、DFRobot超小型双路直流电机驱动,只有一个指甲盖大小,使用非常方便,满足各类DIY要求,配合Arduino源码,可以轻松实现电机控制
3、MP2636电源管理模块是一块小体积的充电/升压二合一模块,一次性满足充电和升压两个功能点,使用相当简单
4、DFRobot3.7V1000mA锂电池,这是一款体积小,质量非常轻的新型锂子化学聚合电池,每单位输出:3.7V/900mAh
5、HTTM系列电容式触摸开关按键模块,方便易用从传统机械按键转向触摸式按键
6、KC_IRS(卧式)超强红外感应模块,体积小,高稳定算法,防红外及强光干扰,双临界线,可手工设置反射触发距离
7、气液混合泡沫泵,将空气和液体按照3:1的混合
8、黑玻璃滤光镜800-2500nm红外高透滤光片,可有效的阻止其它光源抗干扰
9、透明塑料弹性管子家用食品级管细水管,耐磨、透明、柔韧性好、无毒无品
10、Micro USB转DIP母座(用作充电口用)
11、切断式洞洞板(DIY方便,毕竟专业PCB板太贵)
材料清单
- DFRobot Beetle控制器 X1 链接
- DFRobot微型双路1.5A直流电机驱动模块 X1 链接
- MP2636电源管理模块是一块小体积的充电和升压二合一模块 X1 链接
- DFRobot出品3.7V1000mA锂电池 X1 链接
- 电容式触摸开关(绿色) X1 链接
- KC_IRS(卧式)超强红外感应模块 X1 链接
- 泡沫泵(闲鱼上淘的二手货) X1
- 黑玻璃滤光镜800-2500nm红外高透滤光片(圆形15*2mm) X1 链接
- 透明塑料弹性管子(4*6毫米跟3*5毫米各一米) X2 链接
- 泡沫洗手液(带喷头,主要是要里面的滤网) X1
- Micro USB转Dip母座B型 X1 链接
- 切断式洞洞板 X1 链接
步骤2 硬件连接
1、各个模块之间首先要在切断式洞洞板上排好位,并用色笔在上面做好记号跟线路
2、把其它没用到的线切断,如下图(电路图由于时间关系没有用电脑软件画,将就点啊!)
3、组装完成后的主控板
步骤3 外壳的制作(3D打印)
1、首先要把各个模块的尺寸量好输入画图软件(本人使用的是UG6.0)
2、为了使空气跟洗手液混合并以泡沫的形式出来,我们需要制作一个三通容器,我在三通容器三分之二的位置上设置一些孔用来打散洗手液,再在后面设置一个滤网,这个滤网很重要,出来是不是泡沫就靠这个滤网了,滤网是在手动泡沫洗手液里面拆下来的;滤网是怎么装进去呢?我的办法是在3D打印机打印到设置好的高度后暂停,再把滤网放进打印件中,再开始打印,这样就完全把它封装进里面了!
3、整体组装
4、上视频
编程就非常简单了........
const int IRPin = 9; //红外引脚
const int MotorIA1 = A0; //电机驱动模块A路逻辑输入端1
const int MotorIA2 = A1; //电机驱动模块A路逻辑输入端2
const int Touch = 10; //触摸按键
const int LED = 11; //控制板指示灯
void setup(){
pinMode(IRPin,INPUT_PULLUP); //红外引脚设置为输入上拉模式
pinMode(MotorIA1,OUTPUT); //电机驱动模块IA1引脚设置为输出模式
pinMode(MotorIA2,OUTPUT); //电机驱动模块IA2引脚设置为输出模式
pinMode(Touch,INPUT); //触摸按键引脚设置为输入模式(硬件上设有下拉电阻)
pinMode(LED,OUTPUT);
digitalWrite(MotorIA1,LOW); //电机驱动模块IA1引脚上电初始化为低电平(电机停止)
digitalWrite(MotorIA2,LOW); //电机驱动模块IA2引脚上电初始化为低电平(电机停止)
}
void loop(){
if(digitalRead(Touch)){ //读取触摸按键电平(为真时执行)
if(!digitalRead(IRPin)){ //读取红外引脚电平(为真时执行)
digitalWrite(MotorIA1,HIGH); //电机转动
digitalWrite(MotorIA2,LOW);
delay(1000); //喷射1秒的剂量
digitalWrite(MotorIA1,LOW); //电机停止
digitalWrite(MotorIA2,LOW);
while(!digitalRead(IRPin)); //等待手离开
}
}
digitalWrite(LED,HIGH);
delay(500);
digitalWrite(LED,LOW);
delay(500);
}
【项目总结】
1、续航能力不足,可以加大锂电池的容量
2、功耗比较大,可以改为低功耗唤醒的方式
3、响应速度比较慢,可以由原来的程序查询法改为中断响应的方式
【注意事项】
1、红外高透滤光片与红外感应模块要有一个大概30度左右的夹角才能穿透红外光,90度角是穿透不过的
2、由于3D打印机是以喷丝的形式打印,其密封性不行,尤其是三通混合容器会出现漏气、漏水,我的解决办法是在三通混合容器表面上全部滴上一层502胶水
【相关资源】
最后分享程序源文件和外壳的stl文件
附件
Zheerrn2020.10.09
太牛啦
阿琛2020.06.17
好棒啊!!!
阿偶2020.06.17
还可以吧!制作的过程中会遇到很多问题,然后又一个个的把它们解决,甚是费心思!
rzyzzxw2020.06.17
很棒的项目啊
阿偶2020.06.17
在生活中挺实用的!