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

步骤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

结合汽车行业的特性,讲一讲网络安全
如何提高给水泵汽轮机宽负荷高效灵活运行性能
3线双向零等待IO通讯机制
区块链初创公司Digital Asset正在开发一个新的工具包
早期AI企业瓶颈期“求变”
万圣节糖果自动分配器的制作
iphone13pro与12 pro的区别
常见的三维测量方法有哪些(结构光编码原理)
PLC用户程序的执行过程
四种标准输入/输出接口的外部接口
电机额定功率和实际功率的区别
OPPO已提前布局下一代视频编码技术
还不如加300买小米6 三星低配新机敢卖1620元!网友:你敢卖我就不买!
动物疫病快速诊断仪的产品特点的介绍
蔚来理想小鹏的答卷每个问题里都有特斯拉
售价高昂的Micro-LED,它有什么优势优点
简单分析石英加速度计的工作原理
在直播交友软件市场,开发一个仿抖音运营级的手机直播软件需要多少资金?
无人驾驶汽车平台的机遇和挑战
精确的数据采集其实全是相对的