“延时摄影”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
第61行: 第61行:
  
 
==实验二:按键控制拍照==
 
==实验二:按键控制拍照==
==设备==
+
===设备===
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
第77行: 第77行:
 
  [[File:IR_Crash.jpg|600px|center|thumb]]
 
  [[File:IR_Crash.jpg|600px|center|thumb]]
  
==搭建硬件==
+
===搭建硬件===
 
*Setup 1:将红外发射传感器接到Hub的D6引脚上,碰撞传感器接到Hub的D8引脚上。
 
*Setup 1:将红外发射传感器接到Hub的D6引脚上,碰撞传感器接到Hub的D8引脚上。
 
[[file:mCookie-IR transmitter-pc.JPG|600px|center]]
 
[[file:mCookie-IR transmitter-pc.JPG|600px|center]]
第83行: 第83行:
 
[[file:mCookie-IR transmitter-crash-pc.JPG|600px|center]]
 
[[file:mCookie-IR transmitter-crash-pc.JPG|600px|center]]
  
==软件调试==
+
===软件调试===
 
*打开Arduino IDE,将下列代码复制到IDE中。
 
*打开Arduino IDE,将下列代码复制到IDE中。
 
<source lang="cpp">
 
<source lang="cpp">
第126行: 第126行:
  
 
*结果:将红外发射传感器对准SONY相机的红外接收头,在设置SONY相机为遥控模式,按下按键, SONY相机拍照一次。
 
*结果:将红外发射传感器对准SONY相机的红外接收头,在设置SONY相机为遥控模式,按下按键, SONY相机拍照一次。
===程序说明==
+
===程序说明===
 
*按下的时候是从“1”变到“0”,松开的时候是从“0”变到“1”,采用数据有变化的时候进行判断,然后检测当前值就可判断是按下还是松开,按下就拍照。
 
*按下的时候是从“1”变到“0”,松开的时候是从“0”变到“1”,采用数据有变化的时候进行判断,然后检测当前值就可判断是按下还是松开,按下就拍照。
 
<source lang="cpp">
 
<source lang="cpp">

2015年10月28日 (三) 05:19的版本

Language English

目的

使用红外发射传感器延时发送红外信号,控制SONY相机拍照。达到延时摄影目的。

实验一:系统延时发送

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
Microduino-IR transmitter/zh 1 红外发送传感器

准备

  • Setup 1:将IR transmitter传感器接口和Hub的数字口(D6)接起来,不可更改,只能用这个口。
  • Setup 2:将CoreUSB,Hub,IR transmitter连接在一起。通过USB数据线将接入电脑。

调试

  • 打开Arduino IDE,将下列代码复制到IDE中。
#include <IRremote.h>

#define PHOTO 0xB4B8F

IRsend irsend;


void setup() {
  Serial.begin(115200);
  pinMode(6, OUTPUT);
}

void loop() {
  for (int i = 0; i < 3; i++)
  {
    irsend.sendSony(PHOTO, 20); // Sony code
    delay(12);
  }
  delay(5000);
}
  • 选择正确的板卡和COM端口,编译通过后直接下载。
Upload.JPG
  • 打开相机,将模式设置成遥控器模式
  • 将红外发送传感器对准相机,每隔5S会发送红外信号,红外传感器上的led指示灯亮,同时可以听到相机咔的一声。
  • 将延时拍照的图片做成gif图效果很棒。

程序调试

  • 采用了“IRremote”红外库来支持红外的发送和接收。
  • “#define PHOTO 0xB4B8F”定义了sony相机的红外信号值。
  • 更改延时时间”delay(5000)”表示5S。

实验二:按键控制拍照

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
Microduino-IR transmitter/zh 1 红外发送传感器
Microduino-Crash/zh 1 碰撞传感器

搭建硬件

  • Setup 1:将红外发射传感器接到Hub的D6引脚上,碰撞传感器接到Hub的D8引脚上。
  • Setup 2:将CoreUSB,Hub,IR transmitter,Crash连接在一起。通过USB数据线接入电脑。

软件调试

  • 打开Arduino IDE,将下列代码复制到IDE中。
#include <IRremote.h>

#define PHOTO 0xB4B8F

IRsend irsend;

#define pushButton  8

int buttonState, num;

void setup() {
  Serial.begin(115200);
  pinMode(6, OUTPUT);
  pinMode(pushButton, INPUT);
}

void loop() {
  buttonState = digitalRead(pushButton);
  if (num != buttonState)
  {
    num = buttonState;
    if (num == 0)
    {
      take();
      Serial.println("take");
    }
  }
}

void take()
{
  for (int i = 0; i < 3; i++)
  {
    irsend.sendSony(PHOTO, 20); // Sony code
    delay(12);
  }
}
  • 结果:将红外发射传感器对准SONY相机的红外接收头,在设置SONY相机为遥控模式,按下按键, SONY相机拍照一次。

程序说明

  • 按下的时候是从“1”变到“0”,松开的时候是从“0”变到“1”,采用数据有变化的时候进行判断,然后检测当前值就可判断是按下还是松开,按下就拍照。
buttonState = digitalRead(pushButton);
  if (num != buttonState)
  {
    num = buttonState;
    if (num == 0)
    {
      take();
      Serial.println("take");
    }
  }
  • “!=”表示不等于,当按下值有变化时候才执行。

视频