只需機(jī)器有四種類(lèi)型的糖果,每種類(lèi)型都有它的特殊代碼,可以使用此特殊代碼在獲取糖果。實(shí)際上,我們打算激勵(lì)孩子們使用現(xiàn)代技術(shù)創(chuàng)造自己的玩具,而不是浪費(fèi)大量時(shí)間玩智能手機(jī)或 PC。
回歸到項(xiàng)目,
如果你想從第一種口味中得到糖果,你應(yīng)該在你的文案寫(xiě) C111。
如果你想從第二種口味中得到糖果,你應(yīng)該在你的文案寫(xiě) C112。
如果你想從第三種口味中獲得糖果,你應(yīng)該在你的文案寫(xiě) C113。
如果你想從第四種口味中獲得糖果,你應(yīng)該在你的文案寫(xiě) C114。
第1步:你需要什么
	
這些是該項(xiàng)目所需東西的清單:
工具:
1.螺絲刀
2.鉗子
3. 平切刀
4.數(shù)字萬(wàn)用表
5. 雙面膠帶。
6. 銅墊片(6mm 公 - 母)
7. 膠帶
材料:
1. 亞克力板 3mm
2.膠合板3mm
3. 螺絲和螺母
組件:
1. 8 x 標(biāo)準(zhǔn)金屬伺服電機(jī) (7.5 kg.cm)
2. 螺栓 M4 x 10mm
電子元件:
1. Arduino MEGA 2560
2. 1個(gè)Sheel
3. 開(kāi)關(guān)電源 (5V - 5A)
4.小面包板
5. 跳線(xiàn)(公 - 公)
6. 跳線(xiàn)(公-母)
第 2 步:機(jī)構(gòu)和框架設(shè)計(jì)
	
這一切都始于一個(gè)適當(dāng)?shù)脑O(shè)計(jì),在我的例子中,一些草圖以獲得對(duì)尺寸和形狀的良好感覺(jué)。在草圖階段之后很快就出現(xiàn)了 CAD 模型。我在 SolidWorks 中創(chuàng)建了我的模型。在對(duì)所有零件進(jìn)行建模后,制作技術(shù)圖紙。我使用這些圖紙來(lái)加工激光切割機(jī)上的所有定制零件。
由于我打算在世界各地的許多活動(dòng)中隨身攜帶這臺(tái)機(jī)器,因此我將其設(shè)計(jì)為易于拆卸和安裝,因此我使用螺??釘和螺母、Martise 和 Tenon 來(lái)固定它的所有零件。
第 3 步:機(jī)構(gòu)和框架(制造和組裝)
	
我用激光切割機(jī)從膠合板和亞克力板上切割機(jī)器零件。然后我用 M4*10mm 螺栓將伺服電機(jī)固定到它們的載體上。固定伺服電機(jī)后,使用銅墊片將 Arduino Mega 和 1sheeld 固定到它們的載體上,然后固定電源,現(xiàn)在你可以將所有機(jī)器零件聚集在一起。
第 4 步:電子和 Arduino 代碼
	
這里最重要的部分是為伺服電機(jī)供電,您應(yīng)該直接從電源為伺服電機(jī)供電,以避免使 Arduino 板休息。不要忘記將所有地線(xiàn)相互連接在將電機(jī)與 Arduino 和 1Sheeld 連接后,從電源為它們供電,您應(yīng)該按照以下步驟操作:
第 1 步:將 1Sheeld 放在 Arduino 板上,然后將 Arduino 插入筆記本電腦或 PC。
第 2 步:將 1Sheeld 應(yīng)用程序下載到您的智能手機(jī)上。該應(yīng)用程序可在 Google Play 商店中獲取,網(wǎng)址為http://1sheeld.com/app
第 3 步:下載 1Sheeld 庫(kù)
第 4 步:解壓縮文件夾,將其復(fù)制并粘貼到您的 Arduino 庫(kù)目錄中。
第 5 步:打開(kāi)我的 Arduino Sketch(您將在附件中找到它
第 6 步:上傳您的草圖 Hesre 是整個(gè)教程中最重要的部分,將 1Sheeld 切換到 Uploading-mode(這是板上標(biāo)有 UART Switch 的開(kāi)關(guān)),然后再將您的草圖上傳到 Arduino 板,以避免兩者之間的串行沖突1Sheeld 和 Arduino,然后在 IDE 中按下 Upload 按鈕。
將 UART 開(kāi)關(guān)推離 1Sheeld 徽標(biāo)時(shí),將打開(kāi)上傳模式。
完成上傳后,您需要將 1Sheeld 切換回操作模式。不要忘記!如果您不將 UART 開(kāi)關(guān)切換回操作模式,您的項(xiàng)目將無(wú)法正常工作,因?yàn)?1Sheeld 和 Arduino 板之間將沒(méi)有通信。
當(dāng) UART 開(kāi)關(guān)被推到最靠近 1Sheeld 標(biāo)志時(shí),操作模式被打開(kāi)。
第 7 步:使用 1Sheeld 應(yīng)用程序
在您的 Android 智能手機(jī)上打開(kāi) 1Sheeld 應(yīng)用程序。該應(yīng)用程序?qū)⑹紫韧ㄟ^(guò)藍(lán)牙掃描您的 1Sheeld,這需要幾秒鐘,手機(jī)會(huì)找到它。一旦它在屏幕上顯示為 1Sheeld #xxxx,您將需要輸入配對(duì)碼(默認(rèn)配對(duì)碼為 1234)并通過(guò)藍(lán)牙連接到 1Sheeld。
注意:如果您遇到問(wèn)題,請(qǐng)確保您的 Android 手機(jī)的藍(lán)牙已打開(kāi),并且 Android 手機(jī)靠近您的 1Sheeld。
第 8 步:訪問(wèn) Twitter 和 Terminal Shields
從屏蔽列表中選擇 Twitter Shield 和 Terminal Shield,然后按應(yīng)用程序右上角的多個(gè)屏蔽圖標(biāo)。
Vending Machine.ino:
#define CUSTOM_SETTINGS
	#define INCLUDE_TWITTER_SHIELD
	#define INCLUDE_TERMINAL_SHIELD
	#include 
	#include 
	Servo BlockColoumn1;     // create servo object to control a servo
	Servo BlockCandy1;      // create servo object to control a servo
	Servo BlockColoumn2;     // create servo object to control a servo
	Servo BlockCandy2;      // create servo object to control a servo
	Servo BlockColoumn3;     // create servo object to control a servo
	Servo BlockCandy3;      // create servo object to control a servo
	Servo BlockColoumn4;     // create servo object to control a servo
	Servo BlockCandy4;      // create servo object to control a servo
	void setup()
	{
	 OneSheeld.begin();
	 BlockColoumn1.attach(3);   // attaches the servo on pin 3 to the servo object
	 BlockCandy1.attach(4);    // attaches the servo on pin 4 to the servo object
	
	 BlockColoumn2.attach(5);   // attaches the servo on pin 5 to the servo object
	 BlockCandy2.attach(6);    // attaches the servo on pin 6 to the servo object
	
	 BlockColoumn3.attach(7);   // attaches the servo on pin 7 to the servo object
	 BlockCandy3.attach(8);    // attaches the servo on pin 8 to the servo object
	
	 BlockColoumn4.attach(9);   // attaches the servo on pin 9 to the servo object
	 BlockCandy4.attach(10);   // attaches the servo on pin 10 to the servo object
	 /* Subscribe to setOnSelected event for the Twitter shield. */
	 Twitter.setOnSelected(&shieldSelection);
	 /* Subscribe to onNewTweet event. */
	 Twitter.setOnNewTweet(&myTweet);
	}
	void loop()
	{
}
	void shieldSelection()
	{
	 /* Track keyword 1Sheeld on Twitter. */
	 Twitter.trackKeyword("C111");
	 Twitter.trackKeyword("C112");
	 Twitter.trackKeyword("C113");
	 Twitter.trackKeyword("C114");
	}
	void myTweet(char * userName , char * userTweet)
	{
	 /* Check if the tweet has 1Sheeld keyword. */
	 if (strstr(userTweet, "C111") != 0)
	 {
	  BlockCandy1.write(90);
	  OneSheeld.delay(400);
	  BlockCandy1.write(180);
	  OneSheeld.delay(20);
	  BlockColoumn1.write(90);
	  OneSheeld.delay(400);
	  BlockColoumn1.write(180);
	  Terminal.println(" C111 Detected");
	 }
	 else if (strstr(userTweet, "C112") != 0)
	 {
	  BlockCandy2.write(90);
	  OneSheeld.delay(400);
	  BlockCandy2.write(180);
	  OneSheeld.delay(20);
	  BlockColoumn2.write(90);
	  OneSheeld.delay(400);
	  BlockColoumn2.write(180);
	  Terminal.println(" C112 Detected");
	 }
	 else if (strstr(userTweet, "C113") != 0)
	 {
	  BlockCandy3.write(90);
	  OneSheeld.delay(400);
	  BlockCandy3.write(180);
	  OneSheeld.delay(20);
	  BlockColoumn3.write(90);
	  OneSheeld.delay(400);
	  BlockColoumn3.write(180);
	  Terminal.println(" C113 Detected");
	 }
	 else if (strstr(userTweet, "C114") != 0)
	 {
	  BlockCandy4.write(90);
	  OneSheeld.delay(400);
	  BlockCandy4.write(180);
	  OneSheeld.delay(20);
	  BlockColoumn4.write(90);
	  OneSheeld.delay(400);
	  BlockColoumn4.write(180);
	  Terminal.println(" C114 Detected");
	 }
	 else
	 {
	  BlockCandy1.write(180);
	  BlockColoumn1.write(180);
	 
	  BlockCandy2.write(180);
	  BlockColoumn2.write(180);
	 
	  BlockCandy3.write(180);
	  BlockColoumn3.write(180);
	 
	  BlockCandy4.write(180);
	  BlockColoumn4.write(180);
	 
	  Terminal.println(" Nothing Detected");
	 }
	}// void my tweet
- 
                                自動(dòng)化
                                +關(guān)注
關(guān)注
29文章
5855瀏覽量
88562 - 
                                DIY設(shè)計(jì)
                                +關(guān)注
關(guān)注
2文章
59瀏覽量
20448 - 
                                自動(dòng)售貨機(jī)
                                +關(guān)注
關(guān)注
0文章
48瀏覽量
5484 
發(fā)布評(píng)論請(qǐng)先 登錄
自動(dòng)售貨機(jī)原理圖
    
無(wú)線(xiàn)遠(yuǎn)程對(duì)自動(dòng)售貨機(jī)的管理
被無(wú)線(xiàn)遠(yuǎn)程控制管理的自動(dòng)售貨機(jī)
4G無(wú)線(xiàn)工業(yè)路由器自動(dòng)售貨機(jī)的應(yīng)用
嵌入式自動(dòng)售貨機(jī)能實(shí)現(xiàn)什么功能?
基于80C51單片機(jī)的自動(dòng)售貨機(jī)設(shè)計(jì)
自動(dòng)售貨機(jī)短信報(bào)警系統(tǒng)
一種基于 PLC 的自動(dòng)售貨機(jī)系統(tǒng)的設(shè)計(jì)
關(guān)于智能自動(dòng)售貨機(jī)的方案的分析和介紹
    
自動(dòng)售貨機(jī)方案/設(shè)計(jì)/開(kāi)發(fā)/項(xiàng)目
    
如何使用Arduino構(gòu)建一個(gè)便攜式飲用水自動(dòng)售貨機(jī)
    
基于Arduino的比特幣糖果自動(dòng)售貨機(jī)
    
投幣個(gè)人自動(dòng)售貨機(jī)的構(gòu)建
    
          
        
        
構(gòu)建一個(gè)自動(dòng)糖果售貨機(jī)
                
 
           
            
            
                
            
評(píng)論