打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用金属感应开关做一个智能手机支架 | DF创客社区推荐作品
手机的应用日益增多,很多人选择用手机进行导航。在开车过程中,驾驶员将手机放置于手机支架上,查看地图很方便。目前市场上的手机支架主要通过左右和底部 3 点固定的方式对手机进行支撑,针对不同尺寸的手机,大多需要手动调节左右两个夹臂之间的间距进行夹紧,不够方便。我想 DIY 一个能够检测到手机放入并自动夹紧手机的手机支架。
完成以上功能的前提是,手机支架能检测出手机的靠近并做出响应。我使用了E2S-H4N1 金属感应开关(见图1)。有金属物体出现在金属开关探测范围内时,开关的信号引脚为低电平;没有金属物体在开关的探测范围时,开关的信号引脚为高电平。另外开关的体积非常小巧,上面带有一个 LED,能够直观地显示开关的状态。检测频率在 1kHz 左右,它能做出快速响应,抗干扰能力强,具有 IP67 级防护能力,适用于一般生活环境。因为手机含有较多的金属,实测即使是玻璃后盖的手机和带有手机壳的手机也可以准确地检测出来。E2S-H4N1 完全可以胜任检测手机这项工作。
检测手机的传感器解决了,接下来就是选择主控制器,我选择的是 Beetle BLE。然后我使用了一个 180°微型舵机来控制夹紧手机的机械部分,还使用了一个数字大按钮模块控制松开手机。
制作所需的材料如附表和图2、图3所示,硬件连接如图4 所示。
· 制 作 过 程
· 程 序 编 写
将以下程序下载到 Beetle BLE 控制器中,智能手机支架就可以使用了。
#include <Servo.h>
Servo myservo;i
nt 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);
}
科普 · 创新 · 实作 · 分享
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
金属感应接近开关电路
arduino uno只能同时驱动2个舵机吗?
机械臂控制程序
电气安装工程监理实施细则
电感式金属感应接近开关
什么是电感式接近开关 电感式接近开关工作原理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服