资料介绍
描述
时光倒流很棒!它们帮助我们审视这个缓慢移动的世界,而我们可能会忘记欣赏它的美丽。让我们来调味吧!
在本教程中,我将向您展示我是如何制作一个可以为您的游戏中时光倒流添加动作的设备。让我们开始吧!
第 1 步:计划
我希望相机在两个方向上移动,即水平(X)和垂直(Y)轴。为此,我将需要两个电机。
我们应该能够为两个轴选择开始和停止位置。
电机的运动是这样的,即在每张照片之后轴应该转动 1 度。
为了获得如此精确的控制,我将使用伺服电机。
此外,我们应该能够设置时间间隔。
我希望它是便携式的,所以我决定用锂聚合物电池运行它,这意味着需要充电和升压电路。
最后,控制这一切的大脑将是 Arduino。ATMega328p 将用作独立的微控制器。
我选择了 GoPro 相机,因为它很小,用它制作延时摄影很容易。您可以使用任何其他小型相机或手机。
第 2 步:组件列表
1x ATmega328p(带有 Arduino 引导加载程序)
2x MG995 伺服电机
1x MT3608 升压转换器
1x TP4056 锂聚合物电池充电模块
1x SPDT 开关
1x 16 MHz 晶体
2x 22pF 电容
2x 10k 电阻
1x 电位器(任何值)
1x 按钮(常开)
选修的:
3D打印机
第 3 步:设计 PCB
为了使电路尽可能小,我使用了印刷电路板。您可以自己在家蚀刻电路板,也可以让专业人员为您完成艰苦的工作,这就是我所做的。
当面包板上的一切正常时,我们就可以开始 PCB 设计过程了。我选择 EasyEDA 进行设计,因为它可以让像我这样的初学者轻松进行设计。
检查,检查再检查!确保您没有遗漏任何内容。完全确定后,单击“生成制造文件”以下载 Gerber 文件,或者您可以使用下面给出的选项以 2 美元的价格直接从JLCPCB订购。
收到/制作 PCB 后,就可以填充它了。准备好电路图并按照丝印标记开始焊接元件。
焊接后用异丙醇清洁 PCB 以去除助焊剂残留物。
第四步:把东西放在一起
您将不需要花哨的 3D 打印机。使用适当的工具可以很容易地构建这些零件。我最近买了一台 3D 打印机,很想在我的项目中使用它。我从Thingiverse找到了一些零件。
GoPro 支架:https ://www.thingiverse.com/thing:53680
伺服喇叭:https ://www.thingiverse.com/thing:2794688
将电线焊接到带有母头的电源开关、电位器和按钮,并将它们连接到 PCB 上的公头。
在 Arduino IDE 中下载并打开附件,并将代码上传到您的 Arduino。上传代码后,从 Arduino 板上取下 IC 并将其插入 PCB。
/*
Author : IndoorGeek
YouTube : www.youtube.com/IndoorGeek
Thank you for downloading. Hope you like the project.
*/
#include
Servo xServo;
Servo yServo;
int potPin = A0;
int val,xStart,xStop,yStart,yStop;
int button = 2;
unsigned long timeInterval;
void setup() {
pinMode(button, INPUT);
xServo.attach(3);
yServo.attach(4);
}
void loop() {
xAxis();
delay(1000);
xStart = val;
yAxis();
delay(1000);
yStart = val;
xAxis();
delay(1000);
xStop = val;
yAxis();
delay(1000);
yStop = val;
setTimeInterval();
delay(1000);
timelapseStart();
}
void xAxis(){
while(digitalRead(button) != HIGH){
val = analogRead(A0);
val = map(val, 0, 1023, 0, 180);
xServo.write(val);
}
}
void yAxis(){
while(digitalRead(button) != HIGH){
val = analogRead(A0);
val = map(val, 0, 1023, 0, 180);
yServo.write(val);
}
}
void setTimeInterval(){ //Change the time intervals according to your camera's timelapse settings
while(digitalRead(button) != HIGH){
val = analogRead(A0);
if(val>=0 && val<170){
timeInterval = 1000L;
}
if(val>=171 && val<341){
timeInterval = 2000L;
}
if(val>=342 && val<512){
timeInterval = 5000L;
}
if(val>=513 && val<683){
timeInterval = 10000L;
}
if(val>=684 && val<854){
timeInterval = 30000L;
}
if(val>=855 && val<1023){
timeInterval = 60000L;
}
}
}
void timelapseStart(){
unsigned long lastMillis = 0;
xServo.write(xStart);
yServo.write(yStart);
while(xStart != xStop || yStart != yStop ){
if(millis() - lastMillis > timeInterval ){
if(xStart < xStop){
xServo.write(xStart);
lastMillis = millis();
xStart++;
}
if(xStart > xStop){
xServo.write(xStart);
lastMillis = millis();
xStart--;
}
if(yStart < yStop){
yServo.write(yStart);
lastMillis = millis();
yStart++;
}
if(xStart > xStop){
yServo.write(yStart);
lastMillis = millis();
yStart--;
}
}
}
}
第 5 步:工作
打开主开关。
X 轴将处于活动状态。将锅转到您想要开始游戏中时光倒流的位置。按选择按钮确认起始位置。之后,Y 轴将被激活。执行相同操作以选择 Y 轴起始位置。
对 X 轴和 Y 轴停止位置重复上述过程。
现在,使用罐子,选择每次拍摄之间的时间间隔。锅的旋转分为6个部分,间隔为1秒、2秒、5秒、10秒、30秒和60秒。您可以更改setTimeInterval()函数中的间隔,如图所示。按选择按钮确认。
舵机将到达其起始位置,并在时间间隔后移动 1 度。
顺序:
- 设置 X 轴起始位置
- 设置 Y 轴起始位置
- 设置 X 轴停止位置
- 设置 Y 轴停止位置
- 设置时间间隔
第 6 步:未来升级
1) 目前,由于 1 shot/degree,我们可以获得的最多照片数量是 180,因为舵机可以从 0 度旋转到 180 度。添加齿轮将提高分辨率。因此,我们将有更多镜头,从而实现流畅的延时摄影。我对电子产品很满意,但对机械产品却不太满意。期待改进它。
2) 电位器可用旋转编码器代替。
3)无线控制,也许?!
有很多东西要学!
第 7 步:享受吧!
谢谢你坚持到最后。希望你们都喜欢这个项目并且今天学到了一些新东西。如果你自己做一个,请告诉我。订阅我的YouTube 频道以了解更多即将推出的项目。再一次谢谢你!
- 制作可以检测墙壁和用户周围移动的Arduino设备
- 用Arduino制作游戏
- 如何使用游戏手柄模块制作Arduino SNAKE游戏
- 【RT-Thread 开源作品秀】时光空间立方
- 在AD19 PCB中添加3D封装模型的详细步骤 0次下载
- Unity 3D引擎制作的愤怒的小鸟游戏 2次下载
- 如何向蓝牙Mesh网络添加、删除新的设备资料下载
- GPU到底可以为汽车ADAS带来什么 1次下载
- 用51单片机设计一款记忆力测试小游戏
- 外部中断控制LED倒流水灯实验资料下载.pdf 6次下载
- 2017年江西省大学生电子设计制作现场(28届)赛题 22次下载
- 2016年江西省大学生电子设计制作现场(27届)赛题.pdf 20次下载
- 单片机在游戏中的实际应用 1次下载
- 添加ADAM4000设备及测试 0次下载
- uclinux添加设备驱动的完整过程 67次下载
- C语言零基础项目:打飞机游戏!300行源码分享+详细思路 876次阅读
- C语言零基础项目:对对碰(消除类)游戏!详细思路+源码分享 623次阅读
- RT-Badge V2.0制作俄罗斯方块小游戏 2085次阅读
- 基于C805lF310单片机和MC33794实现模拟游戏控制系统的软硬件设计 954次阅读
- 微雪电子双人街机游戏盒介绍 1806次阅读
- 基于树莓派打造的街机游戏盒 6719次阅读
- 止回阀可以分成那些类型? 7104次阅读
- CANCapture如何添加变量和界面 3310次阅读
- 陀螺仪到底是个什么玩意儿?是不是觉得一脸懵逼? 1.4w次阅读
- 高灵敏度防倒流智能水表的原理及设计 5264次阅读
- 浅谈游戏中的模拟点击程序 2521次阅读
- 大量游戏中使用的人工智能概念 5328次阅读
- 利用视频游戏语料库,训练一个GAN模型为超级马里奥兄弟生成游戏级别 3976次阅读
- 游戏的优化应该考虑的四个方向 1720次阅读
- 3D打印技术可以为医疗领域带来前所未有的变革 6196次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多