回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

#造作一夏#自动洗手液泡沫机 简单

头像 阿偶 2020.06.14 3872 5

【项目介绍】

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

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

project-image

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

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

步骤1 流程图如下

project-image

所需元器件如下:

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 链接
project-image
project-image
project-image

步骤2 硬件连接

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

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

project-image
project-image
project-image

3、组装完成后的主控板

project-image

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

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

project-image

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

project-image

3、整体组装

project-image
project-image
project-image
project-image
project-image
project-image

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

附件

评论

user-avatar
  • Zheerrn

    Zheerrn2020.10.09

    太牛啦

    0
    • 阿琛

      阿琛2020.06.17

      好棒啊!!!

      1
      • 阿偶

        阿偶2020.06.17

        还可以吧!制作的过程中会遇到很多问题,然后又一个个的把它们解决,甚是费心思!

    • rzyzzxw

      rzyzzxw2020.06.17

      很棒的项目啊

      1
      • 阿偶

        阿偶2020.06.17

        在生活中挺实用的!