所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
#造作一夏#自动洗手液泡沫机
阿偶 阿偶 2020-06-15 00:57:56
2
4
简单

【项目介绍】

太热了太热了太热了,随着夏季的到来本以为疫情会慢慢消失,谁知道北京又有新的病例,口罩还得戴着,因此戴口罩、勤洗手这些必不可少

说到洗手你的洗手液可能是这样子的(可能夸张一点)

projectImage

啊!啊!啊!不买瓜!(不洗还好点)

作为创客的我必须有点作为才可以啊!

步骤1 步骤1
流程图如下
projectImage
所需元器件如下:

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板太贵)

材料清单 材料清单
1x
DFRobot Beetle控制器
1x
DFRobot微型双路1.5A直流电机驱动模块
1x
MP2636电源管理模块是一块小体积的充电和升压二合一模块
1x
DFRobot出品3.7V1000mA锂电池
1x
电容式触摸开关(绿色)
1x
KC_IRS(卧式)超强红外感应模块
1x
泡沫泵(闲鱼上淘的二手货)
1x
黑玻璃滤光镜800-2500nm红外高透滤光片(圆形15*2mm)
2x
透明塑料弹性管子(4*6毫米跟3*5毫米各一米)
1x
泡沫洗手液(带喷头,主要是要里面的滤网)
1x
Micro USB转Dip母座B型
1x
切断式洞洞板
projectImage
projectImage
projectImage
步骤2 步骤2
硬件连接

1、各个模块之间首先要在切断式洞洞板上排好位,并用色笔在上面做好记号跟线路

2、把其它没用到的线切断,如下图(电路图由于时间关系没有用电脑软件画,将就点啊!)

projectImage
projectImage
projectImage

3、组装完成后的主控板

projectImage
步骤3 步骤3
外壳的制作(3D打印)

1、首先要把各个模块的尺寸量好输入画图软件(本人使用的是UG6.0)

projectImage

2、为了使空气跟洗手液混合并以泡沫的形式出来,我们需要制作一个三通容器,我在三通容器三分之二的位置上设置一些孔用来打散洗手液,再在后面设置一个滤网,这个滤网很重要,出来是不是泡沫就靠这个滤网了,滤网是在手动泡沫洗手液里面拆下来的;滤网是怎么装进去呢?我的办法是在3D打印机打印到设置好的高度后暂停,再把滤网放进打印件中,再开始打印,这样就完全把它封装进里面了!

projectImage

3、整体组装

projectImage
projectImage
projectImage
projectImage
projectImage
projectImage

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文件

附件 附件
Makelog作者原创文章,未经授权禁止转载。
2
4
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]