怎样使用Arduino拍摄美丽的高速摄影

电子说

1.3w人已加入

描述

砸碎酒杯和弹出气球显然很有趣,这就是我的滚动方式。但结合使用DSLR相机和Arduino,它也可以拍摄一些有趣的照片。这就是我们今天要做的。

项目基础

该项目实际上有两个部分–第一个是声音触发。使用压电蜂鸣器作为麦克风和Arduino,我们可以轻松检测到很大的噪音并定义动作。第二部分是相机设置。由于直接触发相机的速度太慢,因此我们将在黑暗的房间中将相机的快门保持打开状态,并使用外部闪光灯提供足够的光线来完成拍摄。

如果您完全摄影新手,请参阅绝对适合初学者的5大摄影技巧。如果这个项目对您来说有点复杂,为什么不去倾斜移动为您的照片提供模型立体效果呢?

设备

DSLR摄像头三脚架

带有手动触发器的外部闪光灯

Arduino

压电蜂鸣器和1M欧姆电阻

4N35或类似的光电耦合器/opto-隔离器和220欧姆电阻器

接线图

压电蜂鸣器应将黑色导线连接到GND,红色导线连接到A0;在两个引脚之间放置1M电阻。电阻用于为压电产生的电压提供电流消耗,以保护模拟输入。

Arduino

我们正在使用光隔离器以保护Arduino免受外部闪光灯可能具有的任何电压的影响。光电隔离器是一个采用小型封装的LED和光敏开关。转动一侧的LED,另一侧的开关将被激活。在4N35(其他型号可能会有所不同)上,您应该在一个角上看到一个很小的圆圈-该引脚1。通过220欧姆电阻将引脚1连接到引脚12,然后将引脚2连接到GND。被触发的设备进入对角(5/6)的两个引脚。这些触发引线的末端可以连接到实际的闪光触发电缆,也可以将它们直接插入插槽中进行评审–您可能需要使用Blu-Tack使其固定在位。

这是连接到闪存的完整电路。

Arduino

Arduino代码

该项目的代码相对简单。在下面的文件中,我保留了串行控制台输出,尽管您可能希望在确定一切正常时将其删除–只需注释 Serial.begin 和 Serial。准备就绪时,使用println 行。拍手,然后运行代码并查看控制台输出–您应该从压电蜂鸣器获得输出。您在此处使用的数字可用于确定闪光灯闪光的阈值,但我的压电元件根本不那么敏感,因此我将其保留为1。

在主循环中,检查压电读数是否高于阈值,以及自上次触发闪光灯以来是否超过一秒。这样可以避免多次触发闪光灯。在某些闪烁中,这可能不是必需的,但是由于我的雷能够持续爆发,因此它只是多次发射而没有检查。

此外,在触发之前请注意 delay 值闪光灯–根据您要拍摄的内容,您可以尝试使用它或完全删除它。在没有延迟的情况下,撞击后立即拍摄了碎玻璃的照片,没有碎裂效果。 50ms有点太慢了,所以25ms应该是理想的观察实际破碎的方法。

int ledPin = 13;

int cameraPin = 12;

int piezo = 0;

unsigned long lastMillis = 0;

byte val = 0;

int threshold= 1;

void setup() {

pinMode(ledPin, OUTPUT);

pinMode(cameraPin, OUTPUT);

Serial.begin(9600);

}

void loop() {

val = analogRead(piezo);

if(val》0){

Serial.println(val); //used to debug

}

if (val 》= threshold && (millis()-lastMillis 》 1000)) {

delay(25); // change as needed, or remove entirely

digitalWrite(ledPin, HIGH);

digitalWrite(cameraPin, HIGH);

lastMillis = millis();

}

else{

digitalWrite(ledPin,LOW);

digitalWrite(cameraPin, LOW);

}

}

射击

首先,您需要黑暗这样做的空间–越接近黑色,效果越好。如果您发现镜头太模糊,则可能是由于环境光线过多所致。您要拍摄的唯一光线是在触发闪光灯的那一刻,因此请将您的数码单反相机设为手动模式,并将曝光时间最多设置为 4秒或更长时间。将光圈设置为 F8至F16 ;我需要 ISO 1600 来拍摄这些照片,但是在继续之前,您应该调整这两个值以找到适合您的东西。

您还需要将相机设置为手动对焦,如果有,请禁用任何稳定功能。试一下您的闪光定时–我使用了 1/128功率 –高于1/32,您会发现闪光灯闪光时间过长,从而导致拍摄模糊。我当然不是摄影专家,所以实际上只是在玩耍寻找适合您的设置。

测试设置的一种简单方法是先杀死灯光,单击快门然后拍手–镜头应该照亮且不会模糊。

对测试感到满意,我继续尝试弹出气球。

代码可以做一些优化-即使没有编程的延迟,似乎快照也只是5-10毫秒而无法捕捉瞬间。尽管如此,这还是很不错的,它显示了大理石的气球颜色和一只迷糊的狗。

这是我最初尝试粉碎事物的过程,刻不容缓,照片是在撞击时直接拍摄的,并不特别令人兴奋。

10毫秒的延迟只是太早了这个杯子。

我再次尝试了杯子的另一半,并延迟了50毫秒–太晚了 我觉得:

我又给了50ms这款玻璃杯的机会-确保您将东西粉碎成盒子以便清理

关于数码单反相机的妙处在于,即使玻璃器皿价格昂贵,您也可以拍摄一百万张,直到正确为止。老实说,我整天都在做调整,并拍了数百张练习照,以寻找正确的设置,因此,如果第一次使用不正确,请不要放弃。

一旦如果您对气球和眼镜感到无聊,请尝试使用各种触发器进行试验:也许是将ping传感器放置在地面上以捕获掉落的物体,或者是激光和光电二极管恰好位于水面上,当光束破裂时会触发。拍些好照片吗?在评论中让我们知道您的经历或遇到的任何问题。
       责任编辑:wv

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分