描述
该项目使用 Arduino Uno、PIR 运动传感器、180 度定位伺服器和一个 LED。
一旦检测到运动,伺服系统会将附在其转子上的锤子移动到钟的路径中并返回。有两个伺服“示教位置”。静止示教位置是舵机等待运动的位置。锣示教位置是伺服移动到锣(或响)铃的位置。运动感应启用时,绿色 LED 灯亮起。
武装时,如果检测到运动,则...
激光激发
伺服从静止移动到锣位置并返回
一秒钟后,激光将断电
上面的一秒延时可调
如果将 PIR 运动传感器放入管子的入口,则靠近 PIR 运动探测器的管子有两个潜在用途
首先,是在调试期间。PIR 具有宽视角。这很好,但是当它视野中的任何东西移动时,都会启动音序器以激活激光器并敲响铃,使调试变得麻烦
其次,它将项目的运动感应部分变成了非接触式门铃。你在管子开口前挥动你的手,它会触发动作
简要说明创建
进一步的说明在项目的 LO1 电子表格的设置选项卡中
根据需要或期望获取零件替换
根据原理图连接 Arduino 和组件
激光是可选的,但价格实惠且有趣
使用胶棒或其他等效物将锣锤安装到伺服器上
创建一些简单的结构来固定伺服电机
如果使用激光,则相同
我之前购买了 Erector set 并将其用于我的所有项目
允许轻松创建有用和实用的结构
在您的计算机上安装 Microsoft Visual Studio Code IDE 和 Arduino IDE
将代码(文件名 LO1.INO)上传到 Arduino Uno
您可能需要使用 VS Code 中的两种方式之一更改计算机的 Com 端口号
在 VS 代码编辑器 'arduino.json 中打开代码文件并更改第 6 行
点击
创建和上传后要做什么
它启动时启用,如果所有接线都正常,绿色 LED 应该亮起
结果,运动感应将被武装
使用电子表格中定义的串行控制代码来测试接线
您还可以使用代码来设置休息和锣的伺服位置
使用代码 11nnn 将舵机移动到不同的位置
将 nnn 替换为 0-179 的角度
例如命令到 90 度然后输入 11090
如果对位置满意,则使用代码 10008 或 10009 分别保存休息或锣位置
对第二个教学位置做同样的事情
如果您不想采取此操作,则移动马达上锤子的执行器支架并触发运动并确认位置合适。
代码概念
该代码使用状态机概念,它循环执行多个步骤并且一次只能执行一个步骤。添加、更改和删除步骤非常简单。它还可以更轻松地准确了解您的代码在做什么以及何时执行 - 特别是在事情必须按特定顺序发生的情况下,如本项目。
一个步骤当然可以做更多的事情,但一般来说最好避免这种情况。在这里,您将看到移动伺服然后等待固定时间的步骤,但这是步骤可变性的范围。
您可以通过在代码第 156 行第 40 步中试验步进时间延迟,使钟锣运动在检测到的运动之间等待更长时间。当前设置为 1000 毫秒(1 秒)。让它变长,音序器将在这个步骤中停留更长时间。这是有效的,因为激活铃铛的运动感应仅发生在步骤 5 中。
此处的步骤编号之间的间隔不是必需的,但强烈建议这样做。如果你想添加一个步骤,例如,在给激光通电后但在移动伺服器之前,你有未使用的数字。
一些细节
该项目使用 Microsoft Visual Studio Code 和 Arduino Extension 进行编码,如作为项目一部分的说明电子表格中所述。
为了向 Arduino 发送串行代码以及进行监视和设置,我使用了 Arduino IDE 串行监视器,因为它可以轻松地将发送到 Uno 的命令与来自 Uno 的自动消息显示合并在一起。
Danisa Alejo 在创建和记录这个有趣的项目方面发挥了重要作用!
定义
锣(名词)含义:带有旋转边缘的金属圆盘,敲击时发出共振音符。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !