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

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

3天内不再提示

如何制作一个可以为您的游戏中时光倒流添加动作的设备

454398 来源:wv 2019-09-03 15:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第1步:计划

如何制作一个可以为您的游戏中时光倒流添加动作的设备

我希望相机在两个方向上移动,即在水平(X)和垂直(Y)轴。为此,我需要两台电机

我们应该可以选择两个轴的起始位置和停止位置。

电机的运动将使每个照片后的轴旋转1度。

为了获得如此精确的控制,我将使用伺服电机

此外,我们应该能够设置时间间隔。

我希望它是便携式的,所以我决定在LiPo电池上运行它,这意味着需要充电和升压电路。

最后,大脑控制所有这一切将是Arduino。 ATMega328p将作为一个独立的微控制器使用。

我使用的是GoPro相机,因为它很小,并且很容易使用时间。您可以使用任何其他小型相机或手机

第2步:组件列表

1x ATmega328p(带Arduino引导程序)

2x MG995伺服电机

1x MT3608升压转换器

1x TP4056 LiPo电池充电模块

1x SPDT开关

1x 16 MHz晶振

2x 22pF电容

2x 10k电阻

1x电位计(任何值)

1x按钮(常开)

可选:

3D打印机

第3步:设计PCB

为了使电路尽可能小,我选择了印刷电路板。你可以在家里自己蚀刻电路板,或让专业人士为你努力工作,这就是我所做的。

当一切正常在面包板上工作时,我们可以从PCB设计过程开始。我选择EasyEDA进行设计,因为它让像我这样的初学者很容易。

检查,检查并检查! 确保您没有遗漏任何内容。一旦你完全确定,点击Generate Fabrication File下载Gerber文件,或者你可以使用下面给出的选项直接从JLCPCB订购它只需2美元。

一旦你收到/制作你的PCB,它就是时间来填充它。准备好电路图并按照丝网标记开始焊接组件。

用异丙醇焊接后清洁PCB以去除焊剂残留物。

步骤4:把事情放在一起

您不需要花哨的3D打印机。使用适当的工具可以非常轻松地构建零件。我最近买了一台3D打印机,并且急于在我的项目中使用它。我找到了Thingiverse的部分零件。

GoPro Mount:https://www.thingiverse.com/thing:53680

Servo Horn: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次拍摄/度数,我们可以获得的最多照片是180,因为伺服器可以从0度旋转到180度。添加齿轮将提高分辨率。因此,我们将有更多的镜头,因此,平滑的时间间隔。我对电子产品很满意,但对机械方面却不太满意。期待改进它。

2)电位器可以用旋转编码器代替。

3)无线控制,也许?!

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

    关注

    88

    文章

    2167

    浏览量

    60868
  • 电位计
    +关注

    关注

    0

    文章

    255

    浏览量

    17754
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    索尼重载设备的高质量远程制作方案和应用(2)

    索尼的远程制作可以被称之为制作级的高质量远程制作,或重载设备的高质量远程制作,远程
    的头像 发表于 08-21 15:56 884次阅读
    索尼重载<b class='flag-5'>设备</b>的高质量远程<b class='flag-5'>制作</b>方案和应用(2)

    【技术贴】手柄芯片重新定义次世代交互体验,玩家:这物理外挂太逆天!

    随着游戏设备的升级,游戏手柄作为核心交互设备持续技术革新。在主机游戏中,高精度操作适配动作格斗、
    的头像 发表于 08-11 15:30 709次阅读
    【技术贴】手柄芯片重新定义次世代交互体验,玩家:这物理外挂太逆天!

    【VisionFive 2单板计算机试用体验】2、打造复古游戏机(Batocera镜像+FBNeo虚拟机, 多款游戏ROM分享)

    衷心感谢电子发烧友论坛! 1、基本知识 制作游戏机系统,需要3关键步骤: Linux游戏
    发表于 07-17 21:58

    【项目分享】Xii-Boy-Ultra 无线便携式 Wii 游戏

    。要更新的 GC+ 2.0,只需将该文件复制/粘贴到的 Xii-Boy Ultra µSD 卡的根目录。 boot.dol: 此文件用于在 GameCube 游戏中通过按键添加音量
    发表于 07-14 17:27

    树莓派复古游戏,你会选哪一个

    复古游戏与树莓派单板计算机的组合十分常见。在树莓派项目列表中,几乎都会包含至少复古游戏项目。复古游戏发行版让在树莓派上开启复古
    的头像 发表于 06-16 16:56 848次阅读
    树莓派复古<b class='flag-5'>游戏</b>,你会选哪<b class='flag-5'>一个</b>?

    鸿蒙5开发宝藏案例分享---多开发实例(游戏

    :用手机操控电视游戏 (文档位置:设备协同 > 游戏场景案例) 最近有做体感游戏的朋友吐槽:\"想用手机当
    发表于 06-03 18:22

    纳秒决胜数字经济 易飞扬低延时光模块,让交易快人步!

    您是否正在寻找能够显著提升网络性能的低延时光模块?易飞扬(Gigalight)为带来了增强性能(低延时)eSR多模光模块,让的网络体验更上层楼!
    的头像 发表于 06-03 16:33 427次阅读
    纳秒决胜数字经济 易飞扬低延<b class='flag-5'>时光</b>模块,让交易快人<b class='flag-5'>一</b>步!

    如何通过SFL为设备添加Flash编程支持

    SEGGER Flash Loader(SFL)是J-Link设备支持套件(DSK)的部分,通过SFL,用户可以为自己的新设备添加Flas
    的头像 发表于 05-19 16:35 1136次阅读
    如何通过SFL为<b class='flag-5'>设备</b><b class='flag-5'>添加</b>Flash编程支持

    游戏手柄振动马达:沉浸式游戏体验的核心

    游戏手柄振动马达是现代游戏设备中不可或缺的部分,它为玩家提供了更加沉浸式的游戏体验。通过精确的振动反馈,
    的头像 发表于 05-17 00:05 682次阅读

    在 KiCad 中添加 AI 助手是种什么体验?

    原文标题:在 KiCad 中添加 AI 助手
    的头像 发表于 05-15 14:28 624次阅读

    艾为电子芯片产品在游戏手柄中的应用方案

    随着游戏设备的升级,游戏手柄作为核心交互设备持续技术革新。在主机游戏中,高精度操作适配动作格斗、
    的头像 发表于 04-15 09:42 1365次阅读
    艾为电子芯片产品在<b class='flag-5'>游戏</b>手柄中的应用方案

    是否可以为RT1060添加HDMI输出?

    是否可以为 RT1060 添加 HDMI 输出?我想支持标准 720p 分辨率并使用图形加速。
    发表于 04-10 08:04

    客厅变游戏室?如何用树莓派实现 Moonlight 游戏流媒体

    是您可以使用的最佳自托管游戏流平台之。它允许您在运行Sunshine的更强大游戏设备和较弱设备
    的头像 发表于 03-25 09:37 1276次阅读
    客厅变<b class='flag-5'>游戏</b>室?如何用树莓派实现 Moonlight <b class='flag-5'>游戏</b>流媒体

    回流焊时光学检测方法

    回流焊时光学检测方法主要依赖于自动光学检测(AOI)技术。以下是对回流焊时光学检测方法的介绍: 、AOI技术概述 AOI(Automated Optical Inspection)即自动光学检测
    的头像 发表于 01-20 09:33 1360次阅读

    Linux的RTC回到了1970年,是时光倒流了么?

    导读RTC是种用于记录时间的电子设备,广泛应用于各种嵌入式系统中。本文通过实际案例分析RTC在实际应用中的问题并给出实际建议,如时间“归零”、RTC时间误差过大等。RTC
    的头像 发表于 12-17 11:37 1652次阅读
    Linux的RTC回到了1970年,是<b class='flag-5'>时光倒流</b>了么?