在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用Parallax激光傳感器制作Arduino激光機器人—第1部分

goodmbby ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-02-24 15:24 ? 次閱讀

這篇文章來源于DevicePlus.com英語網站的翻譯稿。pYYBAGPzFXCAB8IMAADMtWzXzUA558.jpg

試想一下,您剛搬到一個新地方,需要盡快添置家具,但是手頭沒有卷尺可以進行測量。那么,這款Parallax激光Arduino機器人就會派上用場!

我們在之前的文章《如何制作自己的機器人》 和《如何制作自己的機器人(第2部分)》中描述了如何利用Arduino UNO R3從零開始搭建屬于自己的機器人。在本文中,我們將進一步增加機器人的功能:讓它能夠動起來并且添加激光測距(LRF)功能,以使該設備能夠檢測物體并測量距離。

激光傳感器會幫我們獲得更準確、更可靠的數據。該Arduino機器人的移動方式為自主移動模式。它在移動的過程中能夠檢測到障礙物并主動避開。

該機器人的設計目標如下:

向前、向后移動;向左和向右旋轉90度;向左和向右旋轉45度。

基于最佳路徑,通過向不同方向移動避開障礙物。

測量各個方向(前方、左右90度、左右45度)的距離。

基于可用的最長距離,確定朝哪個方向前進(向前、向后、向左或向右)。

傳感器安裝在伺服上,以便機器人可以左右平移以進行多次測量。測量的距離將顯示在一塊小型OLED顯示屏上。我們將使用步進電機實現平穩、安靜的運行。

我們會一步一步地討論該Arduino機器人的構建過程。第一步是如何安裝底盤、電機和Arduino/電機開發板。然后,我們利用一個小程序來測試電機,以確保系統連接和軟件安裝都準確無誤。然后,在下一篇文章中,我們會逐步添加其余設備,并且每一步都通過程序來測試安裝和連接是否正確。通過這種按部就班的方法能夠讓我們更方便地解決制作過程中遇到的任何問題。

硬件

制作該機器人所需的硬件請參見以下硬件明細,這些零部件在許多電商處都可以買到(明細中給出了部分地址)。

Arduino Uno rev 3 (www.adafruit.com/products/50)

適用于Arduino的Adafruit步進電機開發套件 (www.adafruit.com/products/1438)

步進電機(www.adafruit.com/products/324)

底盤、螺絲和尾輪 Parallax.com

車輪、橡膠輪胎和輪轂 Makeblock.com

伺服裝置和安裝套件(www.parallax.com/product/570-28015)

Parallax激光測距儀(www.parallax.com/product/28044)

OLED顯示屏(www.seeedstudio.com/Grove-OLED-Display-1.12”-p-824.html)

紅色包裝紙/盒(https://www.seeedstudio.com/Grove-Red-Wrapper-1*2(4-PCS-pack)-p-2585.html

鋰聚合物電池3型(11.1V)和連接器(https://www.hobbyking.com/hobbyking/store/__18203)

195 x 195 x 3mm亞克力板(https://www.jaycar.com.au/clear-acrylic-sheet/p/HM9509)

軟件

Arduino IDE

Adafruit Motor Shield Library

LCD Display9696 Library.zip

工具

圓銼

Dremel 電動工具

電烙鐵

迷你鋼鋸

安裝電機、輪子和亞克力底座

Parallax底盤由高強度鋁制成。該部件是專門為伺服系統而不是步進電機設計的,因此我們需要做一些修改。

首先,要將電機安裝到機箱上,我們得在機箱的兩側開口。請用Dremel電動工具按照電機的安裝尺寸精確切割機箱。

我們使用的步進電機型號為NEMA 17,其分辨率為200步/轉。其供電規格為12V 350mA。

要將電機裝入底盤內,我們需要尺寸為6.5cm x 4.5cm的亞克力板,如圖1所示。請用鋼鋸將亞克力板切割成所需尺寸,然后用Dremel電動工具鉆孔。用M2x10mm的螺釘將電機裝在亞克力安裝板上,兩個電機需要8顆螺釘。然后,將制作完畢的亞克力板和電機安裝到底盤內。

poYBAGPzFXGARJqmAAB1iq6hxDM598.jpg

圖1.將步進電機安裝在6.5×4.5cm亞克力板上

要固定Arduino和OLED顯示屏,我們需要切割一塊15cmx8cm的亞克力底座(圖2)。請用4個墊片和螺絲安裝亞克力底座,然后用附帶的銷釘安裝尾輪。

pYYBAGPzFXOAIASMAABXQtvGApQ003.jpg

圖2.機箱、尾輪和15×8亞克力板底座

poYBAGPzFXSAJY-rAAC4HG5dEQs866.jpg

圖3.輪子和軸連接器

pYYBAGPzFXaAcd6bAACMrXC2ve8505.jpg

圖4.安裝在底盤上的步進電機和尾輪

我們需要用圖3中所示的軸連接器安裝輪子。但是,我們必須做一個小修改。軸孔的直徑為4mm,而步進電機軸的直徑為5mm。因此,我們需要將連接器的孔擴大到5mm。請使用圓銼或Dremel工具擴孔。擴孔時一定要小心操作!

pYYBAGPzFXiANBnFAAB0c3gmIB8564.jpg

圖5.安裝在底盤上的亞克力底座

請將電機線纜從頂部的孔穿出,然后用雙面膠帶將電池粘在機箱下方。對于該項目來說,鋰聚合物電池是理想解決方案。其供電規格為11.1V 800mAh?1000mAh,這使得系統續航可超過1小時,而且還可以充電。但是該電池需要專門的充電器。如果您是航空模型或遙控車愛好者,那么您肯定知道這種電池。我們也可以用6或8節AA電池(9-12V)代替。

poYBAGPzFXmALH96AACsKz5fIsQ786.jpg

圖6.用雙面膠將電池粘在底盤上

將電機電纜連至電機開發板

Adafruit 電機開發板規格 – Adafruit

與Arduino高分辨率專用計時器相連的兩個5V Hobby伺服器接口

4個H橋:搭載TB6612芯片組,每個橋可提供1.2A電流(峰值為3A,持續20ms),具有熱關斷保護功能,以及內部反沖保護二極管。可為電機提供4.5VDC至13.5VDC供電。

可連接最多4個雙向直流電機,具有單獨8位速度選擇功能。

可連接最多2個單線圈、雙線圈、交叉步進或微步進電機(單極或雙極)。

經測試與Arduino UNO、Leonardo、ADK/Mega R3、Diecimila和Duemilanove兼容。兼容Due,配有3.3v邏輯跳線。兼容Mega/ADK R2及更早版本,具有2個跳線。

5v3.3v邏輯電平(跳線可配置)。

該電機開發板能同時運行2個步進電機和2個伺服器。該步進電機開發板的一個很大優勢在于它不占用任何Arduino引腳,因為它通過I2C連接。唯一需要引腳的是伺服器。我們只需按照說明連接電機電纜即可。

要了解步進電機的基本知識及其與Arduino UNO R3的連接,請參考《Arduino與零件和傳感器——步進電機第1部分》。

poYBAGPzFXuAKH6EAACoL_GDGtQ556.jpg

圖7.將電機連至電機開發板

poYBAGPzFXyAC_8XAAC4fzS2WIg319.jpg

圖8.亞克力底座上的Arduino和電機開發板

現在,我們只需要根據下圖安裝輪子和電池接頭即可。

pYYBAGPzFX6AR57QAAEOAAIuq0Y561.jpg

圖9.步進電機電纜連至電機開發板

安裝軟件并上傳代碼

現在,我們可以運行第一段代碼了!首先,我們需要從Arduino網站下載并安裝Arduino IDE,從Adafruit網站上下載并安裝電機開發板庫。安裝成功后,請將以下源代碼復制到Arduino中。

//*******************************************************************************************************************************************

#include 

#include 

#include "utility/Adafruit_MS_PWMServoDriver.h"

Adafruit_MotorShield AFMS = Adafruit_MotorShield();

Adafruit_StepperMotor *myMotor1 = AFMS.getStepper(200, 1);

Adafruit_StepperMotor *myMotor2 = AFMS.getStepper(200, 2);

void setup()

{  Serial.begin(9600);           // set up Serial library at 9600 bps

 Serial.println("Stepper test!");

 AFMS.begin();  // create with the default frequency 1.6KHz  

 myMotor1->setSpeed(100);  // 100 rpm   

 myMotor2->setSpeed(100);  // 100 rpm   

 }

void loop()

{

Motor(50,3);                    // turn Left for 50 steps

delay(1000);

Motor(100,4);                   // turn Right for 100 steps

delay(1000);

Motor(50,3);                    // turn Left for 50 steps (back to original position)

delay(1000);

Motor(400,1);                   // move Forward for 400 steps

delay(1000);

Motor(400,2);                   // move Backward for 400 steps

delay(1000);

}

//******************************************* *************************************

void Motor(int x,int y)

{   int i = 0;

 for ( i; (i < x); i ++)

 { if (y == 1)   // move forward

{ myMotor1->step(1, FORWARD, SINGLE);

 myMotor2->step(1, BACKWARD, SINGLE);}

  if (y == 2)   // move backward

 {myMotor1->step(1, BACKWARD, SINGLE);

 myMotor2->step(1, FORWARD, SINGLE);}

 if (y == 3)    // move left

  { myMotor1->step(1, FORWARD, SINGLE);

 myMotor2->step(1, FORWARD, SINGLE);}

 if (y == 4)    // move right

  { myMotor1->step(1, BACKWARD, SINGLE);

 myMotor2->step(1, BACKWARD, SINGLE);}}

}

//********************************************************************************************************************************************

這段代碼非常簡單。其目的是讓機器人能夠向左旋轉90度以及向右旋轉90度。該程序還能讓機器人返回到起始位置:向前移動400步,然后向后移動回到起始位置。在程序循環中,我們運行Motor函數,該函數具有2個參數。第一個參數表明電機必須旋轉多少步,第二個參數表明電機移動方向(向前、向后、向左和向右)。

程序運行后,該Arduino機器人應該會像上述視頻顯示的那樣移動。

在下一篇文章中,我們將繼續添加其他系統部件,比如伺服器和激光測距儀(LRF),并編寫一個程序,讓機器人能夠自主移動。因此,敬請關注我的下一篇文章!

pYYBAGPzFWyADVB1AAAGS83r-qY435.jpg

Purnomo Nuhalim

來自墨爾本的Purnomo是一名退休人員,也是電子發燒友。目前,他正使用Arduino和Raspberry Pi從事各種開放式硬件項目的研發。除了電子學,他還對航空建模和天文學充滿熱情。

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    212

    文章

    28933

    瀏覽量

    209710
  • OLED
    +關注

    關注

    119

    文章

    6233

    瀏覽量

    225523
  • 激光傳感器
    +關注

    關注

    2

    文章

    157

    瀏覽量

    21579
  • Arduino
    +關注

    關注

    188

    文章

    6479

    瀏覽量

    188728
收藏 人收藏

    評論

    相關推薦

    機器人設計與實現》——低成本DIY機器人,一本機器人制作的經典入門書

    基礎、機器人本體、電子控制設備、傳感器與導航和機器人電源系統等。《機器人設計與實現》是按照搭積木的方法指導機器人愛好者如何設計、
    發表于 08-01 18:21

    智能機器人對于傳感器的需求

    `  智能機器人的外部傳感器大致可分為力學傳感器,觸覺傳感器,接近傳感器,視覺傳感器,滑覺
    發表于 01-20 14:56

    請教利用樹莓派制作六足機器人的問題

    本人新手,最近在準備制作一個六足機器人,如果利用舵機控制+遙控手柄套件的話,可以很容易就實現簡單的功能。為了能讓六足機器人實現更加復雜的功
    發表于 11-10 15:33

    自律型機器人制作入門.基于Arduino

    [size=0.83em]自律型機器人制作入門.基于Arduino.jpg(101.91 KB, 下載次數: 0)下載附件[color=rgb(153, 153, 153) !important
    發表于 06-23 11:18

    用于機器人或無人機的低成本激光導航傳感器設計

    摘要——許多室內機器人或無人機系統,使用激光測距傳感器作為他們的主要導航傳感器,用來畫圖、定位和避障。這種系統的成本和耗電都是個問題,這對于低成本高效率的場合而言,是個障礙。本文,描述
    發表于 06-21 10:08

    機器人產品傳感器越多,就越能有效避障?

      激光雷達作為自動駕駛和機器人等領域中的重要傳感器,一直扮演著“眼睛”的角色,360°掃描周圍環境,構建厘米級別高精度地圖,為后續避障導航做輔助。  但如果僅使用激光雷達作為唯一的避
    發表于 08-27 15:44

    機器人傳感器的類別和應用原理

    一般機器人系統由機械手、環境、任務和控制四個互相作用的部分組成。我們稱一般安裝在機器人機械手上的傳感器為內
    發表于 11-08 15:55

    博智慧達激光焊縫跟蹤成功與金紅鷹機器人完成通訊

    相機和激光焊縫跟蹤傳感器及其控制裝置等。博智慧達的智能激光焊縫跟蹤系統可以和各種焊接機器人通訊,從而提高焊接質量。焊縫跟蹤:激光焊縫跟蹤系統
    發表于 04-13 10:30

    激光焊縫跟蹤傳感器協助川崎機器人對汽車車架焊接尋位引導糾偏

    激光焊縫跟蹤傳感器協助川崎機器人對汽車車架焊接尋位引導糾偏機器人在焊接車架過程中由于工裝夾具及來料位置不準會出現與原先機器人的示教位置產生偏
    發表于 12-02 09:37

    LDS激光測距傳感器

    比較全的傳感器產品介紹 激光測距傳感器獲取距離信息。當激光投射到障礙物上時,會在傳感器里形成光斑。同時,圖像
    發表于 09-14 07:44

    機器人傳感器分類方法

    一般機器人系統由機械手、環境、任務和控制四個互相作用的部分組成。我們稱一般安裝在機器人機械手上的傳感器為內
    發表于 09-16 08:45

    使用Arduino和PAJ7620手勢傳感器制作手勢控制機器人

    使用Arduino和PAJ7620手勢傳感器制作手勢控制機器人,簡單程序即可實現。小小的傳感器可以識別各種手勢。它采用內置的空間
    發表于 09-27 06:17

    光纖激光機器人切割焊接技術

    光纖激光機器人切割焊接技術 1 系統的特點   激光機器人切割焊接系統是在上海團結普瑞瑪激光設備有限公司承接的國家863重點研究
    發表于 04-30 10:35 ?2755次閱讀

    利用Parallax激光傳感器制作Arduino激光機器人2部分

    2部分中,我們將添加機器人工作所需的其他系統部件,比如伺服激光測距儀(LRF),并編寫一個程序,讓
    的頭像 發表于 02-24 09:43 ?1144次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>Parallax</b><b class='flag-5'>激光</b><b class='flag-5'>傳感器</b><b class='flag-5'>制作</b><b class='flag-5'>Arduino</b><b class='flag-5'>激光機器人</b>—<b class='flag-5'>第</b>2<b class='flag-5'>部分</b>

    什么是激光機器人激光機器人具有哪些特點?

    激光機器人是指搭載激光器機器人利用激光器所輸出的高能量激光束進行各種加工或處理操作。
    發表于 06-05 09:08 ?853次閱讀
    主站蜘蛛池模板: 免费毛片大全 | 三级在线观看免播放网站 | 黄色在线观看网站 | 亚洲人色大成年网站在线观看 | 手机看片自拍自自拍日韩免费 | 91在线国内在线播放大神 | 精品欧美激情在线看 | a久久| 污污的黄色小说 | 狠狠色婷婷七月色综合 | 四虎最新入口 | 午夜高清视频在线观看 | 亚洲国产一区二区三区在线观看 | 丁香花在线视频观看免费 | 天堂资源8中文最新版在线 天堂资源地址在线 | 亚洲卡一卡2卡三卡4卡国色 | 九九福利| 婷婷综合在线观看丁香 | 狠狠色丁香久久综合网 | 亚洲狠狠狠一区二区三区 | 爱操综合网 | 亚洲综合成人网在线观看 | 色老成人精品视频在线观看 | 色www视频永久免费软件 | sss欧美华人整片在线观看 | 播放欧亚一级特黄录像 | 亚州色图欧美色图 | 女人张开腿男人猛桶视频 | 日韩一级片在线观看 | 四虎永久在线精品免费影视 | 精品国产理论在线观看不卡 | 手机在线免费观看视频 | 亚洲一二三区视频 | 国产精品三区四区 | 狠狠色狠狠色综合网 | 日本国产视频 | 女女同免费播放毛片 | 性欧美videofree另类超大 | 免费aa视频 | 爱爱帝国亚洲一区二区三区 | 男女性接交无遮挡免费看视频 |