第1步:概述,或者它们如何融合在一起
杰克奥兰治自己唱歌用舵机打开和关闭嘴巴。他们的眼睛也很活跃。诸如迷你灯串之类的灯也可以闪烁到音乐中。
灯连接到固态继电器(SSR)控制盒。 SSR,眼睛和嘴巴的控制线都连接到Arduino。 Arduino接受传递给每个控件的实时串行流。那个流来自某种计算机。就我而言,我正在使用运行Falcon Pi Player(FPP)的Raspberry Pi来运行动画序列并播放相关音乐。必须将放大的扬声器连接到Pi才能播放音乐。 FPP使用Web界面运行,您将通过无线方式从手机或计算机控制播放列表。
最后,动画序列由专业动画软件创建,可以导出FPP期望的‘fseq’文件。我正在使用Vixen,但您也可以使用XLights。两者都是免费的,这是一个品味问题。动画必须逐帧完成(尽管像Papagayo这样的工具可以帮助缓解单调乏味)。我逐帧逐帧制作了我的。准备花些时间做这件事。
第2步:构建Jack O‘Lanterns
你如何做到这一点真的取决于1)你想要的外观,2)你得到的南瓜种类。我强烈建议购买空心泡沫南瓜。您也可以使用固体泡沫南瓜,但是您需要为您的伺服器和灯光路线留出空间。你将无法摆脱真正的南瓜。它们太潮湿太重了。
用铅笔画出南瓜脸的草稿。
用工具刀或小锯将南瓜沿嘴切成两半。你会想要一个切口,使得插孔自然地张开,所以沿着任何牙齿切开等。
将铰链连接到切口的后部以制作工作钳口。这里可能需要一些试验和错误,但你会希望它们尽可能靠近中间。我需要在较大的插孔上使用两个铰链,在较小的插孔上使用一个铰链。
钻出眼睛LED的孔。可选地,您可以完全切除眼睛并使用某些东西来扩散LED以获得更好的外观。在我的插孔o’lanterns的第1版中,我只是使用1/4英寸的钻头来制作孔,我粘上了裸露的5mm LED。
在南瓜后部底部留出一个独立的孔,通过该孔将导线穿过。
获得艺术气息,并装饰你的杰克灯笼!我让我的孩子装饰我的两个。
重复每个插孔o‘lantern。
步骤3:位置和安装舵机和控制臂
使用木材或动物废料,在底部中间的南瓜内制作伺服平台。伺服位置又是试错的问题。你想要的平台足够高,你的伺服喇叭和我们将设计的手臂有上下移动的空间。你希望它尽可能向前移动,因为控制臂越长(径向部分),它可以提升的重量越小。然而,控制臂越短,唱歌时嘴中的开口就越小。
设计一个可与伺服一起使用的控制臂。我使用干洗的钢丝吊架,因为它们很好地附着在伺服控制喇叭上。我需要用一个小钻头打开控制喇叭孔。我使用“D”形状将硬线固定在喇叭上。这具有相当安全但可快速移除的优点。它还在两个位置连接到伺服喇叭,增加了一些杠杆和安全性。
控制臂远离伺服系统,足以降低速度并增加开口宽度。
手臂的上行部分以圆形结束,以便插孔的内侧顶部平稳地骑在上面。没有必要将南瓜的顶部连接到手臂上。
将伺服热胶粘到平台上。如果你想在万圣节后重新使用伺服器,它应该很容易撬开,热胶很容易从伺服盒中取出。
此时,如果您有一些简单的方法来激活伺服,那么测试它可能是个好主意。确保最大开口符合您的喜好。
重复每个插孔。
在使用附带的螺丝将伺服喇叭拧到伺服输出轴之前,请等到确定伺服系统已归零。
步骤4:构建眼睛
这部分比你想象的要复杂一点,因为我们直接用Arduino为LED供电。每个输出引脚在5V时的源电流不应超过40 mA。对于红色和黄色LED,您只需要一个简单的串联电路,因为它们的正向电压在20 mA时约为2V。对于任何其他颜色(例如万圣节颜色),你看3.4V左右。您需要并联连接LED,以便为5V供电。每个20 mA,您仍然可以直接从Arduino为2 LED并联电路供电。请注意,这些是典型值。您的LED可能不同。
连接2个LED串联电阻。您可以使用欧姆定律来计算电阻器。对于20 mA的两个红色LED,您需要降低(5V - 2V - 2V)= 1V,因此R = 1V/0.02mA = 50欧姆。这是最大亮度所需的电阻。我使用了220欧姆的电阻器,因为我让它们坐在我的长凳上,而且眼睛不够亮。毕竟,不要让你的观众失明。在LED之间留出足够的松弛度以适合插孔的眼睛。
确保第一个LED的阴极( - )连接到另一个LED的阳极(+)。电阻器方向无关紧要。
或者,如果使用绿色,蓝色或白色LED,则将它们并联连接。每个LED都需要自己的电阻。我又在这里使用了220欧姆的电阻器,很好。您可以使用更小的电阻来获得更亮的眼睛,但对我来说220欧姆就足够了。详细地,将一个电阻器的阳极焊接到输入+电源,将阴极焊接到220欧姆的电阻器,将电阻器的另一端焊接到短的导线接地端。对于第二LED,电路是相同的,但是将短的导线移动到第二LED的阳极侧。
使用Arduino上的5V和GND连接测试电路。
如果不使用漫射器,请将LED按入您之前创建的眼孔并将其热粘到位。
漫射器(可选)
《对于我最大的南瓜,我希望眼睛更突出。单点光线对于小南瓜来说很好,但是它们在大型南瓜上有点丢失。对于漫射器,我使用了这些部件:
一副免费太阳镜镜片
棉球(给人一种整洁的旋涡鬼眼效果)
黑卡片
组装:
为比太阳镜镜片小的眼睛切出孔
热胶
拉伸棉球,直到它们覆盖整个镜头,并将热胶粘到适当的位置(使用尽可能少的胶水)
将LED放置在内孔上方面向镜片的两侧,而不是明亮的两端。使用延伸到镜头之外的导线部分将LED粘贴到位。
切割足够大的黑卡片以覆盖整个眼睛组件,并粘贴整个装置。这种卡片可以保持南瓜内部的光线。点亮内部声音很酷,但每个人都可以看到电线和伺服组件,破坏效果。
步骤5:为每个Jack O’lantern添加线束线束
你需要为每个插孔运行4根电线o‘灯笼
伺服电源
伺服信号
眼睛的电源/信号
接地(由两者共用)
LED可以直接从Arduino供电。
我用旧的cat-3电话线连接我的插孔o’lanterns。你需要足够的电线从你的插孔到控制箱。请记住,您可能想要隐藏控件的效果,控制盒将需要在您的wifi范围内。将此长度乘以您所具有的插孔数量。
剥去外壳以露出单个导体。
将LED直接焊接到Cat 3电缆中的一根绞线上。
将3针公头连接到其余三条线上。我们正在为伺服连接器制作插头,因此连接顺序应与伺服连接的顺序相匹配。订单因伺服制造商而异,请查阅您的文档。我使用两种不同品牌的伺服,因此在我的照片中,您可能会注意到标题线顺序发生变化。
也将地线从眼睛焊接到接头上的接地引脚。
可选择用热胶涂覆焊接连接,以保证绝缘和强度。
在另一端,将1针公头连接到每根导线上。
在每根导线周围缠上一小块遮蔽胶带并标记其功能。相信我,这一步将为您节省许多麻烦。
注意:
您需要修剪电线,以便线条松弛眼睛。如果不这样做,电线将阻止嘴张开。
第6步:构建灯光秀
我使用自制固态继电器(SSR)制作了我的灯光表演。你当然可以使用普通的旧继电器,但它们会产生很多噪音。这对于这个项目来说非常重要,因为继电器盒就在你的插孔旁边。
我已经在另一个Instructables中解释了这部分构建。
正如我在那里所说,小心。这部分项目涉及家用电源,如果您不小心,可能会导致您死亡。插入时,请勿触摸SSR盒内的任何物体。许多三端双向可控硅开关(包括我在此使用的三端双向可控硅开关)都具有金属片,当三端双向可控硅开关有效时,它们会带电。
在您构建并测试后你的SSR,你需要建立一个线束。像电话或以太网电缆这样的多芯电缆再次在这里运行良好。你需要一个导体用于你想要分别控制的每个灯光和一个用于地面的灯光。此电源线不带电源电流。假设您正确接线,可以安全地触摸。我将单针公头焊接到该线束的远端。与插孔板一样,此线束必须足够长以到达控制箱。
最后,将灯插入SSR盒插座。这些可以是万圣节灯串或灯光道具。实际上,只要你没有超载SSR盒子,它们就可以插入任何东西。
第7步:Arduino草图
这个Arduino草图包含了网络上的零碎内容。其中一部分来自于其他唱歌南瓜Instructable,其中一部分来自zparticle更为人熟知的素描。在我所有的草图上都有一些自己的调整和修改。
在这里从GitHub获取草图。
我已经记录了很多评论的代码,但总的来说,这是正在发生的事情:
定义我们的频道并标记当前有效的频道数。我为每个引脚定义了方便的名称。这对于Arduino Uno特别有用,其中引脚在数字顺序方面并不完全与我们如何使用时间有关。我还添加了定义比我们实际使用的更多通道(我们将控制的东西)的能力。这对于未来的改进和测试非常有用。您可以设置所需的通道数N,然后将它们放入“通道”数组的前N个插槽中。
定义我们是否正在测试。这只是一种方便,它告诉代码将我们标记为伺服的通道视为非伺服系统。创建实际动画非常耗时,并且有助于设置测试面包板,其中伺服器由简单的LED表示。设置测试变量可使这些LED正常亮起(请参阅稍后的动画步骤)。
定义伺服掩模。这是一个将伺服数映射到通道号的数组,或标记非伺服通道的数组。掩码数组应至少与通道数组一样长。
定义一组伺服器。
定义每个伺服的最大和最小开启角度。由于尺寸不同以及如何构建控制杆,每个南瓜的情况会有所不同。你必须通过反复试验来设置它。
为动画帧的开头定义标记。这可以是你喜欢的任何东西。我在这里关注zparticle并使用‘〜!’标志着开始。您需要告诉动画软件为每个帧添加前缀。请注意,这根本不是必需的(上面的其他南瓜教程不使用它)。它只是一个廉价的错误检查,有助于保持南瓜与动画流同步。
设置我们的串行连接。记下您在此处选择的波特率,因为您需要将动画流波特率与其匹配。
设置一个看门狗定时器,如果它冻结超过一秒,重新启动Arduino。再一次,没有必要,但它只是一些便宜的保险。特别是如果你在无人看管的情况下离开南瓜。
在循环中,我们观察传入动画帧的串行端口,然后将一个字节传递给每个通道。如果通道不是伺服,而是PWM,它只是得到字节。如果它不是伺服而不是PWM,我们会进行廉价的转换,然后将其发送出去。如果是伺服,我们将字节转换为角度并使用伺服库将其发送出去。
就是这样。表示动画和音频的流都由Pi处理。
步骤8:设置Falcon Pi播放器
注意:此步骤是可选的。您可以跳到Vixen动画部分,直接从Vixen运行整个节目。 FPP消除了对计算机的需求,为您提供手机控制,以及安排和播放列表。它还使整个设置更便宜,更小。
安装Falcon Pi Player(FPP)
如果您对Raspberry Pi一直很熟悉,那么您就会知道它是一台完整的计算机。 FPP是你放在Pi的SD卡上的整个Linux发行版,就像你安装Raspbian OS一样。
按照此处的安装说明操作:http://falconchristmas.com/forum/index.php?board = 8 。..。
tFPFP将需要连接到您的家庭网络,通过以太网或wifi。 Wifi显然会更便携。说明位于同一链接。
配置FPP
所有内容均通过网络界面进行控制。如果所有内容都已正确安装,您应该可以通过打开计算机或手机上的浏览器到http://fpp
设置输出,从Pi运行控制网站对于我们的Arduino草图
FPP知道如何控制许多不同的现成灯光设备。它还知道如何生成开箱即用的通用串行流,这是完美的。这正是我们的Arduino草图正在等待的东西。我们只需要配置串行流,使其与Arduino所期望的相匹配。
转到输入/输出设置 - 》通道输出
单击“其他”选项卡
单击“添加”按钮
从“输出类型”下拉菜单中选择“通用串行”
将“启动通道”设置为1
设置通道数到8(或任何通道数)
将端口设置为Arduino将连接的USB端口。这可能需要反复试验,因为这些名称显然不会映射到真实的USB端口。
将速度设置为115200(除非您在Arduino草图中选择了不同的波特率)
输入‘〜!’ (不带引号)在标题框中。这是我们在Arduino草图中指出的标题。
勾选“有效”复选框
上传动画和音乐
转到内容设置 - 》文件管理器
在“序列”选项卡下,单击“选择文件”以上载由Vixen或xLights生成的fseq文件。
在“音频”标签下,点击“选择文件”,将同步的音频文件上传到序列中。
设置播放列表
转到内容设置 - 》播放列表
输入新的播放列表名称
通过选择正确的序列组合,一次添加一个条目音频。
开始和停止节目
转到主页面(状态/控制 - 》状态页面)
从可用列表中选择一个播放列表
单击“播放”按钮
为了获得更多控制,您可以使用“内容设置”下的“调度程序” - 》调度程序在节目开始和停止时自动化。
更进一步
这甚至没有刮到FPP的能力表面的。有关更多帮助,请访问falcon网站,或者只需单击FPP控制页面上的帮助按钮。一切都记录得相当好。
步骤9:创建和导出动画
我在这里使用Vixen 3,但是xLights也是一个可行的选择。我没有提供有关Vixen的完整教程,因为网上已经有很棒的教程。
如果你曾经使用过Premiere,Final Cut Pro,iMovie,Audacity,FLStudio或Flash,你可能已经知道90%的做法。 Vixen为您提供了必须添加通道的时间线,并在该通道中通过指定0-255之间的值来定义帧,该值将成为插孔口打开的距离或PWM灯的亮度。将其与音频同步,您就拥有了动画序列。
我要提前警告你:这部分很乏味。有许多网站人们发布了他们自己的序列,但其中大多数是用于驱动大型多声道灯光秀,而不是动画舵机。但是有好消息。歌曲是重复的。剪切和粘贴是你的朋友。如果节奏相同,甚至可以剪切和粘贴具有不同单词的部分歌曲,因为我们只是打开和关闭嘴巴。我们不必担心唇形同步。
我已经创建了上面嵌入的视频教程。
在面包板上为您的节目构建测试代理
使用LED代表每个通道。将面包板接地连接到Arduino接地,并将每个LED的阴极插入面包板上的接地导轨。将阳极插入一排,在沟槽上添加一个电阻(220或330欧姆即可工作),并将每个电阻器的跳线连接到草图中定义的通道。在你的Arduino草图上设置测试模式,你很高兴。您必须设置Vixen才能将串行流发送到Arduino,就像我们使用FPP一样。
这比处理实际的伺服系统容易得多。
从Vixen流式传输到Arduino
您可以直接从Vixen到Arduino。您不需要Raspberry Pi或FPP。实际上,除非您相信Vixen中的内置动画显示,否则您需要为动画执行此操作。
步骤10:构建控制箱
中央控制盒包含Arduino和伺服电源总线。它可以,给定空间,也包含你的Raspberry Pi,但请记住Pi将运行温暖。
我用三明治肉容器颠倒翻转。不透明的顶部成为一个连接物体的地板,半透明的外壳变成一个圆顶盖,你可以看到测试LED通过。
使用Arduino上提供的螺孔,将其连接到容器盖的下侧,如图所示。我用漆包线作为扭结。
使用电线或热胶将电源母线连接到盖子下面。
将总线接地连接到其中一个Arduino GND引脚。
将电源和接地线焊接到枪管上,并将两端连接到电源总线的+和 - 侧。
标记+和 - 条带。
在容器的(前)底部为Arduino的USB电缆和插孔o‘lanterns和灯光秀的控制线打孔。
将控制线穿过孔。
将所有控制接地线连接到电源总线上的 - 条带。
将伺服电源线连接到总线的+条带
将所有控制引脚连接到Arduino上的相应引脚。如果您使用此处提供的草图未更改,请按以下方式附上:
针9:南瓜1口
针10:南瓜2口
针脚11:南瓜3口
针3:南瓜1只眼睛
针脚5:南瓜2只眼睛
针脚6:南瓜3只眼睛
Pin 12:灯组1
引脚13:灯组2
如果您对奇数引脚顺序感到好奇,我们需要PWM(模拟,基本上)输出用于控制嘴和眼,Arduino有6个PWM输出。灯组是数字的,因此它们可以进入任何剩余的引脚。
步骤11:全部放在一起
使用热胶或螺丝将插孔板连接到底座上。
将Arduino连接到控制盒(如果需要),我使用旧架子来保持便携性。我使用工具包中的漆包线将Arduino扭曲绑在可重复使用容器的顶部,并将其翻转过来。事实上,我多年来一直保持着我的Arduino。它是一个很好的,美观的保护盒。
将电源总线连接到控制箱。我热粘了我的自制巴士。
将枪管插孔连接到总线并标记接地和正极。
将公交车地面连接到Arduino地面。
为Arduino串行电缆和南瓜和SSR盒的控制线打个洞。
将控制线插头引脚插入Arduino上的正确引脚。这些是您在Arduino草图中设置的引脚编号。
将伺服电源和接地连接到电源总线的正确侧面。
将Arduino的串行线路连接到Raspberry Pi。务必选择FPP设置中指定的USB端口。这也将为您的Arduino提供动力。
将一组放大扬声器(电脑扬声器工作正常)连接到Pi的音频插孔。
将所有内容都插入。您应该为Raspberry Pi提供1)电源,2)为伺服电源供电3)为SSR机箱供电,以及4)为扬声器供电。
登录FPP并开始播放列表!
第12步:更进一步
FPP支持许多不同的选项。它可以控制许多商业控制器。更有用的是,它支持基于GPIO的事件。通过FPP的创造性使用,您可以让您的插孔对环境做出反应。例如,您可能会让他们对按钮按下或运动传感器做出反应。所需要的只是Web界面中的一些设置和最糟糕的一些shell脚本。 FPP负责处理GPIO并将事件附加到脚本。
虽然我在所有镜头中都展示了Arduino UNO,但在今年的版本中,我正在转向Arduino Mega 2560.这给了我更多的I/O引脚,因此能够控制很多额外的灯和电机。有14个PWM引脚,它为我提供了8个额外的模拟控制,其中一个将控制我在这里描述的黑光支柱。我还添加了一个硬件,现实世界的跳过按钮和一个按钮,这将导致南瓜停止他们正在做的任何事情和尖叫。 FPP通过称为“效果序列”的东西支持这一点,“效果序列”只是普通序列,设计用于在正常循环之外播放。最后,今年版本的最终目标是让我的其他道具在触发时通过WiFi(使用ESP8266)进行播放,并让南瓜播放相同的尖叫序列,就好像道具一样吓唬它们。
步骤13:可选的硬连线遥控器
如果你’我想给你的客人一点控制,你可以创建一个硬连线遥控器。或者,如果您愿意,可以使用此原理图作为踏板,用于控制任何外部控制的节目。这是有效的,因为FPP支持GPIO,并且支持它很好。任何GPIO都可以连接到任何“事件”,这是FPP用于运行效果序列或任何shell脚本的说法。不仅如此,FPP在存储库中附带了许多脚本,您可以为项目安装这些脚本。其中许多调用fpp程序的命令行版本,它们通常只是一些容易修改的行。
我用3个按钮创建了一个遥控器:倒带,快进和一个标记为“推动看孩子跳”,这让杰克奥兰斯大声尖叫。
对于这个遥控器,我使用了以下部件:
迷你Altoids可以
3x瞬间按钮
3x 10k欧姆电阻器
1x 1k欧姆电阻器
一些cat-5e电缆
1x 1针母头
1x 4针母头
热胶
我们触发低电平,因此3个10k电阻是上拉电阻。 1k是限流电阻。要建造:
将一块穿孔板切成一定尺寸,使其适合锡内,边缘处的空间可以关闭盖子
将三个按钮连接到通过弯曲按钮销来抓住电路板。
在锡的盖子上标记与按钮位置匹配的孔。我把第三个按钮与前两个按钮隔开。
在你的altoids锡上钻3个孔。
责任编辑:wv
-
led灯
+关注
关注
22文章
1592浏览量
107995
发布评论请先 登录
相关推荐
评论