使用NodeMCU的基于物聯(lián)網(wǎng)的機械臂
自1962年問世以來,機械臂一直被各行業(yè)用于執(zhí)行復雜而繁瑣的工作。從裝配線到噴漆車間,這些機械臂廣泛應用于汽車制造業(yè)。最近,隨著技術的進步和物聯(lián)網(wǎng)(IoT)的出現(xiàn),機器人手臂也開始在醫(yī)療應用中投入使用,醫(yī)生可以通過無線控制機器人手臂進行遠程手術。在這個項目中,我們將使用NodeMCU構建一個基于物聯(lián)網(wǎng)的無線機械臂。
3D打印機器人手臂的位置可以通過一個名為Blynk的應用程序在任何支持互聯(lián)網(wǎng)的智能手機上進行控制,該應用程序對Android和IOS用戶都是免費的。我們以前使用Blynk與NodeMCU和樹莓派來控制GPIO連接的設備。
3D打印你的機械手臂
如前所述,在這個項目中使用的機械臂是3D打印的,如果你沒有打印機,你可以使用任何機械臂或用硬紙板制作一個粗糙的機械臂。3D打印機械臂的設計來自Thingiverse的這個鏈接。這個鏈接也有完整的詳細視頻顯示制作和組裝這個3D打印機械臂的過程。
這是我用4臺Towerpro SG90伺服電機組裝后的3D打印機械臂的圖像。我只是簡單地用螺母和螺栓來組裝完整的機械臂。所有的信息都可以在thingiverse上找到。
機器人手臂Blynk應用程序的搭建
Blynk是一個物聯(lián)網(wǎng)平臺,允許我們快速構建項目來控制和監(jiān)控使用Android和iOS設備的數(shù)據(jù)。我們可以創(chuàng)建項目儀表板,并添加按鈕、顯示器、滑塊等控件,用于控制微控制器和其他外圍設備。使用這些小部件,我們可以控制設備,并可以監(jiān)控手機屏幕上的傳感器數(shù)據(jù)。按照以下步驟安裝Blynk并創(chuàng)建用于機械臂控制的儀表板。
1. 在您的手機上安裝b谷歌Play Store中的blynk應用程序。
2. 接下來,使用電子郵件id注冊Blynk應用程序。
3. 注冊后登錄Blynk應用程序。
4. 登錄后,單擊New Project。
5. 根據(jù)要求給出下一個項目名稱,我們使用的板是“NodeMCU”,連接類型是“WiFi”。
6. 然后單擊Create。并且一個認證令牌代碼會發(fā)送到您的郵件ID。
7. 復制授權令牌代碼發(fā)送到您的郵件ID,我們將在我們的NodeMCU編碼中使用它。
8. 接下來,我們必須通過在小部件框中添加小部件來創(chuàng)建我們自己的機器人手臂控制應用程序。由于我們有四個伺服電機控制,我增加了四個滑塊。
9. 添加滑塊后。你可以改變每個滑塊的名稱和滑塊值,然后是滑塊設置。
這里我設置了
滑塊1作為夾持器,設置為輸出V0從0到180。
滑塊2為左/右,設置為輸出V1從0到180。
滑塊3為UP/DOWN,設置為OUTPUT V2從0到90。
滑塊4為正向/反向,設置為OUTPUT V3從0到60。
對于所有滑塊,我已經(jīng)關閉了SEND ON RELEASE。這樣我們就可以在兩個值之間保持100ms的寫延遲。
10. 在用上述設置添加了所有的滑塊之后,應用程序看起來是這樣的。之后,您可以通過單擊Play按鈕來運行應用程序。
11. 現(xiàn)在我們的應用程序已經(jīng)準備好了。下一步是進行電路連接并將代碼上傳到NodeMCU。之后,我們可以使用Blynk應用程序控制我們的機器人手臂。
組件的要求
?NodeMCU ESP8266
?伺服電機- 4
?機械手臂
?5V 1A直流電源適配器
?電路試驗板
?連接電線
線路圖
如上所示,我們總共需要4個伺服電機來操作我們的機械臂,因為這些電機不消耗太多的功率,它們是由1A適配器的5V直流電源直接驅動的。我已經(jīng)使用面包板使上述連接;一旦連接完成,我的設置看起來像這樣。
電路連接:
基于物聯(lián)網(wǎng)的機械臂的工作原理
這個項目的工作非常簡單,我們只是通過互聯(lián)網(wǎng)從一個應用程序控制機器人手臂的四個伺服電機。NodeMCU有一個內置的ESP8266 Wi-Fi模塊,因此我們可以將NodeMCU連接到互聯(lián)網(wǎng)。接下來,在移動設備中使用Blynk應用程序,我們創(chuàng)建了一個應用程序,通過互聯(lián)網(wǎng)發(fā)送值,以控制與NodeMCU連接的四伺服電機的PWM值。
在Blynk應用程序中使用了四個滑塊。伺服電機由用戶根據(jù)滑塊的運動來控制。
為Arduino IDE設置Blynk和NodeMCU (ESP8266)庫
這個物聯(lián)網(wǎng)機械臂項目的編碼非常簡單,在文章末尾給出了完整的代碼和工作視頻。首先,我們需要Arduino IDE的Blynk庫。按照下面的鏈接手動下載和設置。
1. 從這里的GitHub鏈接下載Blynk庫。
2. 之后安裝Blynk Library for Arduino請點擊這里的鏈接。
因此,在為Arduino IDE設置Blynk庫之后。其次,我們需要Arduino IDE的NodeMCU庫。
要用Arduino IDE編程NodeMCU,請進入File - > preferences - >Settings。
在“附加板管理器URL”字段中輸入,然后單擊“確定”。
現(xiàn)在轉到Tools > Board > Boards Manager。
在板管理器窗口中,在搜索框中輸入esp, esp8266將在下面列出?,F(xiàn)在選擇最新版本的板并點擊安裝。
安裝完成后,進入Tools >Board >,選擇“NodeMCU 1.0(ESP-12E Module)”?,F(xiàn)在您可以使用Arduino IDE對NodeMCU進行編程。
編碼的解釋
安裝Blynk和NodeMCU (ESP8266)的庫后。在本教程的末尾給出了完整的代碼。代碼通過microrousb線纜上傳到NodeMCU?,F(xiàn)在,讓我們詳細了解如何為這個項目編碼。
1. 首先包括必要的庫
對于ESP8266 (NodeMCU):
使用Blynk:
伺服電機使用:
2. 接下來,通過郵件收到Blynk認證碼,并根據(jù)以下給出的代碼輸入Wifi用戶名(ssid)和密碼。
3. 在這個項目中,我們使用了四個伺服電機和機械臂,所以我們創(chuàng)建了四個帶有伺服類的物體。
4. 接下來,在void setup()函數(shù)中,我們通過提供具有Auth令牌的Wi-Fi用戶名和密碼來初始化設備,并開始串行通信。
還初始化與NodeMCU連接的伺服電機PWM引腳,使用引腳D0,D1,D2,D3。
5. 然后根據(jù)從Blynk應用程序接收到的值控制伺服電機的位置。這里的虛擬引腳V0, V1, V2, V3用于從Blynk應用程序獲取輸入值,并將PWM值寫入相應的伺服電機。
6. 循環(huán)運行Blynk函數(shù)
這就是使用Blynk應用程序遠程構建和控制物聯(lián)網(wǎng)機械臂的方式。
本文編譯自iotdesignpro