万圣节糖果自动分配器的制作

电子说

1.2w人已加入

描述

步骤1:材料

糖果分配器

塑料桶

3英寸x 60英寸。圆管

2 Futaba S3003伺服系统

1旧CD

螺母和螺栓

控制箱

塑料项目外壳

大圆顶按钮

16x2串行LCD显示屏

嵌入式5e RJ-45插孔

尺寸M面板安装同轴直流电源插座

12 V DC变压器

C在5电缆处

主机箱

铝制项目机箱

Arduino Duemilanove

Adafruit Protoshield

XBee适配器套件

XBee模块

x10爆竹CM17A

x10收发器

1100 k电阻

通讯桥

ioBridge IO-204

ioBridge串行智能板

XBee适配器套件

XBee模块

烟雾机

X10设备模块

125VAC/10A DPDT插入式继电器(作为与x10组合的开关)

聚苯乙烯泡沫塑料冷却器,干燥器软管和冰,以产生低雾。

(有关更多信息,请查看我去年的万圣节项目https://www.instructables.com/id/Halloween-Dropping-Spider/)。/li》

灯和配件

X10设备模块

白炽灯,频闪灯,黑色灯泡。

步骤2:糖果分配器

第一件事是找出一个装糖果并分配的好方法。我使用了一个塑料桶,一条金属通风管和一个附在伺服电机上的CD,我发现通过从侧面而不是底部分配糖果,可以使糖果更自由地移动并避免糖果阻塞。 》通风管呈“ U”形,因此我在铲斗的底部中央做了一个“ U”形切口。请注意,我没有切掉整个“ U”字,而是在中间留了一块塑料,以固定使CD旋转的伺服电机。

插入通风管后,我做了几处切割,以便将管道扩展为薄片形式。我用了几个螺丝和螺栓将薄板固定在铲斗上。剩下的空间被强大的鸭子胶带覆盖了。

我切割了CD,以使糖果在旋转时能够流动。另外,我在里面装了一个连续的伺服器来充当“摇床”。

步骤3:控制箱

控制框非常简单。我钻了几个孔,以便连接红色的大按钮,ioBridge液晶显示屏,电源插孔和RJ45插孔。

我真的很喜欢使用CAT 5电缆来使事情更加模块化。

第4步:主机箱

主程序在Arduino Duemilanove中运行。电路板初始化后,立即进行Web调用以检查当前代码,并将其显示在LCD屏幕上。

主循环正在等待物理按下红色大按钮或接收远程串行消息。随附的XBee模块与连接到ioBridgeIO-204模块串行板的另一个XBee模块进行通信。

这些是数字I/O引脚配置:

XBee模块(带有adafruit XBee套件)

Pin 13-TX

Pin 12-RX

Gnd and 5v

大圆顶按钮

引脚8-按钮NO(常开)+ GND + 100K。

5v-COM

伺服1(使用连续旋转伺服用于振动)

Pin 7 -Data

Gnd和5v

Servo 2(用于旋转CD)

引脚6-数据

Gnd和5v

X10 C17A(x10设备控制器)

引脚3-DTR线用于C17A-DB9引脚4

引脚2-RTS线用于C17A-DB9引脚7

Gnd-DB9引脚5

ioBridge 16x2串行LCD显示屏

引脚1-LCD数据引脚

Gnd和5v

它还包括一个用于控制ioBridge LCD屏幕的库。

第5步:代码生成器

我意识到,意图不佳的人可以将@Tweetfortreat帐户发为垃圾邮件(或者不太可能是某人)可能会发短信或多次拨打我的Twilio电话),最终我会在地板上堆满糖果。

我当然使用我最喜欢的Web开发工具Oracle Application Expresshttp://apex创建了REST Web服务。 .oracle.com/,以确保每次通过文本,通话或Twitter发出糖果放下请求时都生成唯一且随机的代码。

REST应用程序确实非常简单,我知道也可以使用其他任何应用程序来创建技术,例如LAMP甚至GCI或Perl应用程序。

应用程序对象:

1表(ID,CODE,SELECTED)

1数字序列以生成主键(ID )

1在插入记录之前触发,该记录将获取ID值并将随机数附加到CODE列

1公共过程以检索代码(其中selec ted = 1)

1个公共过程以一次使用一次更新代码并生成一个新代码。

所以我最后得到了这两个URL

http:/my.apexserver .com/pls/apex/getcode

http:/my.apexserver.com/pls/apex/updatecode?code = XXXX

**如果您想使用静态内容来实现相反,我建议使用http://www.random.org/clients/http/获取随机数并将其存储在文件,内存甚至arduino本身中。

步骤6 :IoBridge设置

ioBridge IO-204用作arduino和互联网之间的桥梁(du!)。我正在使用ioBridge串行板连接XBee模块。

ioBridge的主要功能有两个:

请求当前代码

从arduino进行GET调用,以使用ioBridgeSerial Web服务API从我的代码生成器服务中检索当前代码。

Arduino代码:

mySerial.println(“ [[[[get | http:/my.apexserver.com/pls/apex/getcode]]]“);)

按文本,调用或鸣叫开始放糖果的顺序。

ioBridge小部件将通过发送一个开始字符串行消息和糖果放入序列将开始。可以使用ioBridge静态窗口小部件API调用此窗口小部件。

此URL由Twilio和我的自定义Twitter警报脚本调用。

http://www.iobridge.com/widgets/static/id = [widgetID]

这些是数字I/O引脚配置:

ioBridge串行板

TX-RX XBee

RX-TX XBee

GND和5v

步骤7:Twilio设置

Twilio是用于通信应用程序的Web服务API。 Twilio非常简单。我只花了很短的时间即可启动并运行我的SMS和语音应用程序!过去,我曾尝试使用其他技术(VoiceXML甚至Google Voice)创建类似的应用程序,然后告诉我并非如此。

语音应用程序接听电话,播放介绍性声音文件并询问代码后跟#号。如果检测到代码,Twilio将对PHP文件执行“ GET”操作,该文件将从我的代码生成器Web服务中查找当前代码。如果匹配,它将调用ioBridge静态小部件URL,并且将分配糖果。

SMS应用程序具有几乎相同的PHP代码,只是这次不是查找所拨打的数字,而是查找SMS消息的正文。 br》检查生成TwiML XML的附加XML和PHP文件。

总而言之,Twilio是赢家,我对未来还有很多其他想法。

步骤8:Twitter设置

如果没有Twitter集成,没有现代互联网启用的项目是完整的,对吗? :)这是我的:这次我使用bash脚本,twurl和crontab作业检查对@tweetfortreat的答复。这个bash脚本可以在我的Sheevaplug上运行,但可以在任何linux/mac机器上运行,也可以修改为在Windows中以.bat格式运行(使用计划任务)。

Twurl几乎像curl,但适用于Twitter。我对Twitter RSS feed进行了一些丑陋的解析,以检索tweet发件人,但是它起作用了。

这是我的bash脚本

#!/bin/bash

mycode =`curl --silent http:/my.apexserver.com/pls/apex/getcode`

twitter =`twurl/1/statuses/mentions.rss | grep“ @tweetfortreat $ mycode” |切-d‘:’-f1 |尾-n 1 |剪切-d‘》’-f2`

echo $ mycode $ twitter

if [-n“ $ twitter”];然后

iobridge =`curl --silent http://www.iobridge.com/widgets/static/id= [widgetID]`

newkey =`curl --silent -d“ code = $ mycode” http :/my.apexserver.com/pls/apex/updatecode`

update =`twurl -d“状态= @ $ twitter代码$ mycode是正确的。万圣节快乐!”/1/statuses/update.xml`echo $ newkey $ iobridge

fi

Crontab仅允许您每分钟执行一次脚本,我认为目前还可以。或者,可以使用while循环代替。

这是我的crontab条目

*/1 * * * */script_location/HalloweenCandy.sh》/dev/null 2》&1

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分