步驟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瀏覽量
25785
發布評論請先 登錄
相關推薦
評論