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)无线控制,也许?!

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

    关注

    85

    文章

    2030

    浏览量

    57710
  • 电位计
    +关注

    关注

    0

    文章

    253

    浏览量

    16953
收藏 人收藏

    评论

    相关推荐

    开源项目!基于Arduino做的“鱿鱼游戏”BOSS面具,支持动作检测

    这是结合了3D打印、舵机、PIR传感器和DFPlayer MP3模块的DIY项目,旨在制作带有动画眼睛的\"鱿鱼
    发表于 10-28 10:18

    苹果正在打造专为iOS用户设计的游戏中

     10月23日,据国外媒体报道,苹果公司正致力于开发款新型应用程序,意在将App Store与Game Center的功能融为体,打造专为iOS用户设计的
    的头像 发表于 10-23 16:00 809次阅读

    游戏手柄震动马达的技术特点分析

    游戏手柄震动马达在现代电子游戏中扮演着重要的角色,其技术特点直接影响到玩家的游戏体验。游戏手柄震动马达不仅为玩家提供了触觉反馈,还增强了游戏
    的头像 发表于 10-09 11:12 250次阅读
    <b class='flag-5'>游戏</b>手柄震动马达的技术特点分析

    蓝牙模块如何提升游戏设备的体验?

    在当今科技飞速发展的时代,游戏设备正经历着场前所未有的智能化变革。作为连接虚拟世界与现实体验的重要桥梁,蓝牙模块已经成为游戏设备不可或缺的
    的头像 发表于 09-25 17:11 383次阅读
    蓝牙模块如何提升<b class='flag-5'>游戏</b><b class='flag-5'>设备</b>的体验?

    的MSP430™MCU添加管家功能:电源序列器

    电子发烧友网站提供《为的MSP430™MCU添加管家功能:电源序列器.pdf》资料免费下载
    发表于 09-14 11:09 0次下载
    为<b class='flag-5'>您</b>的MSP430™MCU<b class='flag-5'>添加</b>管家功能:电源序列器

    蓝牙模块在无线游戏设备中的应用

    随着科技的飞速发展,无线游戏设备已经成为游戏产业的重要组成部分,为用户提供了更加便捷、自由的游戏体验。蓝牙模块作为无线游戏
    的头像 发表于 07-19 14:00 221次阅读

    超酷!基于ESP32自制蓝牙游戏手柄

    通过这个项目,你会学习到如何设计面包板游戏手柄电路,学习如何将这个电路作为游戏手柄与An
    发表于 05-06 16:59

    谷歌发布SIMA模型,以游戏技能训练提升整体操作风格

    SIMA不仅是游戏中的AI角色,预期会成为的得力助手,并根据的操作做出相应的反应。其运用自然语言与图像识别技术掌握3D游戏世界,期望成为
    的头像 发表于 03-14 10:33 444次阅读

    Xbox应用新增“游戏中心”功能

    微软 Xbox 体验高级产品经理 Dylan Meade表示,“游戏中心”便于玩家追踪游戏进展,发现游戏最新内容和扩展包,与友人联机竞技,接收开发商的最新新闻等。
    的头像 发表于 02-27 14:02 643次阅读

    使用Arduino Nano制作4×4×4 LED立方体

    在这个项目中,我们将使用 Arduino Nano 制作很酷的 4×4×4 LED立方体。LED 立方体,也称为 LED矩阵,可以照亮
    的头像 发表于 02-11 12:07 3073次阅读
    使用Arduino Nano<b class='flag-5'>制作</b><b class='flag-5'>一</b><b class='flag-5'>个</b>4×4×4 LED立方体

    想知道淮安掼蛋游戏中的RFID技术有什么作用吗?

    在淮安,有种深受群众喜爱的扑克游戏,名为掼蛋。它是种融合了升级、跑得快等多种玩法的扑克游戏,具有极高的趣味性和竞技性。近年来,随着科技的不断发展,RFID技术也开始在淮安掼蛋
    的头像 发表于 01-26 17:01 545次阅读

    鸿蒙千帆起】《开心消消乐》完成鸿蒙原生应用开发,创新多端联动用户体验

    。 早在 2014 年《开心消消乐》上线之初就接入了华为游戏中心,如今,双方合作已经走过近十年头。依托长久以来的坚实合作基础、华为游戏中心面向开发者的全周期服务能力,以及华为领先的技术和鸿蒙生态
    发表于 01-03 10:22

    labview怎么添加设备驱动

    添加设备驱动是使用LabVIEW进行设备控制和数据采集的关键步骤之。本文将向介绍如何在LabVIEW中添加设备驱动程序。 在开始之前,
    的头像 发表于 01-02 16:10 2203次阅读

    【飞腾派4G版免费试用】4. Teeworlds 浅谈游戏

    支持多个操作系统,包括Windows、macOS和Linux,促进了跨平台多人游戏。 开源: Teeworlds是款开源游戏,这意味着社区可以为其开发做出贡献,并创建各种不同的模组
    发表于 12-25 19:47

    Google Play 游戏电脑版 | 助力开发者高效打造无缝跨设备游戏

    ZlongGames 借助 Google Play 游戏电脑版简化跨平台开发流程,成功为用户打造了无缝的跨设备游戏体验,用户留存率和付费率均有显著提升。 快来起观看视频,了解 Zlo
    的头像 发表于 12-08 13:50 438次阅读
    Google Play <b class='flag-5'>游戏</b>电脑版 | 助力开发者高效打造无缝跨<b class='flag-5'>设备</b><b class='flag-5'>游戏</b>