4周PADS强化班 HOT
林超文手把手教你学!
张飞暑期特训班
教你1000种电路设计思路
年度IP:PFC电源
张飞硬件电路之PFC全集
30天AD项目众筹
参与免费送VIP+原创视频
最全模电系列教程 NEW
运放、ADC、电磁兼容

[创意DIY] 360度运动相机

[复制链接]

管理员

发表于 2018-5-29 20:47:23   327 查看 0 回复 显示全部楼层 倒序浏览
分享

关于这个项目我想出了这个想法来解决我家用安全摄像头遇到的问题。我有一台特定的摄像机位于两个房间之间的墙上,但是除非您登录到摄像机软件手动旋转,否则一次只能看到一个房间。如果有人要走进对面的房间,相机将永远不会记录该动作。为了解决这个问题,我决定创建一个运动检测/跟踪基础,在该基础上我可以安装摄像头,以便自动将其自身重新定位到检测到运动的任何位置。


怎么运行的
该装置使用5个PIR运动传感器来检测半径180º内的任何移动。一旦检测到运动,伺服电机就会旋转摄像机底座指向该方向。在基座内还有5个LED“状态”指示灯,当PIR传感器检测到运动时,该指示灯将亮起。
连接
这个项目的接线简单直接,但是由于除了伺服电机之外还有5个接线,所以接线的数量开始增加很多。查看本页底部的电路图和原理图了解更多详细信息,但以下是基础知识。
LED状态指示灯...
我用一个小型面包板让LED灯与电路的其余部分分开,以便在需要时更容易移除。每个LED响应不同的PIR传感器,并在检测到运动时随时点亮。只需将每个LED连接到Arduino上的独立数字输入(9-13),并通过220欧姆电阻将其接地。
PIR运动传感器...
我在这个项目中使用了HC-SR501型PIR传感器。每个PIR传感器都需要连接到Arduino,5V电源和地面上的数字输入(2-6)。如果您使用的是与我相同的PIR传感器,则可以(小心地)将盖子弹出,并在下方标记引脚。您将每个PIR传感器连接到稍后上传的代码中相应的LED灯。
伺服电机...
伺服电机安装在相机所在的支架上,并旋转相机以与主动PIR传感器对齐。使用电机引脚,将一个引脚连接到电源,另一个引脚连接到Arduino数字输入7,最后一个引脚连接到地。在为Arduino供电之前,请确保在电机的电源和地之间连接一个100μF的电容器,以帮助保护电路板免受电机移动时发生的电涌。关于伺服电机需要注意的一点是,并非所有伺服电机都具有完整的180º运动范围。经过一些测试后,我发现我的移动速度只有160º,所以如果您的电机不同,请相应修改代码。在最后一个PIR传感器位置发出磨削噪音时,您会知道电机试图移动太远
Construcions
我使用了一台旧的Memorex CD贴标机用于伺服机箱和照相机的表面。我没有采取'之前'的图片,所以下面的图片是我在网上可以找到的唯一剩余的图片。后面的部件是一块平坦,坚固的塑料圆片,最终在一片中脱落(经过我的螺丝刀小小的说服),因此找到了一个放置相机的好地方。它还配备了4个可移动的橡胶“脚”,这有助于在电机移动时给相机更多的抓握力。我把我的钳子拿到中间的黑色部分去除它......我的意思是,在它消失之前将它分成许多部分。接下来,我用Dremel在基地钻了一些洞,然后用一对螺丝连接伺服电机。最后,我用另一个螺丝将伺服电机安装在相机所在的部位。我遇到了一个问题,即照相机的重量导致底座倾斜,所以我解决了这个问题,使得纸板圆筒的高度足够宽以适合电机和相机之间的距离。现在它仍然可以自由移动,但它的重量均匀分布,支持更多。
000.png
333.png
000.png
333.png
/ *******************
***
Afshaan Ahmed推出
的动感摄像机底座*** ***
***************************** ******************** / / /
Servor motor #include <Servo.h>



伺服 camServo ;  //命名控制摄像机底座的伺服电机
int  currentPIRposition  =  0 ;  伺服的//设置当前角度
// LED状态灯诠释LEDpin [] = { 9 ,10 ,11 ,12 ,13 }; // LED引脚号int currentLEDpin = 9 ; //当前的LED引脚; 与第一开始上述序列中// PIR传感器诠释PIRpin [] = { 2 ,3 ,


   
   


   4 ,5 ,6 };  // PIR管脚编号
int  currentPIRpin  =  2 ;  //当前的PIR引脚; 与序列中的第一个开始上述
INT  PIRprevState []  =  { 1 ,1 ,1 ,1 ,1 };  //在PIR的先前状态(0 =低,1 = HIGH)
INT  PIRposition []  =  { 157 ,117.75 ,78.5 ,39.25 ,0 }; //为伺服电机分配角度(
0-157 平均分布在5个PIR传感器之间)
布尔 PIRstatus ;  //将PIR传感器的状态设置为true或false
///// SETUP //////////////////////////////// ////// void setup (){ Serial 。开始(9600 ); camServo 。附上(7 ); //分配伺服销对(INT p = 0 ; p < 5 ; p ++ ){ //设置所有PIR传感器作为输入pinMode

(PIRpin [ p ], INPUT );
} //结束'P'为对(INT 升= 0 ; 升< 5 ; 升++ ){ //将所有LED作为OUTPUTS pinMode (LEDpin [ 升],OUTPUT ); } //结束'l'用于///////校准PIR传感器/////// 串行。打印(“校准PIR传感器” ); for (int c = 0 ; c
     
<  15 ;  c ++ ){  //校准PIR传感器15秒(根据您的传感器从10-60秒变化)
串行。print (“。” ); 延迟(1000 ); //等待1秒} //结束串行校准。println (“PIR传感器就绪” ); camServo 。写(78.5 ); //将伺服器移动到中心位置开始} //结束设置///// MAIN LOOP /////////////////////////// /////// void loop ()
      
{
for (int PIR = 0 ; PIR < 5 ; PIR ++ ){ //为每个PIR传感器启动此循环currentPIRpin = PIRpin [ PIR ]; //在'for'循环中将当前PIR引脚设置为当前编号currentLEDpin = LEDpin [ PIR ]; //将当前LED引脚设置为'for'循环中的当前编号PIRstatus = digitalRead (currentPIRpin ); if (PIRstatus == HIGH ){

         //在当前PIR传感器
digitalWrite (currentLEDpin ,HIGH )上检测到运动; // 如果(PIRprevState [ PIR ] == 0 ){ //如果PIR传感器的先前状态为LOW,则打开相应的LED if (currentPIRposition != currentPIRpin && PIRprevState [ PIR ] == 0 ){ //如果高PIR不同于当前位置PIR然后移动到camServo的新位置。写(PIRposition [

          PIR ]);
串行。打印(“当前角度:” ); 串行。println (PIRposition [ PIR ]); 延迟(50 ); currentPIRposition = currentPIRpin ; //将当前PIR位置重置为激活[PIR]引脚PIRprevState [ PIR ] = 1 ; //将先前的PIR状态设置为高电平} PIRprevState [ PIR ] = 1 ;
         
//设置以前PIR状态为HIGH,如果当前位置是与当前PIR销
} //结束如果PIRprevState   } //结束如果PIRstatus 别的{ // digitalWrite (currentLEDpin ,LOW ); // LED 将传感器输出引脚状态可视化PIRprevState [ PIR ] = 0 ; //将之前的PIR状态设置为LOW } //结束else } //结束[PIR] for循环} //结束主循环
         
      
   



标签:Arduino
高级模式
您需要登录后才可以回帖 登录 | 注册

4周PADS强化班 HOT
林超文手把手教你学!
张飞暑期特训班
教你1000种电路设计思路
年度IP:PFC电源
张飞硬件电路之PFC全集
30天AD项目众筹
参与免费送VIP+原创视频
最全模电系列教程 NEW
运放、ADC、电磁兼容
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表
-

推荐专区

技术干货集中营

专家问答

方案交易

用户帮助┃咨询与建议┃版主议事

工程师杂谈

项目|工程师创意

招聘|求职}工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Android论坛

Linux论坛

单片机/MCU论坛

MSP430技术论坛

FPGA|CPLD|ASIC论坛

STM32/STM8技术论坛

NXP MCU 技术论坛

PIC单片机论坛

DSP论坛

瑞萨单片机论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

PCB设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

Orcad论坛

-

综合技术与应用

电机控制

智能电网

光电及显示

工程资源中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

厂商专区

TI论坛

TI Deyisupport社区

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

电子展览展会专区

芯片求购|供应发布区