上次在“云台、天线、摄影器材综合讨论区”发了个相机的红外遥控快门:http://bbs.5imx.com/bbs/forum.php?mod=viewthread&tid=922843&extra=page%3D2
这次再发个卡片机的吧。
卡片机一般都没有红外遥控的,我在论坛看大家基本上就两种方案遥控:一种是直接用的舵机固定好位置,遥控舵机按压相机快门;另一种是把相机拆开,引出快门开关那几根线(一般是三根,gnd、对焦、快门),然后做一个遥控开关。
我今天要说的就是这个遥控开关,最早我是用的继电器加舵机拆出来的那块板,可靠性不太好,体积、重量都大。后来玩mwc接触arduino后用arduino pro mini的板子加三极管搭的开关电路;可靠性更好了但是尺寸还是大,而且三极管做开关效果不太好要加滤波那些,电路也复杂些。
随着对arduino的学习,现在我用的ATtiny加mos管,整体尺寸和电路都缩小了很多。原来热缩套封起来一整坨比我拇指都大,现在整个才小指头那么大。成品装到飞机上了,今天就拍几张用面包板搭的电路吧。
简单的代码示例:
- void setup() {
- pinMode(0,INPUT);
- pinMode(1,INPUT);
- pinMode(2,OUTPUT);
- pinMode(3,OUTPUT);
- pinMode(4,OUTPUT);//定义针脚输入输出功能
- }
- void loop() {
- int i = pulseIn(0, HIGH);
- int j = pulseIn(1, HIGH);//识别两个通道的pwm信号
- if(i>1900) digitalWrite(2,HIGH),delay
- else digitalWrite(2,LOW);//根据0号通道的信号相机开关机
- if(j<1200) digitalWrite(3,LOW),digitalWrite(4,LOW);//低位不动作
- if(j>1400&j<1600) digitalWrite(3,HIGH),digitalWrite(4,LOW);//中位对焦
- if(j>1900) digitalWrite(3,HIGH),digitalWrite(4,HIGH);//高位拍摄
- }
复制代码
图上我是用的led代替的mos管和相机,视频弄起来麻烦就看看这两张照片吧。图中我接的接收机5,6通道,当我在遥控器上拨动5通道开关,右边的led灯会亮起来,如果接的相机就是开机;拨动6通道的开关,左边灯灯会亮起来(本来是两个灯,分别代表对焦和拍摄开关)。
mos管最简单的就是从坏掉的电调上拆,具体拆到什么就去百度搜对应的mos管的datasheet。上面的代码示例需要使用p沟道的mos管,高位导通的。
更多更细的功能就留给大家自己想吧,比如延时拍摄,定时拍摄什么的。
|