0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用arduino控制相机快门

454398 来源:wv 2019-08-28 09:08 次阅读

第1步:收集零件和文件

如何用arduino控制相机快门

零件:

Arduino Uno(或类似)

面包板(半尺寸面包板适合)

Easydriver步进电机驱动程序

2X散热器为Easydriver(可选但强烈建议)

红外LED 950nm(用于红外摄像机触发)

电阻220欧姆(红外LED前置电阻)

压电声音元素(可选,如果你希望得到反馈声音)

一些跳线

Steppermotor的外部电源

我用12V 1A电源适配器从Trinamic驱动1A NEMA 17 Steppermotor获得了很好的体验。我还使用了一个24V 3A电源适配器。 Easydriver板每相支持高达30V和750mA的电流

用于steppermotor外部电源的插座

Bipolar NEMA 17 Steppermotor和Turntable例如FluxGarage“带Steppermotor的自动转盘”

添加基本按钮控制器。.

按钮

电阻10k欧姆(按钮)

LED(状态引导)

电阻器220欧姆(状态LED的预电阻器)

。..或者为显示器+键盘菜单添加高级控制器:

Adafruit LCD屏蔽套件,带16x2字符显示器

下载基本和高级控制器的Arduino代码和Fritzing图表:

如果您想为高级控制器打开Fritzing文档,请确保下载并安装adafruit元素..

结果

请注意:

在图片上,我使用的是FluxGarage“Tinkerer‘s Baseplate”和FluxGarage“用于16x2 LCD +键盘护罩的前板”。使用这些元素是可选的,如果你也想使用它们,请点击相关指令的链接。

第2步:汇编电路

焊料 用于面包板的Easydriver板

为了在面包板上使用easydriver ,你需要在电路板上焊接一些公针脚接头。最好的方法是将公针头放入面包板,将easyydriver放在顶部,然后焊接针脚。

接线:

将部件接线为显示在基本或高级控制器的Fritzing图形中。在github上下载Firtzing图表,找到步骤1中的链接。

仔细检查所有内容是否连接如下:

Arduino数字引脚02 = Easydriver的dir引脚

Arduino数字引脚03 = Easydriver的步进引脚

Arduino数字引脚09 =压电输出

Arduino数字引脚12 =输出用于红外LED(在LED之前放置220欧姆的前电阻)

+用于基本控制器:

Arduino数字引脚04 =按钮输入(按钮接地前放置10k欧姆电阻)

Arduino数字引脚13 =状态LED输出(引脚前220欧姆前置电阻)

+用于高级控制器:

将显示屏+键盘屏蔽层叠到arduino上,实际使用的是这些引脚:Arduino模拟引脚A4 + A5和5V + GND。

连接Steppermotor:

连接双极步进电机(4线)是关于连接moto的两个线圈(A和B) r到easydriver板的右侧引脚。

连接外部电源

Easydriver板的右上侧有两个独立的电源引脚(M +和地)。当电路板本身从Arduino获得电源时,单独的输入为steppermotor提供电源。如果您使用典型的“开箱即用”电源适配器和插座,则应将“+”线连接到easydriver的“M +”引脚,将“ - ”线连接到easydriver的“GND”引脚。通常“+”位于内侧,而“ - ”位于插头的外侧。但要小心,一些电源适配器允许切换极性!如果你的easydriver连接不正确,它可能会被损坏,请记住这一点。

步骤3:将源代码上传到Arduino

在Github下载Arduino源代码:

在步骤1找到下载链接。

下载第三方库并复制它们到IDE的库文件夹:

。..用于相机快门:

https://github.com/dharmapurikar/Arduino/tree/mast 。..

。..用于Adafruit 16x2显示器+ Keypad Shield:

https://github.com/adafruit/Adafruit-RGB-LCD-Shiel.。.

代码经过测试,可与最新的Arduino IDE一起使用(1.8.7 on Windows)和Arduino Uno + Easydriver步进电机驱动器+ Adafruit 16x2显示器+键盘护罩,+ Trinamic步进电机和尼康D60相机。

调整代码以使用您的特定相机:

如上所述,我使用了Sebastian Setz的“multiCameraIrControl.h”库。要使其适用于您的相机,您必须在相机制造商名称之前删除注释斜杠,当然还要在所有其他制造商名称之前添加斜杠:

// Set Camera Type

Nikon D5000(12);

//Canon D5(12);

//Minolta A900(12);

//Olympus E5(12);

//Pentax K7(12);

//Sony A900(12);

执行类似操作在“快照”功能中调整:

// Take a picture

void snap(){

D5000.shotNow();

//D5.shotNow();

//A900.shotNow();

//E5.shotNow();

//K7.shotNow();

//A900.shotNow();

}

请注意:

不幸的是,我还没有能够测试其他IR触发相机还有我自己的尼康D60。相机快门库应该与不同制造商的多个相机一起使用,而不仅仅是代码中提到的特定相机型号。如果您对佳能,美能达,奥林巴斯,宾得或索尼相机的体验发表评论会很棒。

步骤4:操作控制器

控制器的代码分别是什么?

如果按下按钮,将触发“photoshooting”。每个Photoshooting都是以下序列的有限循环:

触发相机

短暂延迟

Steppermotor将旋转预定量的度数

短暂延迟

照片拍摄基于一组确定其确切行为的变量。您可以在源代码(简单控制器版本)或显示菜单(高级控制器版本)中更改这些变量。

操作基本控制器:

在基本控制器上,状态LED显示系统何时可以执行。开始拍照时,LED指示灯熄灭。您可以按住按钮中断照片拍摄,直到出现“中断声音”并且转盘停止。看一下这个教程顶部的视频,在“现实生活”中看到这一点。

可以在代码的顶部找到photoshooting的变量,并可以更改以修改photoshooting。您可以在下面看到初始值:

int shootingsteps = 20; // number of steps for a full revolution, should be 10, 20 or 40

float shootingspeed = 0.01; // rotation speed: any number from .01 -》 1 with 1 being fastest -

Slower is stronger (slower = better for „heavy“ objects)

int shootingdelay = 1000; // break in milliseconds before and after each rotation

操作高级控制器:

打开高级控制器时,FluxGarage logosplash显示4秒钟。之后,控制器就可以执行并显示一组可调整的变量列表:

ST =步数,可以是10,20或40

SP =旋转速度,可以是1-5而1是最慢的

DE =每个步骤之前和之后的延迟,在十分之一秒内,可以是5,10,25,50

LI =确定拍摄时显示屏的背景灯是打开还是关闭。可以是1 =打开或0 =关闭

您可以使用左右按钮浏览变量类型,并使用向上和向下按钮更改值。

启动照片拍摄按下选择按钮并按住选择按钮中断拍照,直到出现“中断声音”。

第5步:开始拍摄

如果你已经建立了自己的控制器+转盘并且你的相机就位,那么你几乎就可以开始拍摄了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相机
    +关注

    关注

    4

    文章

    1350

    浏览量

    53580
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186936
收藏 人收藏

    评论

    相关推荐

    stm32与Arduino的比较

    在微控制器的世界里,STM32和Arduino是两个经常被提及的名字。STM32是一系列由STMicroelectronics生产的高性能微控制器,而Arduino则是一个开源电子原型
    的头像 发表于 11-19 15:45 703次阅读

    用高速相机看世界,揭秘肥皂泡与Marangoni效应#高速相机 #深视智能

    相机
    深视智能科技
    发布于 :2024年10月15日 17:17:21

    何用Jacinto内部的GPtimer输出PWM信号控制屏幕背光

    电子发烧友网站提供《如何用Jacinto内部的GPtimer输出PWM信号控制屏幕背光.pdf》资料免费下载
    发表于 09-29 10:25 0次下载
    如<b class='flag-5'>何用</b>Jacinto内部的GPtimer输出PWM信号<b class='flag-5'>控制</b>屏幕背光

    YXC差分可编程振荡器,频点200mhz,封装5032,LVDS输出,应用于工业相机

    工业相机快门时间非常短,可以抓拍高速运动的物体。因此推荐YXC可编程差分振荡器,YSO210PR差分晶振,‌为工业相机提供灵活的可编程性质,频率10~1500MHz可选。
    的头像 发表于 08-19 16:19 313次阅读
    YXC差分可编程振荡器,频点200mhz,封装5032,LVDS输出,应用于工业<b class='flag-5'>相机</b>

    怎样用Arduino测试锂电池容量

    本文详细介绍了如何用Arduino测量锂电池的容量。并附有电路图和Arduino的程序代码。
    的头像 发表于 07-30 09:14 843次阅读
    怎样用<b class='flag-5'>Arduino</b>测试锂电池容量

    思特威最新全局快门技术在无人机、机器人等领域的应用

    全局快门与卷帘快门有别,前者在同一时间内对整个图像传感器上的所有像素点进行曝光,保证画面整体亮度均匀;后者则是逐行曝光,各行曝光时间可能存在差异。
    的头像 发表于 05-18 16:07 571次阅读

    何用Arduino开发STM32G070?

    何用Arduino开发STM32G070,各位大神有相关教程吗。我如何在Arduino的开发板管理器中添加STM32G070开发板,如何把程序下载到CPU中?
    发表于 04-07 08:22

    工业相机的常见基础问答

    智能工业相机中网络通信装置起什么作用? 网络通信装置是智能相机的重要组成部分,主要完成控制信息、图像数据的通信任务。智能相机一般均内置以太网通信装置,并支持多种标准网络和总线协议
    发表于 03-15 10:57 577次阅读
    工业<b class='flag-5'>相机</b>的常见基础问答

    三星Galaxy S24 Ultra相机性能显著提升:2亿像素、更大传感器、更快速

    三星表示,新款Galaxy S24系列手机已将相机快门延迟全面降低,其中Galaxy S24 Ultra所搭载的2亿像素的主摄像头更为突出,这项提升使相机能更快捕捉瞬间。
    的头像 发表于 03-08 13:54 1068次阅读

    何用memtool与xc866微控制器通信?

    请告诉我如何用memtool与xc866微控制器通信
    发表于 03-04 07:27

    arduino控制步进电机代码

    Arduino是一种开放源代码的电路板平台,它可以用于控制各种不同的电子设备,包括步进电机。步进电机是一种电动机,可以通过下达特定的指令来控制每个步进的角度,从而使电机旋转到指定的位置。在本文
    的头像 发表于 02-14 16:29 1999次阅读

    如何使用Arduino控制RGB LED

    在本指南中,您将学习如何使用Arduino控制RGB LED。RGB(红-绿-蓝)LED可以通过混合不同强度的红、绿、蓝光来产生多种颜色。您将学习创建一个基本Arduino RGB LED电路,并以一些基本颜色为例循环。
    的头像 发表于 02-11 10:28 4877次阅读
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>RGB LED

    如何使用Arduino UNO板和电位器控制伺服电机

    在本Arduino伺服电机教程中,您将学习如何使用Arduino UNO板和电位器控制伺服电机。
    的头像 发表于 02-11 10:11 2779次阅读
    如何使用<b class='flag-5'>Arduino</b> UNO板和电位器<b class='flag-5'>控制</b>伺服电机

    何用我的cy8cmbr3110或3102 capsense控制stm32?

    我在想怎么用 stm32l431 控制这个 cy8cmbre3110 或 3102,我找到了带有 arduino wire.h 的代码 库可以用 i2c 协议控制它但我不知道如何用我的
    发表于 01-25 08:17

    如何使用arduino控制接触器?

    我将避免铅酸电池过载。我想通过使用近 30A 的接触器和 arduino uno 板来控制电池过载。如何使用arduino控制接触器?
    发表于 01-22 07:14