定期洗手和使用消毒剂是去除手上冠状病毒的唯一方法。健康专家建议 20 秒洗手。20 秒?洗手时无法查看时钟。普通的秒表或计时器不适合这里。所以在这里我将构建一个自定义的非接触式 20 秒计时器。
在这里,我使用距离传感器来检测手的存在。然后微控制器(这里是 Arduino Uno)将伺服电机从 180 启动到 0。这个旋转需要 20 秒才能完成。这里伺服电机臂充当指针。
开始吧!!!
在utsource.net上购买免费送货的电子元件
步骤1
首先我要创建草图
打开Arduino IDE 。
这里我们使用伺服电机。所以我们需要使用“servo.h”库进行更好的通信。现在我定义了twopins,trigPin在4和echoPin在5。然后声明两个变量。一个是“持续时间”,另一个是“距离”。如果您不知道这个变量的用途,请阅读我之前的文章“使用 Arduino 接口超声波传感器”。然后声明另一个变量“Myservo”用于 Arduino 板和伺服电机之间的通信。接下来将另一个变量“pos”声明为循环变量。
#include<Servo.h>
#define echoPin 4
#define trigPin 5
Servo Myservo;
int pos;
int long duration;
int distance;
第2步
现在我们需要对设置部分进行编码。
首先将 trigPin 的 pinMode 设置为“OUTPUT”,将 echoPin 设置为“INPUT”。并设置伺服电机的连接销。这里我们使用 Arduino 板的 3 号引脚。
void setup(){
Myservo.attach(3);
pinMode(echoPin,INPUT);
pinMode(trigPin,OUTPUT);
}
设置部分完成。
步骤 - 3
接下来我们需要编写循环部分。
首先将 trigPin 设置为“LOW”2 微秒。然后将相同的引脚设置为“HIGH”10 微秒。接下来将其设置回“LOW”。然后读取 echoPin 并使用“pulseIn()”函数将时间存储到“duration”。然后计算这个持续时间的距离。
接下来我们需要使用“if”和“else”来控制伺服的条件。在 if 条件中,我们需要使用 for() 循环。“for()”循环中使用了三个参数。首先是循环变量的初始值,这里循环变量是“pos”。该值为 180。第二个参数是循环变量的最大值。该值为0。(为什么初始值为0?最大值为180?见校准部分)。第三个参数是“pos--”或“pos-1”。然后将“pos”中的值写入伺服电机。现在添加一个延迟功能。该值为 111.11 毫秒。为什么是 111.11 ?因为,我们需要在 20 秒或 20000 毫秒内将伺服电机旋转 180 度。所以 20000/180=111.11。接下来对 else 部分进行编码。在“其他”部分,将舵机位置设置为 180 度。然后等待 200 毫秒并重复此步骤。为此,添加另一个延迟功能。
void loop()
{
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
duration=pulseIn(echoPin,HIGH);
distance=(duration*0.034/2);
if(distance<=80){
for(pos=180;pos>=0;pos--){
Myservo.write(pos);
delay(111.1);
}
}
else{
Myservo.write(180);
}
delay(200);
编码部分完成。完整的代码在代码部分给出。将代码上传到 Arduino 板。
第4步
接下来是一些手工艺品。我们需要创建一个刻度或刻度盘来了解伺服位置或时间。
您可以打印上面的图像或创建自己的图像。我强烈推荐第二种选择。您可以从本文末尾获取 Photoshop 文件。这种形状粘贴在纸板上。然后剪出轮廓。现在将其粘贴到伺服电机上。将小臂用作指针或指针。(参见校准部分)。
步骤 - 5
硬件连接
Arduino 数字引脚 3 - 伺服信号引脚
Arduino 数字引脚 4 - HC-SR 04 触发引脚
Arduino 数字引脚 5 - HC-SR 04 回波引脚
Arduino 5V 引脚 - HC-SR 04 Vcc
Arduino 5V 引脚 - 伺服电机 Vcc
Arduino GND - 伺服电机 GND
Arduino 接地 - HC-SR 04 接地
这里一些相同的引脚用于不同的设备。为此,您可以使用“T”连接。
步骤 - 6
校准
要校准伺服电机,请在完成硬件连接后打开 Arduino。然后不要将手或任何物体放在距离传感器的前面。现在伺服电机的位置是180度。然后将小臂放在指向刻度最小位置(左侧)的轴上。
现在将距离传感器安装在伺服器附近。并连接适配器。设备完成。
请不要复制粘贴我的代码。了解每一行及其目的。然后自己做。
您可以在这里加入我们的电报群或搜索 INNOVATION。
待在家里,保持安全,保持创造力。让我们打破链条。
跟着我,
Instagram :五伏特玩家
脸书:阿克谢·约瑟夫
Github:akshayjoseph666
在评论框中分享您的经验和建议。
以前的文章
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !