自动洗手液
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 19 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要的工具和机器
| ||||
| ||||
|
应用和在线服务
| ||||
| ||||
|
关于这个项目
在过去的几个月里,COVID-19 大流行在世界各地蔓延开来。感染人数不计其数,不幸的是,有许多人员伤亡。世界卫生组织建议的最重要的措施之一是经常用肥皂或洗手液洗手。但最重要的问题之一是我们这样做的方式,那就是通过身体接触分配器,这消除了整个动作的目的,甚至会产生很大的感染风险。所以我 ,一个14岁的男孩 ,决定使用 Arduino Nano 板创建一些可以解决这个问题的东西,但我也希望它便宜,并且能够轻松、快速、有效地连接到许多不同的分配器!这正是我制作的,一个可以连接到大多数洗手液/皂液器的配件 并将它们彻底 免提和自动
首先观看此视频以了解设备的运行情况,并了解它的工作原理和制造方式!
第 1 步:了解机制
图> 图>
所以基本上步进电机通过耦合器连接到螺钉。然后使用螺母将 3D 打印压机的一侧与螺钉连接,另一侧则由 3D 打印杆支撑。杆不允许螺杆的旋转力旋转压脚,而是压脚线性移动 .通过这种方式,我们可以命令步进器以任何方向(前后)、任何速度和任意步数移动。
第 2 步:了解设备的工作原理
图> 图>
这个概念是,当连接到 3D 打印 IR 支架的 IR 障碍传感器被激活时,只需将您的手放在它下方几厘米处,按压器就会下降设定的距离,(按压分配器)等待 2秒,然后通过简单地上升直到终点停止开关被激活来返回到初始位置。同样,当设备第一次通电时,压脚会上升,直到开关被激活然后停止,作为一种自我校准,以便压脚可以使用。
图>然后使用尼龙搭扣将您选择的洗手液包裹起来并尽可能地拧紧。
现在自动洗手液分配器可以使用了!!
第 3 步:收集必要的组件
必要组件的所有链接都位于“事物”部分。
第 4 步:设计自定义部件
图> 图> 图> 图> 图> 图> 图>
所有的3D打印零件都是我在Onshape上设计的,但是你不用担心3D设计,因为我在“附件”部分提供了所有的.stl文件。
第 5 步:3D 打印定制塑料部件
图> 图> 图> 图> 图> 图>
我在我的 Creality3D Ender 3 V2 上用灰色和白色 PLA 以 0.2 毫米的层高和 20% 的填充率 3D 打印了零件。如果您无法使用 3D 打印机,可以尝试使用纸板或木头。
第 6 步:修改步进器
28BYJ-48 步进电机是一款小巧且非常便宜的步进电机。它是单极步进电机,扭矩约为 300 g/cm 它适用于我们的项目,但我希望它更强大以获得更好的结果。我们可以将扭矩增加到 800+ g/cm 通过转换 它变成双极 带有简单易操作的电机!
双极步进电机具有更大的线圈,因此扭矩更大 .
首先你要用螺丝刀取下蓝色的盖子。
图>移除后,您要使用小刀完全切断通往红线的中间痕迹。
你想确保它不 不再连接。
图>现在你可以切断两边的红线了。
您现在可以重新安装蓝色盖子。我需要切断它的 2 个支撑才能把它放回去。
现在您拥有自己的双极 28BYJ-48 步进电机。它具有大约 2.5 倍的初始扭矩。但是现在您需要获得一个双极步进驱动器,例如我正在使用的 DRV8825。驱动器的最小电源电压额定为 8.4V,我们的电机额定电压为 5V。但是不要担心双极版本的电机可以轻松处理该电压!
第 7 步:DIY 魔术贴领带 x2
是时候制作将配件连接到分配器的 Velcro 系带了。如果您已经有一些魔术贴电缆扎带,请随意使用它们。
你可以把它们做成你想要的长或短,但我建议在 30 厘米 - 40 厘米处切割一个部分,在 4 厘米 - 7 厘米处切割另一个。
现在你想把这两个部分装订在一起。确保将被装订在一起的边既粗糙又柔软。
现在您的魔术贴可以使用了!
图>您将需要其中两个。
第 8 步:电路
是时候创建电子电路了!对于初学者,将 9V 电池的地连接到 Arduino 地,中间有一个 100μF 的电解电容器(记住电容器的白线一侧是地/阴极)。将 9V 连接到通用开关,然后连接到电容器阳极上的 Vin。我正在使用两个迷你面包板,因为它们非常适合放在机箱内,使用您喜欢的任何面包板,但要考虑到空间有限。
将红外障碍传感器 VCC 连接到 5V,接地到地,最后将 OUT 连接到数字引脚 9。
现在我们要连接末端停止开关。将公共端连接至 5V,将常开端连接至数字引脚 8 并通过 1kΩ 电阻接地。
将 DRV8825 双极电机驱动器添加到面包板。将 Vmot 连接到 Arduino 的 Vin。将两个地连接到地。将 Dir 引脚连接到数字引脚 2,将 Step 引脚连接到数字引脚 3,使能引脚连接到数字引脚 4。将复位和睡眠引脚相互连接。
最后将28BYJ-48的蓝色线接到A2,黄色线接到A1,橙色线接到B1,粉色线接到B2。
图>电子设备终于连接上了!
第 9 步:编程
const int dirPin =2;
我们将驱动器的 Dir pin 定义为 Digital pin 2。
const int stepPin =3;
我们将驱动器的Step pin定义为Digital pin 3。
const int enablePin =4;
我们将驱动器的使能引脚定义为数字引脚 4。
const int stepsPerRevolution =6000;
我们定义每转的步数为6000,360度旋转一圈为2048步。
int endStop =8;
我们将endStop开关的输入引脚定义为数字引脚8。
int irSensor =9;
我们将红外障碍传感器的输入引脚定义为数字引脚 9。
void setup()
{
pinMode(endStop, INPUT);
pinMode(irSensor,INPUT);
在设置中,我们将 endStop 和 irSensor 引脚声明为输入。
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enablePin, OUTPUT);
我们将 stepPin、dirPin 和 enablePin 声明为输出。
digitalWrite(enablePin, LOW);
我们将 enablePin 设置为低电平以启用 DRV8825 驱动程序
while(digitalRead(endStop) ==LOW)
{
只要endStop开关的数字值为LOW(开关没有被按下。)
digitalWrite(dirPin, HIGH);
电机旋转方向设置为逆时针
for(int x =0; x <1; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite( stepPin, LOW);
delayMicroseconds(2000);
}
并且步进器将逆时针旋转一步,直到 While 语句的条件为假。
digitalWrite(enablePin, HIGH);
}
这会禁用我们的驱动程序,以便在不使用时驱动程序不会消耗太多电流。
void loop()
{
if(digitalRead(irSensor)==0)
{
在循环中如果irSensor的数字值为0(IR Obstacle sensor前面有障碍物(手))
digitalWrite(enablePin, LOW);
驱动程序被启用。
digitalWrite(dirPin, LOW);
电机旋转方向设置为顺时针。
for(int x =0; x {
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite( stepPin, LOW);
delayMicroseconds(2000);
}
步进器将顺时针旋转 6000 步。
delay(2000);
它将等待 2 秒。
while(digitalRead(endStop) ==LOW)
{
只要endStop开关的数字值为LOW(开关没有被按下。
digitalWrite(dirPin, HIGH);
电机旋转方向设置为逆时针。
for(int x =0; x <1; x++)
{
digitalWrite(stepPin, HIGH);
delayMicroseconds(2000);
digitalWrite( stepPin, LOW);
delayMicroseconds(2000);
}
}
并且步进器将逆时针旋转一步,直到 While 语句的条件为假。
digitalWrite(enablePin, HIGH);
}
}
然后驱动程序将被禁用,直到 If 语句的条件为真并且代码再次播放。
第 10 步:组装
盖板组装 图> 图> 图>
只需将 Velcro 系带放在缝隙中,在其顶部添加支架并将它们拧在一起。
x2
图>将 Velcro 把手拧到盖子上。封面组装现已完成!
x2
压脚组件 图> 图>
将直线轴承推入正确的孔中,直到它位于中间。用4颗螺丝将T8螺母拧入压脚左孔。
电子机箱组装
将您的电路放入电子设备外壳中。将步进器、开关和红外障碍传感器的电缆穿过孔。
红外障碍传感器支架组件
图>
将红外障碍物传感器拧入孔中,并用螺母拧紧配合并调整位置。
最后组装! 图> 图>
插入轴承。
图> 图>添加T8螺丝和压脚组件。(T8螺丝需要70mm到82mm长 .如果您有较长的螺钉,则应使用钢锯等工具将其切割成所需的尺寸。否则你可以尝试 3D 打印一个。)
图> 图> 图>将联轴器拧紧到电机轴上。然后将其拧紧到 T8 螺钉上。最后用两个螺丝将电机拧到底座上。
图>添加终点开关。
图>用 5 个螺丝将盖子拧到底座上。
图> 图>用 2 颗螺丝将红外障碍物传感器支架固定到底座的前部。
图>最后用 3 个螺丝将电子外壳拧到盖子上!好样的,项目完成了!
结论
这个可以让大多数洗手液/皂液器完全自动和免提的配件项目终于完成了!!
谢谢你的时间!!
代码
- Automatic_Hand_Sanitizer_Transformer.code
Automatic_Hand_Sanitizer_Transformer.codeArduino
小工具的代码//定义引脚连接和电机每转的步数const int dirPin =2; //定义driverconst的dir pin int stepPin =3;//定义driverconst的step pin int enablePin =4;//定义driverconst的使能pin int stepsPerRevolution =6000; // 一整(360 度)旋转是 2048 步int endStop =8;//我们定义了endstop 开关的输入引脚int irSensor =9;//我们定义了IR 障碍物sensorvoid setup(){ pinMode(endStop) 的输入引脚, INPUT);// 将引脚声明为输入 pinMode(irSensor,INPUT); pinMode(stepPin, OUTPUT);// 将引脚声明为输出 pinMode(dirPin, OUTPUT); pinMode(enablePin, OUTPUT); digitalWrite(enablePin, LOW);// 这将启用我们的驱动程序 while(digitalRead(endStop) ==LOW)// 当代码启动时,步进器将旋转直到结束停止开关 { //停止开关被激活 digitalWrite(dirPin, HIGH) ); //方向设置为逆时针 // 缓慢旋转电机 for(int x =0; x <1; x++) { digitalWrite(stepPin, HIGH);延迟微秒(2000);数字写入(stepPin,低);延迟微秒(2000); } }digitalWrite(enablePin, HIGH);// 这会禁用我们的驱动程序,以便在不使用时 // 驱动程序不会消耗当前}void loop(){ if(digitalRead(irSensor)==0)// 如果有IR 障碍传感器前面的障碍物(手) {digitalWrite(enablePin, LOW);//我们启用驱动程序digitalWrite(dirPin, LOW);// 方向设置为顺时针 // 缓慢旋转电机 for(int x =0; x
定制零件和外壳
设备的主要底座。这是实际按压分配器的组件。设备的盖子。充当电子设备的外壳。创建 Velcro 捆绑机制。您将需要其中两个。作为压脚部分的支撑。它连接到底座并作为红外传感器的支撑。将魔术贴固定在盖子上。
您将需要其中的 2 个。
示意图
制造工艺