0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:wv 2019-10-29 17:09 次阅读

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

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

    关注

    0

    文章

    194

    浏览量

    25774
收藏 人收藏

    评论

    相关推荐

    CDCL1810A 1.8V、10 输出高性能时钟分配器数据表

    电子发烧友网站提供《CDCL1810A 1.8V、10 输出高性能时钟分配器数据表.pdf》资料免费下载
    发表于 08-23 10:08 0次下载
    CDCL1810A 1.8V、10 输出高性能时钟<b class='flag-5'>分配器</b>数据表

    CDCL1810 1.8V 10路输出高性能时钟分配器数据表

    电子发烧友网站提供《CDCL1810 1.8V 10路输出高性能时钟分配器数据表.pdf》资料免费下载
    发表于 08-22 11:14 0次下载
    CDCL1810 1.8V 10路输出高性能时钟<b class='flag-5'>分配器</b>数据表

    CDCE18005高性能时钟分配器数据表

    电子发烧友网站提供《CDCE18005高性能时钟分配器数据表.pdf》资料免费下载
    发表于 08-21 11:12 0次下载
    CDCE18005高性能时钟<b class='flag-5'>分配器</b>数据表

    CDCE62005高性能时钟发生器和分配器数据表

    电子发烧友网站提供《CDCE62005高性能时钟发生器和分配器数据表.pdf》资料免费下载
    发表于 08-21 11:12 0次下载
    CDCE62005高性能时钟发生器和<b class='flag-5'>分配器</b>数据表

    LMK01000高性能时钟缓冲器、分频器和分配器数据表

    电子发烧友网站提供《LMK01000高性能时钟缓冲器、分频器和分配器数据表.pdf》资料免费下载
    发表于 08-21 09:53 0次下载
    LMK01000高性能时钟缓冲器、分频器和<b class='flag-5'>分配器</b>数据表

    液压分配器起什么作用的

    液压分配器是一种用于控制液压系统中液体流量和压力的设备。它在许多工业和工程应用中发挥着重要作用,例如在液压升降机、液压挖掘机、液压起重机等设备中。以下是液压分配器的主要功能和原理: 流量控制 :液压分配器
    的头像 发表于 07-10 10:56 993次阅读

    液压分配器工作原理是什么

    液压分配器,又称液压多路阀,是液压系统中的关键部件之一。它的作用是将液压泵输出的油液分配到各个执行机构,实现液压系统的控制和调节。 一、液压分配器的工作原理 液压分配器的基本组成 液压
    的头像 发表于 07-10 10:55 1897次阅读

    液压分配器压力调整方法有哪些

    液压分配器,又称液压分配器或液压分流器,是一种用于液压系统中的设备,主要用于将液压系统中的压力油分配到各个执行元件,以实现对液压系统的控制和调节。 一、液压分配器压力调整的重要性 液压
    的头像 发表于 07-10 10:53 2065次阅读

    单线分配器与双线分配器的区别是什么

    单线分配器与双线分配器是两种不同类型的电子设备,它们在通信、广播、电视等领域中有着广泛的应用。本文将介绍单线分配器与双线分配器的区别。 一、定义 单线
    的头像 发表于 07-10 10:44 935次阅读

    四路数据分配器的基本概念、工作原理、应用场景及设计方法

    四路数据分配器是一种数字电路元件,它的作用是将一个数据输入信号分配成多个数据输出信号。 1. 四路数据分配器的基本概念 四路数据分配器是一种多路复用器(Multiplexer),它将一
    的头像 发表于 07-10 10:42 1756次阅读

    八路数据分配器的基本概念及工作原理

    八路数据分配器是一种常见的电子设备,用于将一个输入信号分配到多个输出端。在本文中,我们将详细介绍八路数据分配器的基本概念、工作原理、应用场景以及设计方法。 一、八路数据分配器的基本概念
    的头像 发表于 07-10 10:40 2114次阅读

    DS90LV110T 1至10 LVDS数据/时钟分配器数据表

    电子发烧友网站提供《DS90LV110T 1至10 LVDS数据/时钟分配器数据表.pdf》资料免费下载
    发表于 07-05 11:37 0次下载
    DS90LV110T 1至10 LVDS数据/时钟<b class='flag-5'>分配器</b>数据表

    Linux内核内存管理之slab分配器

    本文在行文的过程中,会多次提到cache或缓存的概念。如果没有特殊在前面添加硬件的限定词,就说明cache指的是slab分配器使用的软件缓存的意思。如果添加了硬件限定词,则指的是处理器的硬件缓存,比如L1-DCache、L1-ICache之类的。
    的头像 发表于 02-22 09:25 1266次阅读
    Linux内核内存管理之slab<b class='flag-5'>分配器</b>

    Linux内核内存管理之ZONE内存分配器

    内核中使用ZONE分配器满足内存分配请求。该分配器必须具有足够的空闲页帧,以便满足各种内存大小请求。
    的头像 发表于 02-21 09:29 913次阅读

    请问为什么CAN不使用手动引脚分配器来更改引脚?

    了 Pin28 (P2.8) 使用手动引脚分配器,它起作用了, 然后想把 \" sync2 \" 从 Pin25 (P2.15) 改为 Pin1 (P0.1), 但是在手动引脚分配器
    发表于 01-30 07:24