查看“延时摄影”的源代码
←
延时摄影
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language| 延时摄影}} {| style="width: 800px;" |- | ==目的== 使用红外发射传感器延时发送红外信号,控制SONY相机拍照。达到延时摄影目的。 ==实验一:系统延时发送== ===设备=== {|class="wikitable" |- |模块||数量||功能 |- |[[mCookie-CoreUSB/zh]]||1||核心板 |- |[[mCookie-Hub/zh]]||1||传感器转接板 |- | [[Microduino-IR Emitter/zh]]||1||红外发送传感器 |} *其他设备 **USB数据线*1 **传感器连接线*1 ===准备=== *Setup 1:将IR transmitter传感器接口和Hub的数字口(D6)接起来,不可更改,只能用这个口。 [[file:mCookie-IR transmitter-sensor.JPG|600px|center]] *Setup 2:将CoreUSB,Hub,IR transmitter连接在一起。通过USB数据线将接入电脑。 [[file:mCookie-IR transmitter-pc.JPG|600px|center]] ===调试=== *打开Arduino IDE,将下列代码复制到IDE中。 <source lang="cpp"> #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); } </source> *选择正确的板卡和COM端口,编译通过后直接下载。 [[file:upload.JPG|600px|center]] *打开相机,将模式设置成遥控器模式 [[file:sony-photo.JPG|600px|center]] *将红外发送传感器对准相机,每隔5S会发送红外信号,红外传感器上的led指示灯亮,同时可以听到相机咔的一声。 *将延时拍照的图片做成gif图效果很棒。 [[file:gif-photo.gif|600px|center]] ===程序调试=== *采用了“IRremote”红外库来支持红外的发送和接收。 *“#define PHOTO 0xB4B8F”定义了sony相机的红外信号值。 *更改延时时间”delay(5000)”表示5S。 ==实验二:按键控制拍照== ===设备=== {|class="wikitable" |- |模块||数量||功能 |- |[[mCookie-CoreUSB/zh]]||1||核心板 |- |[[mCookie-Hub/zh]]||1||传感器转接板 |- | [[Microduino-IR Emitter/zh]]||1||红外发送传感器 |- | [[Microduino-Crash/zh]]||1||碰撞传感器 |} *其他设备 **USB数据线*1 **传感器连接线*1 [[File:IR_Crash.jpg|600px|center|thumb]] ===搭建硬件=== *Setup 1:将红外发射传感器接到Hub的D6引脚上,碰撞传感器接到Hub的D8引脚上。 [[file:mCookie-IR transmitter-pc.JPG|600px|center]] *Setup 2:将CoreUSB,Hub,IR transmitter,Crash连接在一起。通过USB数据线接入电脑。 [[file:mCookie-IR transmitter-crash-pc.JPG|600px|center]] ===软件调试=== *打开Arduino IDE,将下列代码复制到IDE中。 <source lang="cpp"> #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); } } </source> *结果:将红外发射传感器对准SONY相机的红外接收头,在设置SONY相机为遥控模式,按下按键, SONY相机拍照一次。 ===程序说明=== *按下的时候是从“1”变到“0”,松开的时候是从“0”变到“1”,采用数据有变化的时候进行判断,然后检测当前值就可判断是按下还是松开,按下就拍照。 <source lang="cpp"> buttonState = digitalRead(pushButton); if (num != buttonState) { num = buttonState; if (num == 0) { take(); Serial.println("take"); } } </source> *“!=”表示不等于,当按下值有变化时候才执行。 ==视频== |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
延时摄影
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息