第1步:收集零件和文件
零件:
Arduino Uno(或类似)
面包板(半尺寸面包板适合)
Easydriver步进电机驱动程序
2X散热器为Easydriver(可选但强烈建议)
电阻220欧姆(红外LED前置电阻)
压电声音元素(可选,如果你希望得到反馈声音)
一些跳线
我用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
发布评论请先 登录
相关推荐
评论