雷竞技注册
项目

Flash Freeze Photography with an Arduino

2016年11月14日通过雷蒙德热那亚

用你的数码相机、Arduino和这些简单的电路,将瞬间定格,轻松地制作出非凡的近距离照片。

用你的数码相机、Arduino和这些简单的电路,将瞬间定格,轻松地制作出非凡的近距离照片。

我一直对高速摄影印象深刻。通常看不见或至少没人注意到的东西的摄影捕捉是有趣的,通常是美丽的。然而,高速摄像机价格昂贵,超出了我们许多人的能力范围。

然而,你可以使用一种简单而廉价的技术来接近高速摄影。在这个项目中,我们将构建两个简单而廉价的电路,与您的数码单反相机、从闪光灯和Arduino Uno一起,可以重现高速摄影的一些特性,以捕捉不同寻常的时刻。

要求:

  • 具有手动对焦和长曝光时间的数码相机
  • 外部(从)闪光单元(见正文)
  • 带有外部终端功能和电缆的热鞋(见正文)
  • Arduino Uno
  • 这里介绍的一个或两个电路(参见下面的材料清单)

基本的技术

这项技术的“秘密”很简单。首先,手动对焦。然后,将你的相机曝光设置为一个相对较长的值,比如4-6秒,在完全或几乎完全黑暗的情况下拍照。通常,这些条件会产生一幅完全漆黑的画面。然而,在长时间的曝光期间,闪光灯将点燃并提供唯一的照明。被闪电捕捉到的短暂瞬间。

电路试验板

完整的FSR接口电路在一个带有Arduino Uno的电路板上

关键是控制闪光的发射。在这个项目中,我们将使用Arduino Uno在感知到特定的外部事件时触发外部闪光。几乎任何外部传感器都可以作为闪光灯的触发事件。在这里,我们将使用两个传感器,一个力敏电阻和一个声音传感器,来检测感兴趣的外部事件。

相机

我在这个项目中使用的相机是佳能EOS 400D (Digital Rebel XTi)。这是一款相对低端(现在也相对老旧)的数码单反(单镜头反射)相机。任何具有手动对焦和长时间曝光功能的相机都可以工作。与任何特写摄影一样,你需要一个可以在理想距离聚焦的镜头。

闪光灯

奴隶闪光

PL-ASF18从flash单元

我们想让Arduino触发闪光灯,所以我们需要一个外部闪光灯。我使用一个宝丽来PL-ASF18从属闪光单元,上图。这是一个最低价格的奴隶闪存单位周围,它工作得相当好。一个特别的优点是它可以用相对较低的电压(< 6v)触发(其他触发标准使用更高的电压)。对于接下来的电路,使用一个接受低压闪光触发器的外部闪光是至关重要的。

PL-ASF18是相当强大的近距离工作,但它是由两个1.5 V AA电池运行。你可能需要将闪光弹到目标上而不是直接瞄准目标。在这篇文章中,我并没有将闪光灯直接对准目标;相反,闪光直接指向远离目标的地方,光线通过一块黑色纸板的反射到达目标。此外,我使用了一个光漫射器(一个白色尼龙床单帐篷)拍摄一些照片。如果你有一个可以从外部配置的可变闪光功率单元(PL-ASF18没有这种能力),你可以通过降低功率来达到同样的效果。

热鞋

热鞋

热鞋与3.5毫米插座

外部闪光灯连接到热鞋,这是闪存单元的某种标准化“插座”。我使用了上面的图片(可用)在这里),里面有多只鞋。更重要的是,这只热鞋有一个方便的3.5毫米插座,你通常看到常见的PC同步连接器。该连接器外化中心触点和鞋架-当短路时,连接将操作闪光。大多数热鞋与“标准”PC同步连接器(例如在这里)也会这样做。然而,这种热鞋的优点是,3.5毫米插座是非常常见的,因为是配合千斤顶。

无论您使用哪种类型的连接器,您还需要从热鞋的两个引线连接到我们的电路。为了正确连接,您需要使用电压表来识别正负引线。您还需要测量这些触点之间的电压,以确保用于操作闪光的电压在我们的电路的限制内(见下文的进一步解释)。热鞋配有闪光灯,可安装在小型三脚架上,便于定位。

电阻值电阻

身上发生

互连406力敏电阻

Arduino需要监控一些外部事件,以便在所需的时间操作flash。这个版本的项目的外部事件是force,我们将使用互连406力敏电阻(PDF)。力敏电阻(FSR)如图所示,可从Adafruit和其他来源。您可以从下面下载链接的集成指南这个页面有关传感器的更多信息。

传感器引线之间的电阻根据施加在传感器表面的力而变化。也就是说,如果你把一个小物体扔到表面上或轻敲它,电阻就会改变。Arduino将使用这个特性来感知外部事件并触发闪光。

来自FSR的引线应该连接到电缆上,以连接到我们的电路。正如上面链接的集成指南中提到的,为了避免损坏FSR,不要直接焊接到引线上。相反,使用女性跳线,可以稍微卷曲,以提供一个紧密的配合。

基于fsr的系统原理图

电路原理图

到FSR和flash单元的Arduino接口示意图。点击放大

上图是整个电路的原理图,Arduino UNO可以监控FSR并触发外部闪光。电路有三个不同的部分:顶部、中部和底部。

Top-External闪光灯

顶部部分允许Arduino控制外部闪光灯单元。引脚D2上的逻辑高信号将激活内部的LED4机n25光隔离器.然后4N25中的NPN晶体管就会打开。

4N25的集电极和发射极分别连接到闪光触发器的正极和负极(闪光触发器的连接来自插入热靴插座的电缆)。因此,当Arduino给LED通电时,会触发闪光灯。

请注意,flash单元与Arduino电隔离,这是理想的。您必须首先测量闪光单元两端的电压(即来自热靴电缆的引线上的电压),以确定正负极,并确保您没有超过光隔离器的最大集电极到发射极的限制。如果你有反向引线或电压超过规定的最大值,你可能会烧毁光隔离器。

对于我使用的摩托罗拉4N25,最大集电极到发射器的电压是30 V,但不是所有标记为4N25的光隔离器都是一样的,你应该参考制造商的数据表来确定你的组件的极限。我用新电池测量了PL-ASF18单元的电压,它是~5.5 V,远低于最大电压。但是,正如前面提到的,不同的闪光单元可以使用不同的触发电压,所以先测量电压。

中力感应电阻和运放

原理图的中间部分包含FSR接口,并使用MCP601P运算放大器(PDF)。完全没有必要使用这个运算放大器;选择MCP601P是因为它是为单电源操作而设计的,并具有轨到轨输出。MCP601P用于比较器配置,使其具有阈值开关的功能。

MCP601P的逆变输入由R3和FSR组成的分压器提供。R3是47 kΩ,被选择用于在力-阻力曲线的低端电路中发挥良好的功能,如图10所示的上述FSR集成指南。

图片由连接电子产品雷竞技最新app

MCP601P的非反相输入也由R4(一个200 kΩ多匝电位器)的雨刷的分压器提供。调整电位器可以改变从运放产生触发信号所需的力。

MCP601P的输出进入Arduino数字输入端口(D3)。当没有对FSR施加压力时,运算放大器的输出应该是由Arduino数字输入作为逻辑高电平读出的5v。当对FSR施加力时,其电阻减小,导致FSR/R3分压器输出电压增加。最终反相输入端的电压将超过非反相输入端的电压,这将驱动运放的输出电压到地。当Arduino检测到D3引脚上的逻辑低信号时,它会触发闪光单元。

R2是一个迟滞电阻,这意味着它有助于抑制虚假的输出转换。这不是严格要求的,因为当检测到单个触发器时,闪光单元被激活,需要几秒钟才能再次触发闪光。然而,对于一个更可控和可预测的电路来说,包含这个电阻通常是一个好的做法。看到这个设计注意(PDF)以更完整地描述比较器电路中的迟滞。另外,请注意,该项目的电路面包板在没有C1的情况下也能有效地工作,但为模拟和数字集成电路包括电源去耦电容是一个良好的实践。

到底部输入开关

原理图的底部仅仅包含一个瞬时开关,连接到Arduino的数字输入(D4)。未按下时,Arduino读取输入为逻辑低,按下时为逻辑高。我们将在软件中使用此开关输入来“臂”闪光单元;在此之后,程序将等待触发器事件。

用于Arduino接口到FSR和Flash单元的BOM

组件 描述
C1 0.1μF电容器
R1 330Ω电阻
R2 470Ω电阻
R3 47 kΩ电阻器
R4 200 kΩ多匝电位器
R5 10 kΩ电阻器
IC1 4机n25光隔离器
IC2 MCP601P运算放大器
FSR1 FSR 406力敏电阻
SW1 瞬时开关

软件

使用Arduino软件来操作电路,ImpactFlash。Ino,如下所示。它相对简短,应该易于理解。

本质上,软件等待SW1被按下。当这种情况发生时,Arduino的板载LED会点亮,表示“武装”状态。然后软件等待触发器输入从“高”到“低”的变化。

当接收到触发信号时,闪光灯就开始工作。如果你愿意,你可以在触发器之后和闪光操作之前插入一个短延迟。有时你的照相物镜需要几毫秒的延迟。在闪光操作后,板载LED闪烁一段可编程的时间,在此期间,闪光单元充电。在这个间隔之后,代码再次等待SW1被按下。

您可以将变量DEBUG设置为1,以便在程序的各个点获得文本输出到串行监视器。默认情况下,DEBUG = 0,因为程序很可能以独立方式使用,但串行监视器输出可以帮助您熟悉程序或在更改一些参数后测试程序。

代码

下载下面的程序文件。

FlashFreeze.rar

使用说明的

薄荷糖

为了进一步说明操作,下面是用于拍摄上面这张照片的步骤,这张照片捕捉了一簇掉落的薄荷糖。当其中一个薄荷糖击中了FSR(在纸下面),Arduino软件检测到这个事件并触发了闪光,捕捉了这个瞬间。

  1. 设置你的“工作室”,包括连接闪光灯和FSR到电路和开关的闪光灯单位。瞄准闪光远离目标区域,如果必要,使用扩散器(如前所述)。
  2. 将FSR放置在一张薄纸下。请准确地注意FSR的位置,因为这是撞击检测的目标区域。
  3. 把你的相机设置为长曝光,例如4到6秒。
  4. 手动对焦。如果可能的话,首先将你要捕捉的对象放置在目标区域附近,这样你就可以为那个点设置焦点。
  5. 关掉所有的灯——越暗越好。
  6. 按下SW1对电路进行臂控。注意,Arduino上的板载LED会亮起来。
  7. 操作照相机的快门。
  8. 把物体扔到目标区域。
  9. 当物体撞击FSR时,flash单元开始工作。注意,板载LED现在闪烁,表明闪光单元需要充电。
  10. 快门合上,照片就拍好了。

这里有更多的例子。

火柴棒

胶球

万圣节糖果洒

如果你厌倦了掉东西,你可以开始弄坏东西,但要小心。

以前是一个灯泡

使用声音传感器

虽然上面的照片是使用FSR作为传感器拍摄的,但你不必把这项技术限制在一个力触发器上。另一种选择是使用声音作为触发器。

许多麦克风放大器电路已经发布,所以你真的不需要从头开始设计自己的电路。一个特别方便和相对便宜的选择是一个专门为Arduino接口构建的声音传感器模块。

声音传感器

Arduino声音传感器模块

上面显示了三个这样的声音传感器模块。第一个(从左到右)是fromDFROBOT;它使用一个LM358运算放大器,并具有模拟输出信号。第二,从SimplyTronics,使用一个555定时器并有数字输出。第三,从凯斯,使用一个LM393比较器,并有数字和模拟输出。所有三个模块都有一个调整灵敏度的电位器。

在这里,我们将使用第一个模块来说明该技术。

声音传感器接口

声音传感器和flash单元的Arduino接口示意图。点击放大

上面的原理图是使用声音传感器作为触发器的完整电路。除了声音传感器模块取代了FSR和运放电路之外,它与FSR原理图相同。声音传感器的输出连接到Arduino模拟输入管脚(A0)。

声音传感器和Flash单元的Arduino接口的BOM

组件 描述
R1 330Ω电阻
R2 10 kΩ电阻器
IC1 4机n25光隔离器
SW1 瞬时开关
声音传感器 DFR0034(参见文本)

更多的软件

Arduino软件使用声音传感器SoundFlash来操作电路。Ino,也包括在上面的可下载文件。它的操作基本上与ImpactFlash相同。Ino程序,除了在程序中设置一个阈值模拟值,以确定何时声音足够触发闪存单元。

当使用非常低音量的电路时,比如水滴发出的声音,还有一些额外的考虑。模块上的电位器必须调整到最大灵敏度。此外,环境噪声必须最小,以避免虚假触发。事实上,应该修改FSR电路的使用步骤,使相机的快门在电路解除武装之前操作,因为快门机构的声音可以触发闪光单元。

定向麦克风或安装在抛物面碟上的麦克风可以减少环境噪声引起的假触发。如果做不到这一点,在车载麦克风周围使用一个简单的纸锥就会有帮助在这里).

以下照片是使用声音传感器电路和软件拍摄的。它们说明了一些有趣的“流体动力学”。

优雅的简单

优雅的简单

牛奶溅

外星人的牛奶

流体的花

封闭的思想

这主要是一个有趣的项目,是相对便宜的构建,并被设计为适合中级电子爱好者和摄影师一样。雷竞技最新app电路和软件有些简单,当然还可以做一些改进。

就我个人而言,我一直非常欣赏对普通事件的复杂性和美进行说明。本文中提供的示例只是您可以捕获的皮毛。放纵你的想象力,你可能会对结果感到惊讶。

你自己试试这个项目吧!BOM。

4评论
  • R
    Russ Sprouse 2016年11月26日

    我想尝试这个项目,但我有麻烦定位MCP601P运算放大器。谁能建议一个源,或一个等效的运算放大器,我可以使用代替?谢谢。

    喜欢的。 回复
    • R
      雷蒙德热那亚 2016年12月01日
      你好,抱歉耽搁了。我看到有人回应了,但它已经不在那里了。您可以从鼠标http://www.mouser.com/ProductDetail/Microchip-Technology/MCP601-I-P/?qs=caJrvSDHBA/mOLB5k64cCA==和其他来源获得MCP601P运算放大器。我喜欢它,因为它是为单供应操作而设计的,我以前用过。尽管我没有在这些电路中尝试过,我认为LM358或LM324或LM393比较器可能会工作得很好。当然,你需要得到零件数据表,并说明不同的引脚。希望这个有帮助。
      喜欢的。 回复
  • D
    dc_kid 2018年10月22日

    我已经建立了类似的使用麦克风/放大器板馈送到Adafruit饰品。我的项目最初是为白天使用而设计的(没有闪光灯),但我做了一些改变,所以现在它可以在白天或黑暗中工作。在白天或黑夜中,声音并不重要,只是程序改变了一些,因此我有一个小的选择开关,我把所有东西放进去。在我的项目中,当在日光模式下,电子控制快门,仍然可以点燃闪光灯。雷竞技最新app在夜间模式下,电子设备将首先打开快门雷竞技最新app,然后点燃闪光灯。在所有情况下,都使用手动快门设置,这是获得一张好照片的关键。即使是闪光也会有延迟。

    对于日光拍摄,每个人都会遇到的问题是曝光。你根本不能让快门一直开着。在白天甚至不用闪光灯,但如果需要的话可以。我发现的是,电子设备非常快,但快门发射前有一雷竞技最新app个延迟时间,相当慢,毫秒值。这个延迟是在相机中使用的,取决于你使用的是什么相机。所以,尽管我的电子设备端到端的速度比雷竞技最新app相机快,我还是得考虑快门延迟的问题。

    为了适应这个快门延迟,我的韦小宝有一个敏感壶,所以我可以稍微要求相机快门比实际事件早一点。这仍然是一个棘手的问题,需要在每种类型的声音事件上进行大量的试验和错误,以获得一张正确的图片。

    我看到有些人要求快速硅。当然,在电子设备上没有延迟是好的,但是标准的“快速”开关仍然雷竞技最新app可能比你的闪光灯或快门快得多。闪光管的上升时间相当长,等等。20美元以下的硅应该足以满足大多数消费级相机和闪光灯。快速实验室式齿轮可能需要ns硅。但是,当你开始拍摄速度非常快的照片时,你最终会使用高速视频,比如1mil fps,然后挑选你想要保留的帧。

    不管怎样,我的项目很有趣,我学到了很多东西,主要是电子产品是快的,而消费相机和闪光灯是相当慢的。雷竞技最新app

    喜欢的。 回复