如果您以前從未編寫過代碼,那么進入DIY Arduino機器人領域可能會令人生畏。如果您不能對微控制器進行編程,無論您的想法多么宏大,機器人都不會做很多事情。
幸運的是,有許多方法可以對Arduino進行編程而無需編寫任何代碼。今天,我們正在使用Xod來研究基本的機器人技術,Xod是一種基于開源可視化程序的基于節點的Arduino兼容IDE。
無代碼機器人
今天的項目使用了一些標準的業余機器人技術來創建一個距離感應機器人手臂的原型。業余機器人通常將伺服和超聲波距離傳感器結合使用,您將添加一個LCD屏幕。
完成的項目將在LCD屏幕上記錄距離值,并將伺服臂移入
有點想像力,這是一個機械臂,如果您離得太近,它會試圖抓住您。
硬件要求
您將需要:
Arduino兼容板(該項目使用Uno)
16×2 LCD屏幕
HC-SR04超聲波距離傳感器
業余伺服器
10k電位器
220歐姆電阻器
5v電源
面包板和連接線
該項目需要一些組件,但是任何好的Arduino入門套件都應具備您所需的一切。我在Elegoo Uno R3入門套件中找到了所需的一切。另外,上面列出的每個組件都非常便宜,并且可以在所有業余愛好電子零售商處購買。
設置LCD屏幕
根據上面的Fritzing圖,將LCD屏幕,10k電位器和220 ohm電阻添加到面包板上。
第一次設置LCD可能會很嚇人,但請繼續參考該圖,您會得到的!為簡化起見,我將LCD和Arduino引腳設置為與Arduino官方LCD教程中的引腳完全相同,因此如果遇到問題也請參考。
添加伺服和超聲波傳感器
現在將HC-SR04超聲波傳感器添加到實驗板上。將 VCC 和 GND 引腳連接到面包板的5v和接地軌。將 Trig 引腳連接到Arduino引腳 7 ,將 Echo 引腳連接到 8 。
下一步,連接您的伺服器。接線顏色在這里可能有所不同,但通常紅色連接到 5v 引腳,并棕色或黑色連接到 GND 引腳。數據線通常為黃色或橙色,連接至引腳10 。
最后,將面包板的接地軌連接到Arduino的 GND 引腳之一。而已!一切都準備就緒。
下載Xod IDE
前往Xod.io并下載免費的Xod IDE。適用于Windows,Mac和Linux。還有一個基于瀏覽器的版本,但是由于不能使用它來上傳Arduino草圖,因此不適用于該項目。
下載:適用于Windows,Mac的Xod IDE ,以及Linux
與Xod閃爍
首次打開Xod時,您會看到教程項目;或者,您可以在幫助菜單下將其打開。在左側的項目瀏覽器中展開 welcome-to-Xod 集合,然后選擇 101上傳。
此節點設置用于測試代碼是否成功上傳到Arduino。它的功能與Arduino IDE中的眨眼草圖相同。 clock 節點每秒創建一個信號。這連接到觸發器節點,該節點在每次接收到信號時在true和false之間來回切換。觸發器的輸出連接到 led 節點,將其關閉然后再打開。
單擊led節點,您將看到Inspector窗格更改為顯示其參數。如上圖所示,將 Port 更改為13,這是Arduino上帶有板載LED的引腳。請注意,Xod會自動將13變成 D13 。您無需自己鍵入D,但是如果您這樣做,則對本教程沒有影響!
要測試其是否可以通過USB連接Arduino,請前往 Deploy》 Upload to Arduino ,然后選擇正確的電路板類型和COM端口。
如果看到Arduino LED閃爍,那就好了!如果沒有,請檢查板卡和端口號,然后再次測試,然后再繼續。
對LCD進行編程
通常,我們現在將進入漫長的編碼過程,但是由于我們正在使用Xod,我們不會編寫任何東西。在項目瀏覽器中,選擇 text-lcd-16×2 -您可以在 xod/common-hardware 下找到它。將其拖到您的程序中,然后使用檢查器按如圖所示的銷釘進行設置。
L1 是LCD的第一行, L2 是第二行,目前,我們已經對“ Hello World”進行了硬編碼,以檢查一切是否正常。將您的程序部署到Arduino,以查看其工作情況。如果您看不清文字,請嘗試旋轉10k電位器來調整LCD對比度。
現在設置距離傳感器,并獲取它
Distance Sensing
將 hc-sr04-ultrasonic-range 節點拖到您的項目中,然后設置 TRIG 和 ECHO 分別固定到 7 和 8 ,以匹配您之前的設置方式。
您將在項目瀏覽器的 xod/core 下找到 concat 節點。將其拖動到超聲波距離傳感器節點和LCD節點之間。您將使用它來將范圍傳感器的讀數與您自己的一些文本連接起來(這是一個組合詞)。
此圖顯示了正在發生的情況。范圍傳感器節點的 Dm 輸出已插入 IN2 ,您可以看到Inspector將其標記為已鏈接。在 IN1 框中鍵入“距離:” 。現在,將concat節點的輸出鏈接到LCD節點的 L1 。
保存并部署修改后的程序。 LCD的第一行現在顯示了距離傳感器的讀數!
伺服設置
要使伺服器正常運行,需要三個零件,所以讓我們一一講解它們。首先將 map-clip 節點從 xod/math 拖動到程序中。該節點從范圍傳感器節點的 Dm 輸出中獲取信息,并將其映射到伺服器可以理解的值。
Smin 和 Smax 表示激活伺服的最小和最大范圍,在這種情況下介于5到20cm之間。這些值映射到 Tmin 和 Tmax ,它們設置為0和1作為最小和最大伺服位置。
xod/core 下的 fade 節點獲取map-clip節點的輸出值,并以定義的 rate 。這樣可以防止任何不必要的伺服運動。比率2是一個很好的平衡點,但是您可以在此處嘗試不同的值,以使伺服器反應更快或更慢。
最后,《您可以在 xod-dev/servo 下找到的strong》 servo 節點,從衰落節點獲取輸出值。將端口更改為 10 。您可以將 UPD 留在 Continuously (連續)上,因為我們希望根據范圍傳感器對伺服器進行連續更新。
保存您的腳本并將其部署到Arduino板。機械臂原型已完成!
對其進行測試
現在,當您將物體放在距離傳感器附近時,LCD會記錄距離,伺服將與檢測到的距離成比例地移動。所有這些完全沒有任何代碼。
完整的節點樹顯示了在Xod中創建復雜程序的簡單性。如果您有任何問題,請仔細檢查電路和每個節點是否有錯誤。
無代碼Arduino機器人
Xod允許任何人對Arduino板進行編程,而無需考慮編碼知識。 Xod甚至可以與Blynk DIY IoT應用程序配合使用,從而使完全免費的DIY智能家居成為現實。
責任編輯:wv
-
機器人
+關注
關注
210文章
28231瀏覽量
206618 -
編碼
+關注
關注
6文章
935瀏覽量
54771 -
Arduino
+關注
關注
187文章
6464瀏覽量
186682
發布評論請先 登錄
相關推薦
評論