延时摄影
Hustshenyang@126.com(讨论 | 贡献)2015年7月19日 (日) 09:57的版本 (Created page with "{{Language| 延时摄影}} {| style="width: 800px;" |- | ==目的== 利用按键设置延时时间,设置完后延时一段时间控制SONY相机拍照。 ==原理== 通过...")
Language | English |
---|
目的利用按键设置延时时间,设置完后延时一段时间控制SONY相机拍照。 原理通过检测按键次数设置延时时间,利用红外发射传感器发射红外信号控制SONY相机拍照。 设备
搭建硬件
软件调试
#define PHOTO 0xB4B8F //SONY相机拍照编码
#define KEY 2 //按键接口
boolean keyFlag = false; //按键标志位
unsigned long timeFlag = 0; //时间标志
int delayTime = 0;
IRsend irsend;
if((millis()> timeFlag+1000)&&delayTime>0) //判断按键超时,1s内没检测到按键说明按键结束
{
delay(delayTime*1000); //根据按键次数设置延时
for (int i = 0; i < 3; i++)
{
irsend.sendSony(PHOTO, 20); //发送拍照指令
delay(10);
}
Serial.println("take photo");
delayTime = 0;
}
if(keyFlag==false && digitalRead(KEY)==LOW) //判断按键按下
{
keyFlag = true;
}
else if(keyFlag==true && digitalRead(KEY)==HIGH) //判断按键松开,此时判断成一次按键
{
delayTime++; //按键计数+1
timeFlag = millis();
keyFlag=false;
}
delay(100);
程序结果将红外发射传感器对准SONY相机的红外接收头,在设置SONY相机为遥控模式,连续按n次按键,然后等待n秒钟后,SONY相机拍一次照。 视频 |