99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Arduino的簡(jiǎn)易智能機(jī)器人手臂的制作

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-07 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:你需要的東西: -

以下列出了您需要的東西: -

1。伺服電機(jī)x 5

美國(guó)鏈接: - https://amzn.to/2OxbSH7

歐洲鏈接: - https://amzn.to/2Ddr6Pw

2。電位計(jì)x 5(我使用過(guò)100k。)

美國(guó)鏈接: - https://amzn.to/2ROjhDM

歐洲鏈接: - https://amzn.to/2AYlhE7

3。 Arduino UNO。 (您也可以使用Arduino Nano)

美國(guó)鏈接: - https://amzn.to/2DBbENW

歐洲鏈接: - https://amzn.to/2zHCQX7

4 。面包板。 (我建議使用此套件)

美國(guó)鏈接: - https://amzn.to/2Dy86w4

歐洲鏈接: - https://amzn.to/2AZa5ao

5。電池。 (可選,我使用的是5v適配器)

6。紙板/木板/太陽(yáng)板/丙烯板可用或易于找到。

您還需要安裝Arduino IDE。

步驟2:制作手臂: -

在這里,我使用冰棍棒制作手臂。您可以使用任何可用的物資。你可以嘗試不同的機(jī)械設(shè)計(jì),以制造更好的手臂。我的設(shè)計(jì)不是很穩(wěn)定。

我只是用雙面膠帶將舵機(jī)粘在冰棒上并用螺絲固定。

對(duì)于Master臂我將電位器粘在冰棒上棍棒和手臂。

參考圖片會(huì)給你一個(gè)更好的主意。

我已將所有東西安裝在用作基礎(chǔ)的A4尺寸帆布板上。

步驟3:建立連接: -

在此步驟中,我們將進(jìn)行所有必要的連接,請(qǐng)參閱上面的圖片。

首先連接所有伺服器與電源并聯(lián)(紅線至+ ve和黑線或棕線至Gnd)

然后將信號(hào)線(即黃線或橙線)連接到arduino的PWM引腳。

現(xiàn)在將電位器并聯(lián)連接到+ 5v和arduino的Gnd。

將中間端子連接到ardunio的模擬引腳。

此處數(shù)字引腳3,5,6,9和10用于控制伺服電壓

模擬引腳A0至A4用于電位計(jì)輸入。

連接到引腳3的伺服將由連接到A0的電位器控制

連接到引腳5的伺服將由A1上的電位器控制,依此類推。..。

注意: - 即使Servos不是由arduino供電,也要確保將伺服器的Gnd連接到arduino,否則手臂將無(wú)法正常工作。

步驟4:編碼: -

此代碼的邏輯非常簡(jiǎn)單,電位計(jì)的值存儲(chǔ)在數(shù)組中,然后使用for循環(huán)遍歷記錄,伺服器按照步驟執(zhí)行步驟價(jià)值。您可以查看本教程,我用作參考“Arduino電位器伺服控制和記憶”

代碼: - (可下載文件附后)。

首先我們將聲明所有全局必要的變量,因此我們可以在整個(gè)程序中使用它們。此處不需要特別說(shuō)明。

#include

//Servo Objects

Servo Servo_0;

Servo Servo_1;

Servo Servo_2;

Servo Servo_3;

Servo Servo_4;

//Potentiometer Objects

int Pot_0;

int Pot_1;

int Pot_2;

int Pot_3;

int Pot_4;

//Variable to store Servo Position

int Servo_0_Pos;

int Servo_1_Pos;

int Servo_2_Pos;

int Servo_3_Pos;

int Servo_4_Pos;

//Variable to store Previous position values

int Prev_0_Pos;

int Prev_1_Pos;

int Prev_2_Pos;

int Prev_3_Pos;

int Prev_4_Pos;

//Variable to store Current position values

int Current_0_Pos;

int Current_1_Pos;

int Current_2_Pos;

int Current_3_Pos;

int Current_4_Pos;

int Servo_Position; //Stores the angle

int Servo_Number; //Stores no of servo

int Storage[600]; //Array to store data (Increasing array size will consume more memory)

int Index = 0; // Array index starts from 0th position

char data = 0; //variable to store data from serial input.

現(xiàn)在我們將編寫一個(gè)設(shè)置功能,我們?cè)O(shè)置引腳及其功能。這是首先執(zhí)行的主要功能。

void setup()

{

Serial.begin(9600); //For Serial communication between arduino and IDE.

//Servo objects are attached to PWM pins.

Servo_0.attach(3);

Servo_1.attach(5);

Servo_2.attach(6);

Servo_3.attach(9);

Servo_4.attach(10);

//Servos are set to 100 position at initialization.

Servo_0.write(100);

Servo_1.write(100);

Servo_2.write(100);

Servo_3.write(100);

Servo_4.write(100);

Serial.println(“Press ‘R’ to Record and ‘P’ to play”);

}

現(xiàn)在我們必須使用模擬輸入引腳讀取電位計(jì)的值并將它們映射到控制伺服系統(tǒng)。為此我們將定義一個(gè)函數(shù)并將其命名為 Map_Pot(); ,你可以將它命名為任何你想要的用戶定義函數(shù)。

void Map_Pot()

{

/* The servos rotate at 180 degrees

but to using it to limits is not

a good idea as it makes the servos buzz continuously

which is annoying so we limit the servo to move

between: 1-179 */

Pot_0 = analogRead(A0); // Read input from pot and store it in the Variable Pot_0.

Servo_0_Pos = map(Pot_0, 0, 1023, 1, 179); //Map servos as per the value between 0 to 1023

Servo_0.write(Servo_0_Pos); //Move the servo to that position.

Pot_1 = analogRead(A1);

Servo_1_Pos = map(Pot_1, 0, 1023, 1, 179);

Servo_1.write(Servo_1_Pos);

Pot_2 = analogRead(A2);

Servo_2_Pos = map(Pot_2, 0, 1023, 1, 179);

Servo_2.write(Servo_2_Pos);

Pot_3 = analogRead(A3);

Servo_3_Pos = map(Pot_3, 0, 1023, 1, 179);

Servo_3.write(Servo_3_Pos);

Pot_4 = analogRead(A4);

Servo_4_Pos = map(Pot_4, 0, 1023 , 1, 179);

Servo_4.write(Servo_4_Pos);

}

現(xiàn)在我們將編寫循環(huán)函數(shù):

void loop()

{

Map_Pot(); //Function call to read pot values

while (Serial.available() 》 0)

{

data = Serial.read();

if (data == ‘R’)

Serial.println(“Recording Moves.。.”);

if (data == ‘P’)

Serial.println(“Playing Recorded Moves.。.”);

}

if (data == ‘R’) //If ‘R’ is entered, start recording.

{

//Store the values in a variable

Prev_0_Pos = Servo_0_Pos;

Prev_1_Pos = Servo_1_Pos;

Prev_2_Pos = Servo_2_Pos;

Prev_3_Pos = Servo_3_Pos;

Prev_4_Pos = Servo_4_Pos;

Map_Pot(); // Map function recalled for comparison

if (abs(Prev_0_Pos == Servo_0_Pos)) // absolute value is obtained by comparing

{

Servo_0.write(Servo_0_Pos); // If values match servo is repositioned

if (Current_0_Pos != Servo_0_Pos) // If values don‘t match

{

Storage[Index] = Servo_0_Pos + 0; // Value is added to array

Index++; // Index value incremented by 1

}

Current_0_Pos = Servo_0_Pos;

}

/* Similarly the value comparison is done for all the servos, +100 is added every for entry

as a differential value. */

if (abs(Prev_1_Pos == Servo_1_Pos))

{

Servo_1.write(Servo_1_Pos);

if (Current_1_Pos != Servo_1_Pos)

{

Storage[Index] = Servo_1_Pos + 100;

Index++;

}

Current_1_Pos = Servo_1_Pos;

}

if (abs(Prev_2_Pos == Servo_2_Pos))

{

Servo_2.write(Servo_2_Pos);

if (Current_2_Pos != Servo_2_Pos)

{

Storage[Index] = Servo_2_Pos + 200;

Index++;

}

Current_2_Pos = Servo_2_Pos;

}

if (abs(Prev_3_Pos == Servo_3_Pos))

{

Servo_3.write(Servo_3_Pos);

if (Current_3_Pos != Servo_3_Pos)

{

Storage[Index] = Servo_3_Pos + 300;

Index++;

}

Current_3_Pos = Servo_3_Pos;

}

if (abs(Prev_4_Pos == Servo_4_Pos))

{

Servo_4.write(Servo_4_Pos);

if (Current_4_Pos != Servo_4_Pos)

{

Storage[Index] = Servo_4_Pos + 400;

Index++;

}

Current_4_Pos = Servo_4_Pos;

}

/* Values are printed on serial monitor, ’ ‘ is for displaying values in tabular format */

Serial.print(Servo_0_Pos);

Serial.print(“ ”);

Serial.print(Servo_1_Pos);

Serial.print(“ ”);

Serial.print(Servo_2_Pos);

Serial.print(“ ”);

Serial.print(Servo_3_Pos);

Serial.print(“ ”);

Serial.println(Servo_4_Pos);

Serial.print (“Index = ”);

Serial.println(Index);

delay(50);

}

if (data == ’P‘) //IF ’P‘ is entered , Start playing recorded moves.

{

for (int i = 0; i 《 Index; i++) //Traverse the array using for loop

{

Servo_Number = Storage[i] / 100; // Finds number of servo

Servo_Position = Storage[i] % 100; // Finds position of servo

switch(Servo_Number)

{

case 0:

Servo_0.write(Servo_Position);

break;

case 1:

Servo_1.write(Servo_Position);

break;

case 2:

Servo_2.write(Servo_Position);

break;

case 3:

Servo_3.write(Servo_Position);

break;

case 4:

Servo_4.write(Servo_Position);

break;

}

delay(50);

}

}

}

代碼準(zhǔn)備好后,立即將其上傳到arduino板。

Smart arm已準(zhǔn)備就緒。這個(gè)功能還不如Stoerpeak制作的那么順暢。

如果您可以更好地編寫代碼或?qū)ξ矣腥魏谓ㄗh,請(qǐng)?jiān)谠u(píng)論部分告訴我。

有人說(shuō)過(guò),讓我們繼續(xù)測(cè)試。..。

步驟5:測(cè)試: -

將代碼成功上傳到電路板后,打開(kāi)“串行監(jiān)視器”,您可以在“工具”選項(xiàng)中找到它。當(dāng)串行監(jiān)視器啟動(dòng)時(shí),arduino將重置?,F(xiàn)在,您可以使用主臂控制機(jī)械臂。但沒(méi)有記錄任何東西。

要開(kāi)始錄制,請(qǐng)?jiān)陲@示器中輸入“R”,然后您可以執(zhí)行要錄制的移動(dòng)。

移動(dòng)完成后,您必須輸入“P”才能播放錄制的動(dòng)作。只要電路板未復(fù)位,伺服器就會(huì)繼續(xù)執(zhí)行移動(dòng)。
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    213

    文章

    29748

    瀏覽量

    212946
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192207
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    汽車智造“破界”!PROFIBUS DP轉(zhuǎn)ETHERNET/IP激活機(jī)器人手臂超能力

    智能化轉(zhuǎn)型注入強(qiáng)勁動(dòng)力。 西門子PLC以其穩(wěn)定可靠的控制性能,長(zhǎng)期作為汽車制造車間的核心控制中樞。通過(guò)PROFIBUS DP協(xié)議,PLC作為主站可精準(zhǔn)調(diào)度從站設(shè)備,確保生產(chǎn)流程的有序執(zhí)行。而機(jī)器人手臂作為汽車焊接、裝配等關(guān)鍵工序的主力設(shè)備,采用ETHERNET/IP協(xié)議
    的頭像 發(fā)表于 06-24 16:35 ?125次閱讀

    盤點(diǎn)#機(jī)器人開(kāi)發(fā)平臺(tái)

    圖,電子技術(shù)資料網(wǎng)站具身智能機(jī)器人****開(kāi)發(fā)平臺(tái)——Fibot廣和通發(fā)布機(jī)器人開(kāi)發(fā)平臺(tái)-電子發(fā)燒友網(wǎng)NVIDIA Isaac 英偉達(dá)綜合性機(jī)器人開(kāi)發(fā)平臺(tái)NVIDIA Isaac 是英
    發(fā)表于 05-13 15:02

    詳細(xì)介紹機(jī)場(chǎng)智能指路機(jī)器人的工作原理

    機(jī)場(chǎng)智能指路機(jī)器人主要依靠感知系統(tǒng)、定位系統(tǒng)、導(dǎo)航系統(tǒng)、智能交互系統(tǒng)和運(yùn)動(dòng)系統(tǒng)協(xié)同工作,來(lái)實(shí)現(xiàn)為旅客準(zhǔn)確指路和提供服務(wù)的功能,以下是其詳細(xì)工作原理: 感知系統(tǒng) 傳感器類型 :機(jī)器人配備
    發(fā)表于 05-10 18:26

    開(kāi)源項(xiàng)目!教你如何制作一個(gè)開(kāi)源教育機(jī)械臂

    決定使用我的舊Anet A8 3D打印機(jī)構(gòu)建一個(gè)緊湊的機(jī)器人手臂。 為了消除布線和試驗(yàn)板的麻煩,我設(shè)計(jì)了一個(gè)定制的即插即用板,使構(gòu)建和控制3D打印機(jī)器人手臂變得更容易。編程教育機(jī)器人(Pedro)誕生
    發(fā)表于 03-10 11:22

    名單公布!【書籍評(píng)測(cè)活動(dòng)NO.58】ROS 2智能機(jī)器人開(kāi)發(fā)實(shí)踐

    資格! 從 PC 到智能手機(jī),下一個(gè)更大的計(jì)算平臺(tái)是什么? 最佳答案可能是 機(jī)器人 ! 如果設(shè)想成真,則需要有人為機(jī)器人“造腦”,即打造適配的計(jì)算平臺(tái)及操作系統(tǒng)。 就像以計(jì)算機(jī)為平臺(tái)的計(jì)算機(jī)時(shí)代,和以
    發(fā)表于 03-03 14:18

    未來(lái)已來(lái),2025人形機(jī)器人量產(chǎn)啟航!泰科機(jī)器人成功斬獲近千萬(wàn)訂單

    泰科機(jī)器人在2024年年底傳來(lái)捷報(bào),成功斬獲上海某機(jī)器人公司近千萬(wàn)訂單!訂單涵蓋了100+人形機(jī)器人手臂,涉及1000+精密關(guān)節(jié)模組。尤為更重要的是,用于人形機(jī)器人腿部、腰部及頭部的伺
    的頭像 發(fā)表于 02-28 08:44 ?855次閱讀
    未來(lái)已來(lái),2025人形<b class='flag-5'>機(jī)器人</b>量產(chǎn)啟航!泰科<b class='flag-5'>機(jī)器人</b>成功斬獲近千萬(wàn)訂單

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人的基礎(chǔ)模塊

    具身智能機(jī)器人的基礎(chǔ)模塊,這個(gè)是本書的第二部分內(nèi)容,主要分為四個(gè)部分:機(jī)器人計(jì)算系統(tǒng),自主機(jī)器人的感知系統(tǒng),自主機(jī)器人的定位系統(tǒng),自主
    發(fā)表于 01-04 19:22

    《具身智能機(jī)器人系統(tǒng)》第10-13章閱讀心得之具身智能機(jī)器人計(jì)算挑戰(zhàn)

    閱讀《具身智能機(jī)器人系統(tǒng)》第10-13章,我對(duì)具身智能機(jī)器人的工程實(shí)踐有了全新認(rèn)識(shí)。第10章從實(shí)時(shí)性角度剖析了機(jī)器人計(jì)算加速問(wèn)題。
    發(fā)表于 01-04 01:15

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人大模型

    近年來(lái),人工智能領(lǐng)域的大模型技術(shù)在多個(gè)方向上取得了突破性的進(jìn)展,特別是在機(jī)器人控制領(lǐng)域展現(xiàn)出了巨大的潛力。在“具身智能機(jī)器人大模型”部分,作者研究并探討了大模型如何提升
    發(fā)表于 12-29 23:04

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】1.初步理解具身智能

    感謝 感謝電子發(fā)燒友網(wǎng)社區(qū)給予《具身智能機(jī)器人系統(tǒng)》試讀機(jī)會(huì)。在這知識(shí)的盛宴中,我感受到社區(qū)的關(guān)懷與支持。定不負(fù)期望,認(rèn)真研讀,分享所學(xué),回饋社區(qū)。 一、本書大綱 《具身智能機(jī)器人系統(tǒng)
    發(fā)表于 12-28 21:12

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】+初品的體驗(yàn)

    《具身智能機(jī)器人系統(tǒng)》 一書由甘一鳴、俞波、萬(wàn)梓燊、劉少山老師共同編寫,其封面如圖1所示。 本書共由5部分組成,其結(jié)構(gòu)和內(nèi)容如圖2所示。 該書可作為高校和科研機(jī)構(gòu)的教材,為學(xué)生和研究人員提供系統(tǒng)
    發(fā)表于 12-20 19:17

    《具身智能機(jī)器人系統(tǒng)》第1-6章閱讀心得之具身智能機(jī)器人系統(tǒng)背景知識(shí)與基礎(chǔ)模塊

    要給AI這個(gè)聰明的“頭腦”裝上一副“身體”。這個(gè)“身體”可以是一部手機(jī),可以是一臺(tái)自動(dòng)駕駛汽車。而人形機(jī)器人則是集各類核心尖端技術(shù)于一體的載體,是具身智能的代表產(chǎn)品。與傳統(tǒng)的軟件智能體不同,具身
    發(fā)表于 12-19 22:26

    變速齒輪在機(jī)器人中的使用

    扭矩的傳動(dòng)裝置。它通常由多個(gè)不同大小的齒輪組成,通過(guò)齒輪間的嚙合來(lái)傳遞動(dòng)力,并實(shí)現(xiàn)轉(zhuǎn)速和扭矩的轉(zhuǎn)換。 二、變速齒輪在機(jī)器人中的使用 驅(qū)動(dòng)機(jī)器人手臂機(jī)器人手臂需要靈活、精確地移動(dòng)
    的頭像 發(fā)表于 12-04 17:11 ?1035次閱讀

    舵機(jī)技術(shù)深度解析,讓機(jī)器人智能

    你是否曾駐足于那些靈活的機(jī)器人手臂前,驚嘆于它們?nèi)绾尉珳?zhǔn)地抓取物品?或者你是否曾仰望藍(lán)天,對(duì)無(wú)人機(jī)那行云流水般的飛行軌跡感到好奇?這些令人矚目的技術(shù)成就,其背后的秘密武器,正是我們今天要深入探討
    的頭像 發(fā)表于 11-06 14:19 ?1686次閱讀

    助力風(fēng)電行業(yè)!深視智能SR7400線激光以機(jī)器人手眼標(biāo)定實(shí)現(xiàn)風(fēng)力葉片切割引導(dǎo)

    機(jī)器人手眼標(biāo)定在機(jī)器人視覺(jué)領(lǐng)域,手眼標(biāo)定是重要的一步,也是使自動(dòng)化系統(tǒng)更加精確高效的關(guān)鍵一環(huán)。手眼標(biāo)定可以幫助機(jī)器人轉(zhuǎn)換識(shí)別到的視覺(jué)信息,從而完成后續(xù)的控制工作(如抓取、焊接、噴涂、搬運(yùn)等)。但對(duì)
    的頭像 發(fā)表于 07-27 08:45 ?839次閱讀
    助力風(fēng)電行業(yè)!深視<b class='flag-5'>智能</b>SR7400線激光以<b class='flag-5'>機(jī)器人手</b>眼標(biāo)定實(shí)現(xiàn)風(fēng)力葉片切割引導(dǎo)