电子魔术8球和眼球

简介:电子魔术8球和眼球

简介:从事各种机电专业工作,幽默感不强,乐于助人。。。目前正在合同中设计环境监测设备。

我想创造一个数字版本的魔术8球。。。

The body of this is 3D printed and the display has been changed from an polyhedron in blue dye to a small OLED controlled by a random number generator programmed into an Arduino NANO.

然后我继续一点切线,创造了另一个贝壳,这是一个冰蓝色的眼睛,直视你的灵魂。。。

注意事项:虽然我最终使用了Mercury Tilt倾斜开关的最终版本。如果这旨在用作玩具,您应该只是遵循这里概述的原始计划。汞已知毒性。第二个视频清楚地显示了为什么我这样做!

All of my mercury switches were reclaimed from old home thermostats that were destined for the landfill, they are in safe hands now...

UPDATE April 12,2019!!!:我已经包括了一个更简单的方法来供电和运行这个项目。我还包含了只显示建议的精简代码。所有这些都在第10步中显示出来。

Step 1: The 8 Ball

我在SolidWorks中创造了100毫米空心球

I didn't want any joining seam along the equator of the sphere so the the top and bottom sections were then cut out leaving a 50mm hole in the top and a 56mm hole in the bottom.

因为我不想看到任何紧固件,我然后做了一个57毫米削减1毫米深的底部孔外,并增加了两个直径4毫米的杆,只是垂直进入孔约4毫米长。

通过将初始切口部分反转为顶孔的初始切口部分进行建模。将另外的2mm环加入到插头的内曲线中,然后整体是固体。

我从上面画了一个大数字8,这个轮廓是从封面上剪下来的。这又被用来创造一个数字8件。

步骤2:窗口访问端口

这部分包含所有的电子和内部工作。它还可以作为更换电池的接入点。

我不想在这个紧固件可见,所以我做了一个开放的螺丝片约36度,并锁定到位。。

有一个端口,直径约为1英寸,允许观看建议。

在港口的内部是一个方形切口区域,意味着容纳2毫米厚的塑料或玻璃。

This window is used on all sizes of this toy.

还需要两个电子表面部分和一个电子和纳米线。

Step 3: Print and Assemble

The ball and number were printed using ABS black. While the top cover was printed using ABS natural. I tried ABS white but it looked too stark.

The number 8 is a press fit into the top cap.

The top cap is just small enough to go inside of the ball through the bottom opening.

这是一种摩擦配合,但也用ABS粘合胶固定。

我有点担心里面所有的零件都要装进去,所以我继续制作了另一个,这次直径是120mm。

第四步:眼睛

我删除了3D模型中的顶部剪影,并在天然ABS中打印了两个ORB,然后在蓝色ABS中打印窗口访问端口。

当你直视它的时候,它会给你一个合理的眼球模型。

我喜欢这个版本比原来的8ball更好。

第五步:电子设备

空间和外表一样是一种限制。

There had to be no outside protrusions or obstructions to the aesthetics.

玩具是通电和互动,由议案。

玩具在关闭状态下启动,直到反转。

而不是按按钮开关,我使用了倾斜开关。

以前我用的是MOSFET用于控制微控制器的电源。然而,这并不理想,因为它允许少量电流连续馈送微控制器,从而在大约一个月左右杀死电池。

这种情况我使用了一个像我在我的那个那样的小的继电器cryptex USB驱动器项目.

The included schematic shows the wiring necessary to get the hardware to work.

倾斜开关。

继电器。我使用了6V线圈,因为电池电压为6V,这需要从简单的NPN晶体管切换的继电器的驱动电路。

Waveshare 128 x 128 OLEDmodule from亚马逊.

Step 6: The Program

我想要的答案是原来的玩具。我用维基百科为了这个。

该模块是SSD1327类型,并且这些LCD的一个非常强大的代码库。

由于内存使用量太大,最初尝试使用此代码时导致失败。

A simple workaround was to make use of the制造商提供的精简代码.

我吹出了大部分示例和原始代码的代码段来显示所需的信息。

该计划的工作方式如下:

The ball at rest is in a power off state.

反转球看窗户是最初的通电状态。

一旦Arduino开始并显示说明,“请问您的问题然后反转”。该计划通过程序控制的继电器接管并向Arduino提供电源。

指令仍然可见,直到玩具转动侧面,这会切换倾斜关闭,程序进入思维模式。读数显示“思考......”,所以你知道它仍然活跃。

The ball is then inverted again so that the window is upright.

此动作由机械倾斜开关on读取,程序将在车窗朝向顶部的一秒钟内产生随机响应。

The message remains visible until the toy is turned ball side up.

这个过程一直持续到球被放在车窗一侧向下超过16秒,程序将关闭继电器并关闭电源。

关于此程序的关键笔记是随机();功能。

我遇到了同样的响应问题,我甚至同时用两个设备测试了这个,发现是它们是相同的。

使用随机性(Analogread(0))至关重要;常规。可以找到对此的解释HERE:

第7步:车窗和电子设备装配

此组件有五个印刷部件,构成窗户,电池夹和盖板。

首先是具有对OLED支撑的可见部件,第二个是通过支架连接到窗口的电池和控制器载体。

我用一小块剪切玻璃窗户。这粘在一起氰基粘合剂.我在一侧有一些带有粘合剂的挡风玻璃泡沫,将其切成小条,并放置在窗口组件的内部的玻璃周围。

窗户周围有4个螺孔。这些是为我选择的模块间隔开。这些有4-40热定形嵌件用烙铁安装。

With the module in place, 1/4 inch standoffs are used to fasten it down.

我很幸运,当组件到达时,电池架正好安装在开口内,这意味着我不必将其垂直放置。这意味着较小尺寸的球可以正常工作。

电子托架的底座带有电池夹,并具有2个切口,一个用于继电器,一个用于倾斜开关。

The cover has 3 parts that snap together and securely holds the batteries down and provides a flat surface to attach the NANO module to.

然后将这两个零件拧到旧模块背面的4个压铆螺母柱上。

慎用!最后我把倾斜开关换成了水银开关。这使得操作更加可靠。

第8步:干扰配合

完成后的车窗总成将与球底部的切口紧密配合。

When fitting the final window assembly into the ball there may be some interference

如果发生这种情况,则需要如图所示修整球中的窗口支撑的内唇。

第9步:附加文件

These are the large 120mm diameter size ball files

Step 10: UPDATE!

我已经完成了精简的代码,使这个球有类似于原来的操作。

现在,当你把它翻过来时,大约需要4秒钟程序才能启动并显示建议。

这种类型的操作也是可能的,简单的硬件构建也是可能的。

可以消除电路的所有功率部件,并且根本不需要数字驾驶D2。

倾斜开关可以为开关晶体管供电,为电路板上的原始电源输入供电。

I left the components in place for this change.

如果更改电路,则可以从程序中删除POWPIN的程序声明和与此相关的所有后续部分。

如果构建了原始电路并希望使用无电源代码。它仍然应该用作倾斜开关打开微控制器的电源。

In this mode it always takes about 4 seconds for the program to start and then display the advice.

通过卸下输入引脚,可以简化其更多。我还没有测试此模式,但它应该相同。只需删除任何引用对程序的读取输入。

If using这种类型的倾斜传感器I have included a new battery carrier support

步骤11:附加文件

These are the OLED files from Waveshare website....

2019年Arduino大赛

亚军
2019年Arduino大赛

第一个分享

    建议

    • 微控制器竞赛

      微控制器竞赛
    • 自动化竞赛

      自动化竞赛
    • Make it Glow Contest

      Make it Glow Contest

    9评论

    0
    penged

    问题11 months ago

    我的图解有点生疏了。在步骤10中,V+是否连接到蓄电池的正极,GNDA是否连接到负极?
    Also, I don't understand why the voltage is going to pin D4.
    One last thing, since the OLED screens sometimes have different pinouts could you give a better description other than pins 1 through 7 on the screen?
    我不断编辑这篇文章,因为我遇到了绊脚石。我在你的草图中找不到任何库,Waveshare网站似乎已经关闭了。
    感谢您分享您的构建。

    0
    随机加拿大人

    11个月前回答

    It is part of the evolution of the project from the complex first one to the simple last one shown here. It reads when there is power and starts the program running. I recognize that it could be programmed to just run when Arduino powers on.

    第11步检查更新的信息rmation

    0
    penged

    11个月前回复

    谢谢你的及时回复。我完全错过了第11步。
    我在OLED屏幕草图的注释中添加了这个。我认为(希望)这是正确的。
    /*OLED屏幕的引脚
    PIN 1到NANO 5V - VCC
    PIN 2 TO NANO GROUND - GND
    PIN 3 TO D11 - DIN
    引脚4到D13 - CLK
    插脚5至D10-CS
    引脚6至D7-直流
    PIN 7 TO D8 - RST

    */

    0
    超级英雄80

    1年前

    我喜欢这个指导,伟大的想法和专业的期待结果!我已经半途而废了。不知道是不是只有我,但我发现有点难以理解,当我回到参考部分和诸如此类的东西。。。也许下次把所有的stl和明细表放在各自的部分中会有所帮助。

    0
    随机加拿大人

    1年前回复

    Thanks for the input. I will work on this for sure.

    0
    超级英雄80

    1年前回复

    我有一些麻烦试图将8装入较大的球中的帽子。这是因为当我向上扩展为100毫米球设计的8时,即可越来越小。您可以使用正确的Tollerances上传8的缩放版本的机会?

    0
    随机加拿大人

    1年前回复

    I have updated step 9. thanks for finding this error.