91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

使用Arduino的簡易智能機器人手臂的制作

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

掃碼添加小助手

加入工程師交流群

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

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

1。伺服電機x 5

美國鏈接: - https://amzn.to/2OxbSH7

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

2。電位計x 5(我使用過100k。)

美國鏈接: - https://amzn.to/2ROjhDM

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

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

美國鏈接: - https://amzn.to/2DBbENW

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

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

美國鏈接: - https://amzn.to/2Dy86w4

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

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

6。紙板/木板/太陽板/丙烯板可用或易于找到。

您還需要安裝Arduino IDE。

步驟2:制作手臂: -

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

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

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

參考圖片會給你一個更好的主意。

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

步驟3:建立連接: -

在此步驟中,我們將進行所有必要的連接,請參閱上面的圖片。

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

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

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

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

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

模擬引腳A0至A4用于電位計輸入。

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

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

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

步驟4:編碼: -

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

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

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

#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)在我們將編寫一個設置功能,我們設置引腳及其功能。這是首先執(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)在我們必須使用模擬輸入引腳讀取電位計的值并將它們映射到控制伺服系統(tǒng)。為此我們將定義一個函數(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);

}

}

}

代碼準備好后,立即將其上傳到arduino板。

Smart arm已準備就緒。這個功能還不如Stoerpeak制作的那么順暢。

如果您可以更好地編寫代碼或?qū)ξ矣腥魏谓ㄗh,請在評論部分告訴我。

有人說過,讓我們繼續(xù)測試。..。

步驟5:測試: -

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

要開始錄制,請在顯示器中輸入“R”,然后您可以執(zhí)行要錄制的移動。

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

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

    關注

    213

    文章

    31168

    瀏覽量

    222779
  • Arduino
    +關注

    關注

    190

    文章

    6526

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    榮耀MWC發(fā)布“機器人手機”,攝像頭會點頭也能轉(zhuǎn)頭

    正式亮相,更重磅發(fā)布了其首款“機器人手機”——榮耀Robot Phone。 ? Robot Phone的亮相,標志著榮耀“阿爾法戰(zhàn)略”的落地,也意味著智能手機行業(yè)邁入“具身智能”的新紀元。 ? ? 榮耀發(fā)言人表示,Robot P
    的頭像 發(fā)表于 03-03 09:23 ?1998次閱讀
    榮耀MWC發(fā)布“<b class='flag-5'>機器人手</b>機”,攝像頭會點頭也能轉(zhuǎn)頭

    【案例分享】電子谷定制通訊線束:人形機器人穩(wěn)定律動連接方案

    零失真。今天為大家拆解其核心創(chuàng)新與場景適配優(yōu)勢,為何電子谷線束能成為機器人手臂連接的優(yōu)選方案。01三大技術突破破解機器人運動傳輸核心痛點人形機器人手臂存在高頻擺動
    的頭像 發(fā)表于 01-10 08:32 ?391次閱讀
    【案例分享】電子谷定制通訊線束:人形<b class='flag-5'>機器人</b>穩(wěn)定律動連接方案

    榮耀官宣明年推出機器人手機 Robot Phone!手機+攝像機+機器人三合一

    榮耀C官宣明年將推出革命性的機器人手機Robot Phone,把AI手機、具身智能和高清攝像融成了“智能生命體”。Robot Phone融合了三大核心能力:具備AI的“超強大腦”,能隨時隨地洞悉場景
    的頭像 發(fā)表于 11-10 17:35 ?706次閱讀

    Arduino Uno l兩輪自平衡機器人 電機驅(qū)動無輸出求解

    Arduino Uno l兩輪自平衡機器人 電機驅(qū)動無輸出求解
    發(fā)表于 10-15 06:36

    用于機器人手臂的基于B3M010C075Z和BTD5452R的三相全橋電機驅(qū)動器設計報告

    傾佳電子用于機器人手臂的基于SiC碳化硅MOSFET器件B3M010C075Z和帶有DESAT短路保護和米勒鉗位的隔離驅(qū)動BTD5452R的三相全橋電機驅(qū)動器設計報告 摘要 傾佳電子(Changer
    的頭像 發(fā)表于 09-08 09:18 ?864次閱讀
    用于<b class='flag-5'>機器人手臂</b>的基于B3M010C075Z和BTD5452R的三相全橋電機驅(qū)動器設計報告

    機器人競技幕后:磁傳感器芯片激活 “精準感知力”

    粉塵、高溫等極端環(huán)境下信號衰減的難題。在 “精密裝配” 比賽中,參賽隊借助升級后的磁編碼器,將機器人手指夾持精度從 0.2mm 提升至 0.05mm,成功完成 0.3mm 間隙的零件對接,助力團隊奪冠
    發(fā)表于 08-26 10:02

    生產(chǎn)線不停擺的“隱形衛(wèi)士”:優(yōu)比施UPS電源,精準守護機器人手臂零停機

    自動化生產(chǎn)線的“命門”——機器人手臂的“停機焦慮”在汽車制造車間的焊接工位,在電子裝配廠的精密貼片環(huán)節(jié),在物流分揀中心的高速分撥線上,機器人手臂的突然停機如同多米諾骨牌的第一張牌——輕則導致機械臂卡
    的頭像 發(fā)表于 07-29 16:07 ?569次閱讀
    生產(chǎn)線不停擺的“隱形衛(wèi)士”:優(yōu)比施UPS電源,精準守護<b class='flag-5'>機器人手臂</b>零停機

    工業(yè)機器人的特點

    的基礎,也是三者的實現(xiàn)終端,智能制造裝備產(chǎn)業(yè)包括高檔數(shù)控機床、工業(yè)機器人、自動化成套生產(chǎn)線、精密儀器儀表、智能傳感器、汽車自動化焊接線、柔性自動化生產(chǎn)線、智能農(nóng)機、3D 打印機等領域。
    發(fā)表于 07-26 11:22

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

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

    STM32+Android實現(xiàn)的智能家政機器人電路代碼論文及項目源碼

    STM32+Android實現(xiàn)的智能家政機器人電路代碼論文及項目部分截圖:
    發(fā)表于 05-28 21:22

    盤點#機器人開發(fā)平臺

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

    詳細介紹機場智能指路機器人的工作原理

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

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】機器人入門的引路書

    ROS的全稱:Robot Operating System 機器人操作系統(tǒng) ROS的 目的 :ROS支持通用庫,是通信總線,協(xié)調(diào)多個傳感器 為了解決機器人里各廠商模塊不通用的問題,讓機器人快速開發(fā)
    發(fā)表于 04-30 01:05

    【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】+內(nèi)容初識

    《ROS 2智能機器人開發(fā)實踐》內(nèi)容閱讀初體驗 《ROS 2 智能機器人開發(fā)實踐》是一本針對 ROS 2(Robot Operating System 2)這一先進
    發(fā)表于 04-27 11:24

    室內(nèi)智能指路燈桿機器人:技術、應用與市場趨勢

    一、室內(nèi)智能指路燈桿機器人的定義與技術原理 室內(nèi)智能指路燈桿機器人是一類集成多元智能技術的導視裝置,其借助機械工程與互聯(lián)網(wǎng)技術的有機融合,旨
    的頭像 發(fā)表于 04-08 12:48 ?491次閱讀