亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

运动跟随电动相机底座

组件和用品

Arduino UNO
× 1
电容 100 µF
× 1
LED(通用)
× 5
PIR 运动传感器(通用)
× 5
电阻 220 ohm
× 5
舵机(Tower Pro MG996R)
× 1

关于这个项目

我想出了这个想法来解决我的家庭安全摄像头遇到的问题。我有一个特定的摄像头,它位于两个房间之间的墙上,但是除非您登录摄像头软件手动旋转它,否则一次只能看到一个房间。如果有人走进对面的房间,相机永远不会记录下这个动作。为了解决这个问题,我决定创建一个运动检测/跟踪底座,我可以在上面安装相机,这样它就会自动重新定位到检测到运动的任何地方。

工作原理:

该设备使用 5 个 PIR 运动传感器来检测 180º 半径内的任何运动。一旦检测到运动,伺服电机就会旋转相机底座以指向该方向。底座内部还有 5 个 LED“状态”灯,只要其中一个 PIR 传感器检测到运动,它们就会亮起。

看到它在行动!

接线:

这个项目的接线简单明了,但是,由于除了伺服电机之外,所有东西都有 5 个,因此接线的数量开始增加很多。查看本页底部的电路图和原理图了解更多详细信息,但这里是基础知识。

LED 状态灯...

我使用了一个迷你面包板将 LED 灯与电路的其余部分分开,以便在需要时更容易拆卸。每个 LED 响应不同的 PIR 传感器,并会在检测到运动时点亮。只需将每个 LED 连接到 Arduino 上单独的数字输入 (9-13),并通过 220 欧姆电阻将它们接地。

被动红外运动传感器...

我在这个项目中使用了 HC-SR501 型 PIR 传感器。每个 PIR 传感器都需要连接到 Arduino 上的数字输入 (2-6)、5V 电源和地。如果您使用与我相同的 PIR 传感器,您可以(小心地)打开盖子并在下面标记销钉。您将在稍后上传的代码中将每个 PIR 传感器连接到相应的 LED 灯。

伺服电机...

伺服电机安装在相机所在的支架上,并旋转相机以与主动 PIR 传感器对齐。使用电机的引脚分配,将一个引脚连接到电源,另一个引脚连接到 Arduino 数字输入 7,最后一个引脚接地。在为 Arduino 供电之前,请确保在电机的电源和地之间连接一个 100μF 的电容器,以帮助保护电路板免受电机移动时发生的电涌的影响。

关于伺服电机需要注意的一件事是,并非所有电机都具有完整的 180º 运动范围。经过一些测试,我发现我的只能移动大约 160º,因此如果您的电机不同,请相应地修改代码。当在 PIR 传感器的最后一个位置发出摩擦声时,您就会知道电机试图移动得太远。

施工:

我使用旧的 Memorex cd 贴标机制作伺服外壳和放置相机的表面。我没有拍“之前”的照片,所以下图是我在网上能找到的唯一一张照片。后片是一个扁平的、坚固的塑料圆盘,最终脱落成一体(经过我的螺丝刀的一点说服),因此非常适合放置我的相机。它还配备了 4 个可拆卸橡胶“支脚”,有助于在电机移动时为相机提供更多抓地力。

我把钳子拿到中间的黑色部分把它取下来……我的意思是,在它消失之前,把它分成尽可能多的部分:) 接下来,我用我的 Dremel 在底座上钻了几个洞,然后用几个螺丝固定伺服电机。

最后,我用另一个螺丝将伺服电机连接到相机所在的部件上。我遇到了一个问题,相机的重量导致底座倾斜,所以我通过制作一个足够高的纸板圆柱体来解决这个问题,以便在电机和相机之间松散地安装。现在它仍然可以自由移动,但它的重量分布均匀,有更多的支撑。

这是安装 PIR 传感器并完成所有电路后的样子。您会注意到我使用了几个面包板来完成我的项目。这样做的原因是将它们安装在底座中变得非常容易,并且可以在稍后进行故障排除和扩展时挑选并选择要移除的。

为了完成这个项目,我将纸板的所有可见部分都喷成黑色,使其与上面的黑色支架看起来更加无缝。

这是涂装后的成品...


代码

  • 主要代码
主要代码Arduino
PIR 传感器将在 Arduino 通电后校准 15 秒。建议您在此过程中离开房间,以便传感器在没有任何运动的情况下获得房间的真实图像。
/******************** ******************************** 跟随电动相机底座的运动****** Lindsay Fox *** ****************************************************/ // 伺服电机#include Servo camServo; // 命名控制摄像头的伺服电机 baseint currentPIRposition =0; // 设置舵机当前角度// LED 状态灯int LEDpin[] ={9,10,11,12,13}; // LED 引脚数int currentLEDpin =9; // 当前 LED 引脚;从上面序列中的第一个开始// PIR sensorint PIRpin[] ={2,3,4,5,6}; // PIR 引脚编号int currentPIRpin =2; // 当前 PIR 引脚;从上面序列中的第一个开始int PIRprevState[] ={1,1,1,1,1}; // PIR 的前一个状态 (0 =LOW, 1 =HIGH)int PIRposition[] ={157,117.75,78.5,39.25,0}; // 为伺服电机分配角度(0-157 在 5 个 PIR 传感器之间平均分配)boolean PIRstatus; // 将 PIR 传感器的状态设置为 true 或 false///// SETUP /////////////////////////////// //////void setup() { Serial.begin(9600); camServo.attach(7); // 为 (int p =0; p <5; p++) 分配伺服引脚 { // 将所有 PIR 传感器设置为 INPUTS pinMode(PIRpin[p], INPUT); } // end 'p' for (int l =0; l <5; l++) { // 将所有 LED 设置为 OUTPUTS pinMode(LEDpin[l], OUTPUT); } // end 'l' for /////// CALIBRATE PIR SENSORS /////// Serial.print("Calibrating PIR Sensors "); for(int c =0; c <15; c++){ // 校准 PIR 传感器 15 秒(根据您的传感器从 10-60 秒变化)Serial.print(".");延迟(1000); // 等待 1 秒 } // Serial.println("PIR Sensors Ready"); 结束校准; camServo.write(78.5); // 将舵机移动到中心位置开始 } // 结束设置////// MAIN LOOP /////////////////////////// ///////void loop() { for (int PIR =0; PIR <5; PIR++) { // 为每个 PIR 传感器启动此循环 currentPIRpin =PIRpin[PIR]; // 将当前 PIR 引脚设置为“for”循环中的当前编号 currentLEDpin=LEDpin[PIR]; // 将当前 LED 引脚设置为“for”循环中的当前编号 PIRstatus =digitalRead(currentPIRpin); if (PIRstatus ==HIGH) { // 如果在当前 PIR 传感器上检测到运动 digitalWrite(currentLEDpin, HIGH); // 打开相应的 LED if(PIRprevState[PIR] ==0) { // 如果 PIR 传感器的先前状态为 LOW if (currentPIRposition !=currentPIRpin &&PIRprevState[PIR] ==0) { // 如果高 PIR 不同于当前位置 PIR 然后移动到新位置 camServo.write(PIRposition[PIR]); Serial.print("当前角度:"); Serial.println(PIRposition[PIR]);延迟(50); currentPIRposition =currentPIRpin; // 将当前 PIR 位置重置为活动 [PIR] 引脚 PIRprevState[PIR] =1; // 将之前的 PIR 状态设置为 HIGH } PIRprevState[PIR] =1; // 如果当前位置与当前 PIR 引脚相同,则将先前的 PIR 状态设置为高电平 } // 结束 PIRprevState if } // 结束 PIRstatus if else { // digitalWrite(currentLEDpin, LOW); //LED 可视化传感器输出引脚状态 PIRprevState[PIR] =0; // 将之前的 PIR 状态设置为 LOW } // 结束 else } // 结束 [PIR] for 循环 } // 结束主循环

示意图


制造工艺

  1. 相机
  2. Minimal RaspberryPI base
  3. 使用 Raspberry Pi 的运动传感器
  4. 移动侦测报警系统
  5. 运动控制的 AWS IoT 按钮
  6. 鸟舍中的带摄像头的树莓
  7. BrickPi Bookreader
  8. LIVE CAMERA STREAMING RASPBERRY PI – 运动设置
  9. 直线运动技术
  10. 全光相机
  11. 电动球阀简介
  12. MotoSight 3D CortexVision