用金属接近开关做一个智能手机支架

2020-07-031.6万
精华项目
AI 快速预览详细 收起
本文介绍了如何使用E2S-H4N1金属感应开关和Beetle BLE控制器制作一个能够自动检测并夹紧手机的智能支架。项目所需材料包括金属接近开关、Beetle BLE控制器、微型舵机等。通过将这些组件连接并编写代码,可以实现当手机靠近时自动夹紧的功能。这个项目不仅解决了手动调节夹臂间距的不便,还适用于各种尺寸的手机。


随着手机的应用日益增加,越来越多的人选择用手机进行导航。开车过程中,将手机放置于手机支架上,可以方便驾驶员在驾车过程中查看导航。目前市场上的手机支架主要通过左右和底部三点固定的方式对手机进行支撑,现有技术中的手机支架,针对不同尺寸的手机,大多需要手动调节左右两夹臂之间的间距进行夹紧,较为不方便。突发奇想,自己DYI一个能够检测到手机放入手机支架时自动夹紧的手机支架。
要完成以上功能的前提是,当有手机靠近支架时支架能检测出手机的靠近并做出响应。我这里使用了E2S-H4N1这款金属感应开关。当有金属物体出现在金属开关探测范围内时,开关的信号引脚为低电平。当没有金属物体在开关的探测范围时开关的信号引脚为高电平。另外开关的身材非常小巧,上面带有一个led指示灯能够更加准确直观的显示金属开关的状态。检测频率在1KHZ左右,能做出快速响应,抗干扰能力强。支持IP67级防护能适用与各种恶劣艰苦的环境。因为手机也含有较多的金属,实测无论玻璃后盖的手机还是带有手机壳的手机都是可以准确的检测出来的。所以E2S-H4N1完全可以胜任检测手机这个工作。
检测手机的传感器已经解决了。接下来就是主控制器,我这里选用的是Beetle BLE作为控制器。然后使用了一个180°的舵机来控制机械部分。


用金属接近开关做一个智能手机支架图1


准备材料:
    E2S-H4N1金属感应开关外观
用金属接近开关做一个智能手机支架图10

接线图:
用金属接近开关做一个智能手机支架图2



准备材料:
5. micro USB数据线
6. 排线若干
7. 细导线若干
用金属接近开关做一个智能手机支架图7



这里是3D打印的一些结构
用金属接近开关做一个智能手机支架图3

下面开始讲解详细制作过程
将感应开关、舵机、按钮的导线分别剪短并处理好线头(记住各自导线的作用)
用金属接近开关做一个智能手机支架图4

将感应开关、按钮、舵机的电源与地分别接一起
用金属接近开关做一个智能手机支架图12

将舵机、感应开关、按钮与控制板焊接在一起
用金属接近开关做一个智能手机支架图11
将舵机安装在背板相应的位置
用金属接近开关做一个智能手机支架图5
将舵机轴与舵机盘相连
用金属接近开关做一个智能手机支架图8
这里使用两颗螺丝固定控制器
用金属接近开关做一个智能手机支架图14

安装好按钮
用金属接近开关做一个智能手机支架图6

拧好限位螺丝将支架与舵机盘相连
用金属接近开关做一个智能手机支架图13

盖上正面改版并拧好螺丝
用金属接近开关做一个智能手机支架图9
将感应开关安装在最下面
用金属接近开关做一个智能手机支架图15

至此一个小巧实用的手机支架就已经完成了

用金属接近开关做一个智能手机支架图16
将以下代码下载到 Beetle BLE
[mw_shl_code=cpp,false]#include <Servo.h>

Servo myservo;


int pos = 0;

void setup() {
  myservo.attach(3);
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  for (pos = 50; pos <= 180; pos += 1)
  {
    myservo.write(pos);
    delay(5);
  }
  for (pos = 180; pos >= 50; pos -= 1)
  {
    myservo.write(pos);
    delay(5);
  }
  
}

void loop()
{
  while(digitalRead(5)==1);
  for (pos = 50; pos <= 160; pos += 1)
  {
    myservo.write(pos);
    delay(5);
  }
  delay(1000);
  for (pos = 160; pos >= 50; pos -= 1)
  {
    myservo.write(pos);
    delay(5);
  }
  delay(1000);
  while(digitalRead(4)==0);
  for (pos = 50; pos <= 160; pos += 1)
  {
    myservo.write(pos);
    delay(5);
  }
  delay(2000);
  while(digitalRead(5)==0);
  for (pos = 160; pos >= 50; pos -= 1)
  {
    myservo.write(pos);
    delay(5);
  }
  delay(2000);
}[/mw_shl_code]
下面来看一看做好后的演示效果

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(13)
20060606
20060606
解放双手的神器~
DFS1w2cb8o8
DFS1w2cb8o8
厉害厉害
佛系唐法官
佛系唐法官
66666666~
DFHJM_IpFmV
DFHJM_IpFmV
嗯嗯,不错的项目~ o(* ̄▽ ̄*)o
赞一个撒!
@WLE
TuTu
TuTu
超实用!
20060606
20060606
图片一直转圈出不来
dt
dt
实用,3D打印件需要改进
gray6666
gray6666
好实用的设备,赞。。。。。。。。。。。。。。
佛系唐法官
佛系唐法官
看到我整个人都懵了
小慈
小慈
还可以在用一个无线充电模块,当手机放上去后就打开。
Forgotten
Forgotten
原来是这么玩的,这个金属接近开关真是好东西,发现新天地了
hnyzcj
hnyzcj
创意不错,打印件可以再优化一下。
汤果
汤果
666,这个功能真的很棒!
WLE
WLE
作者
回复汤果
哈哈谢谢
- 没有更多了 -