chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

如何讓小型云臺(tái)機(jī)械手實(shí)現(xiàn)按顏色分揀物品?

jf_72402704 ? 來源:jf_72402704 ? 作者:jf_72402704 ? 2023-01-05 12:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 功能說明

在小型云臺(tái)機(jī)械手附近設(shè)置一個(gè)工作臺(tái),并安裝一個(gè)顏色識(shí)別傳感器。將紅色、藍(lán)色工件分別放置在傳感器上,如果檢測(cè)的物料的顏色為紅色,機(jī)械臂將物體放在機(jī)械臂的左側(cè),如果檢測(cè)的物料的顏色為藍(lán)色,機(jī)械臂將物體放在機(jī)械臂的右側(cè),否則,機(jī)械臂不動(dòng)作。

2. 使用樣機(jī)

本實(shí)驗(yàn)使用的樣機(jī)是用探索者兼容零件制作的。

poYBAGO2VxeAZ2oVAAUaBjjz4Gw152.png

3. 功能實(shí)現(xiàn)

3.1 電子硬件

在這個(gè)示例中,采用了以下硬件,請(qǐng)大家參考:

pYYBAGO2V2iAYGD9AAAW1Y3XZSM812.png

將夾爪、腕關(guān)節(jié)、底座關(guān)節(jié)的舵機(jī)分別接在擴(kuò)展板的D4、D7以及D11舵機(jī)接口上,顏色傳感器接在A0、A4、A3口上。

poYBAGO2V36AWAc5AAVsbk6Un9U815.png

3.2 編寫程序

編寫并燒錄以下程序(Color_Sorting_Robot.ino),該程序?qū)?shí)現(xiàn)演示視頻中的動(dòng)作。

編程環(huán)境:Arduino 1.8.19

/*******************************************************************************************
版權(quán)說明:Copyright 2022 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
Distributed under MIT license.See file LICENSE for detail or copy at
https://opensource.org/licenses/MIT
by 機(jī)器譜 2022-12-21 https://www.robotway.com/
---------------------------------------------------------------------------------------
實(shí)驗(yàn)需求:
用顏色傳感器實(shí)現(xiàn)顏色識(shí)別。
實(shí)現(xiàn)思路:
程序的整體思路為:在機(jī)械臂前方安裝顏色傳感器,如果檢測(cè)的物料的顏色為紅色,機(jī)械臂將
物體放在機(jī)械臂的左側(cè),如果檢測(cè)的物料的顏色為藍(lán)色,機(jī)械臂將物體放在機(jī)械臂的右側(cè),
否則,機(jī)械臂不動(dòng)作。
實(shí)驗(yàn)接線:
最上端的機(jī)械爪舵機(jī)接D4;
中間的機(jī)械身軀舵機(jī)接D7;
最下端的機(jī)械底座舵機(jī)接D11;
顏色傳感器的接線為
S1 S2 5V GND S3 S2 5V GND OUT LED 5V GND
| | | | | | | | | | | |
A0 A1 5V GND A5 A4 5V GND D2 A3 5V GND
********************************************************************************************/
//顏色傳感器原理
/*首先進(jìn)行白平衡,把一個(gè)白色物體放置在TCS3200顏色傳感器之下,兩者相距10mm左右,點(diǎn)亮傳感器上的
4個(gè)白光LED燈,用Arduino控制器定時(shí)器設(shè)置一固定時(shí)間1s,然后選通三種顏色的濾波器,讓被測(cè)物體反
射光中紅、綠、藍(lán)三色光分別通過濾波器,計(jì)算1s時(shí)間內(nèi)三色光分別對(duì)應(yīng)的TCS3200的輸出脈沖數(shù),再通過
算式得到白色物體RGB值255與三色光脈沖數(shù)的比例因子。有了白平衡后,得到的RGB比例因子,則其他顏色
物體反射光中紅、綠、藍(lán)三色光對(duì)應(yīng)的1s內(nèi)TCS3200輸出信號(hào)脈沖數(shù)乘以R、G、B比例因子,就可換算出被測(cè)
物體的RGB標(biāo)準(zhǔn)值。*/
#include "TimerOne.h" //顏色傳感器需要用到的定時(shí)函數(shù)庫
#include //舵機(jī)驅(qū)動(dòng)需要的函數(shù)庫
ServoTimer2 myservo[3]; //舵機(jī)聲明
#define servo_num 3 //舵機(jī)數(shù)量
#define Servo_Speed 20 //舵機(jī)速度
#define Upward_servo_close 66 //機(jī)械爪閉合的角度值
#define Upward_servo_open 115 //機(jī)械爪張開的角度值
#define Middle_servo_down 105 //機(jī)械臂的初始角
#define Middle_servo_init 85 //機(jī)械臂的初始角
#define Middle_servo_left 10 //機(jī)械臂向左偏的角度
#define Middle_servo_left1 50 //機(jī)械臂向左偏的角度
#define Down_servo_middle 75 //機(jī)械底座初始角度值
#define Down_servo_left 5 //機(jī)械底座向左偏的角度值
#define Down_servo_right 145 //機(jī)械底座向右偏的角度值
int servo_pin[3]={4,7,11}; //定義舵機(jī)引腳號(hào)
float value_init[3]={Upward_servo_open, Middle_servo_left, Down_servo_middle};//舵機(jī)初始角度
int f=20; //舵機(jī)從角度A轉(zhuǎn)到角度B分的分?jǐn)?shù)
//把TCS3200顏色傳感器各控制引腳連到Arduino數(shù)字端口
#define S0 A0 //物體表面的反射光越強(qiáng),TCS3002D的內(nèi)置振蕩器產(chǎn)生的方波頻率越高,
#define S1 A1 //S0和S1的組合決定輸出信號(hào)頻率比率因子,比例因子為2%
//比率因子為TCS3200傳感器OUT引腳輸出信號(hào)頻率與其內(nèi)置振蕩器頻率之比
#define S2 A4 //S2和S3的組合決定讓紅、綠、藍(lán),哪種光線通過濾波器
#define S3 A5
#define OUT 2 //TCS3200顏色傳感器輸出信號(hào)輸入到Arduino中斷0引腳,并引發(fā)脈沖信號(hào)中斷
//在中斷函數(shù)中記錄TCS3200輸出信號(hào)的脈沖個(gè)數(shù)
#define LED A3 //控制TCS3200顏色傳感器是否點(diǎn)亮
int g_count = 0; // 計(jì)算與反射光強(qiáng)相對(duì)應(yīng)TCS3200顏色傳感器輸出信號(hào)的脈沖數(shù)
// 數(shù)組存儲(chǔ)在1s內(nèi)TCS3200輸出信號(hào)的脈沖數(shù),它乘以RGB比例因子就是RGB標(biāo)準(zhǔn)值
int g_array[3];
int g_flag = 0; //濾波器模式選擇順序標(biāo)志
float g_SF[3]; // 存儲(chǔ)從TCS3200輸出信號(hào)的脈沖數(shù)轉(zhuǎn)換為RGB標(biāo)準(zhǔn)值的RGB比例因子
// 初始化TSC3200各控制引腳的輸入輸出模式
//設(shè)置TCS3002D的內(nèi)置振蕩器方波頻率與其輸出信號(hào)頻率的比例因子為2%
void TSC_Init()
{
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(OUT, INPUT);
pinMode(LED, OUTPUT);
digitalWrite(S0, LOW);
digitalWrite(S1, HIGH);
}
//選擇濾波器模式,決定讓紅、綠、藍(lán),哪種光線通過濾波器
void TSC_FilterColor(int Level01, int Level02)
{
if(Level01 != LOW)
Level01 = HIGH;
if(Level02 != LOW)
Level02 = HIGH;
digitalWrite(S2, Level01);
digitalWrite(S3, Level02);
}
//中斷函數(shù),計(jì)算TCS3200輸出信號(hào)的脈沖數(shù)
void TSC_Count()
{
g_count ++ ;
}
//定時(shí)器中斷函數(shù),每1s中斷后,把該時(shí)間內(nèi)的紅、綠、藍(lán)三種光線通過濾波器時(shí),
//TCS3200輸出信號(hào)脈沖個(gè)數(shù)分別存儲(chǔ)到數(shù)組g_array[3]的相應(yīng)元素變量中
void TSC_Callback()
{
switch(g_flag)
{
case 0:
TSC_WB(LOW, LOW); //選擇讓紅色光線通過濾波器的模式
break;
case 1:
g_array[0] = g_count; //存儲(chǔ)1s內(nèi)的紅光通過濾波器時(shí),TCS3200輸出的脈沖個(gè)數(shù)
TSC_WB(HIGH, HIGH); //選擇讓綠色光線通過濾波器的模式
break;
case 2:
g_array[1] = g_count; //存儲(chǔ)1s內(nèi)的綠光通過濾波器時(shí),TCS3200輸出的脈沖個(gè)數(shù)
TSC_WB(LOW, HIGH); //選擇讓藍(lán)色光線通過濾波器的模式
break;
case 3:
g_array[2] = g_count; //存儲(chǔ)1s內(nèi)的藍(lán)光通過濾波器時(shí),TCS3200輸出的脈沖個(gè)數(shù)
TSC_WB(HIGH, LOW); //選擇無濾波器的模式
break;
default:
g_count = 0; //計(jì)數(shù)值清零
break;
}
}
//設(shè)置反射光中紅、綠、藍(lán)三色光分別通過濾波器時(shí)如何處理數(shù)據(jù)的標(biāo)志
//該函數(shù)被TSC_Callback( )調(diào)用
void TSC_WB(int Level0, int Level1)
{
g_count = 0; //計(jì)數(shù)值清零
g_flag ++; //輸出信號(hào)計(jì)數(shù)標(biāo)志
TSC_FilterColor(Level0, Level1); //濾波器模式
Timer1.setPeriod(100000); //設(shè)置輸出信號(hào)脈沖計(jì)數(shù)時(shí)長1s
}
//初始化
void setup()
{
TSC_Init();
Serial.begin(9600); //啟動(dòng)串行通信
Timer1.initialize(100000); // defaulte is 1s
Timer1.attachInterrupt(TSC_Callback); //設(shè)置定時(shí)器1的中斷,中斷調(diào)用函數(shù)為TSC_Callback()
//設(shè)置TCS3200輸出信號(hào)的上跳沿觸發(fā)中斷,中斷調(diào)用函數(shù)為TSC_Count()
attachInterrupt(0, TSC_Count, RISING);
digitalWrite(LED, HIGH);//點(diǎn)亮LED燈
// delay(1500); //延時(shí)4s,以等待被測(cè)物體紅、綠、藍(lán)三色在1s內(nèi)的TCS3200輸出信號(hào)脈沖計(jì)數(shù)
//通過白平衡測(cè)試,計(jì)算得到白色物體RGB值255與1s內(nèi)三色光脈沖數(shù)的RGB比例因子
g_SF[0] = 0.53; //紅色光比例因子
g_SF[1] = 0.65; //綠色光比例因子
g_SF[2] = 0.54; //藍(lán)色光比例因子
//紅、綠、藍(lán)三色光對(duì)應(yīng)的1s內(nèi)TCS3200輸出脈沖數(shù)乘以相應(yīng)的比例因子就是RGB標(biāo)準(zhǔn)值
reset();
}
//主程序
int Now_Color = 0; //存儲(chǔ)上一次顏色傳感器檢測(cè)的數(shù)值
int Last_Color = 0; //存儲(chǔ)當(dāng)前顏色傳感器檢測(cè)的數(shù)值
void loop()
{
Last_Color = Color_Detection();
Now_Color = Color_Detection();
if( Last_Color == Now_Color) //如果兩次檢測(cè)的數(shù)值相同
//(這里是為了防止顏色傳感器檢測(cè)出錯(cuò),所以檢測(cè)了兩次)
{
switch(Now_Color)
{
case 1:
Serial.print("Red"); //如果檢測(cè)到的物料為紅色,將物料放到機(jī)械臂的左側(cè)
Servo_Left();
Now_Color = 0; Last_Color = 0;
break;
case 2:
Serial.print("Blue");//如果檢測(cè)到的物料為藍(lán)色,將物料放到機(jī)械臂的右側(cè)
Servo_Right();
Now_Color = 0; Last_Color = 0;
break;
case 3:
Serial.print("NONE");//否則,機(jī)械臂不動(dòng)作;
Serial.println();
Now_Color = 0; Last_Color = 0;
break;
}
}
}
int Color_Detection() //顏色檢測(cè)函數(shù)
{
int color[3];
g_flag = 0;
for(int i=0; i<3; i++) {
color[i] = g_array[i] * g_SF[i];
}
Serial.println((String)(color[0]) + '+' + (String)(color[1]) + '+' + (String)(color[2]) + '+');
delay(500);
if( (color[0] > color[1]) && (color[0] >color[2]) && ( (color[1]+color[2])
return 1; //如果檢測(cè)到的顏色為紅色,返回1;
}
else if( (color[2] > color[1]) && (color[2] >color[0]) ){
return 2; //如果檢測(cè)到的顏色為藍(lán)色,返回2;
}
else { return 3; } //否則,機(jī)械臂不動(dòng)作;
}
void reset() //舵機(jī)角度初始化
{
for(int i=0;i
{
myservo[i].attach(servo_pin[i]);
myservo[i].write(map(value_init[i],0,180,500,2500));
}
}
void servo_move(float value0, float value1, float value2) //舵機(jī)轉(zhuǎn)動(dòng)
{
float value_arguments[3] = {value0, value1, value2};
float value_delta[servo_num];
for(int i=0;i
{
value_delta[i] = (value_arguments[i] - value_init[i]) / f;
}
for(int i=0;i
{
for(int k=0;k
{
value_init[k] = value_delta[k] == 0 ? value_arguments[k] : value_init[k] + value_delta[k];
}
for(int j=0;j
{
myservo[j].write(map(value_init[j],0,180,500,2500));
delay(Servo_Speed);
}
}
}
void Servo_Left() //將物料放到機(jī)械臂的左側(cè)
{
servo_move(Upward_servo_open, Middle_servo_left, Down_servo_middle);//初始化動(dòng)作
servo_move(Upward_servo_open, Middle_servo_init, Down_servo_middle);//機(jī)械臂下降
servo_move(Upward_servo_close, Middle_servo_init, Down_servo_middle);//機(jī)械爪閉合(抓取貨物)
servo_move(Upward_servo_close, Middle_servo_left1, Down_servo_middle);//機(jī)械臂上抬
servo_move(Upward_servo_close, Middle_servo_down, Down_servo_left); //機(jī)械臂下降,機(jī)械底座向左轉(zhuǎn)
servo_move(Upward_servo_open, Middle_servo_down, Down_servo_left); //機(jī)械爪張開(釋放貨物)
servo_move(Upward_servo_open, Middle_servo_left, Down_servo_middle);//機(jī)械臂回復(fù)到初始角度
}
void Servo_Right() //將物料放到機(jī)械臂的右側(cè)
{
servo_move(Upward_servo_open, Middle_servo_left, Down_servo_middle);//初始化動(dòng)作
servo_move(Upward_servo_open, Middle_servo_init, Down_servo_middle);
servo_move(Upward_servo_close, Middle_servo_init, Down_servo_middle);
servo_move(Upward_servo_close, Middle_servo_left1, Down_servo_middle);
servo_move(Upward_servo_close, Middle_servo_down, Down_servo_right);
servo_move(Upward_servo_open, Middle_servo_down, Down_servo_right);
servo_move(Upward_servo_open, Middle_servo_left, Down_servo_middle);
}

審核編輯黃昊宇

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

    關(guān)注

    213

    文章

    31014

    瀏覽量

    221913
  • 機(jī)械手
    +關(guān)注

    關(guān)注

    7

    文章

    358

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    破解快遞分揀痛點(diǎn)!光子精密顏色傳感器賦能高速分揀提質(zhì)增效

    識(shí)別、強(qiáng)抗干擾、低耗耐用的核心優(yōu)勢(shì),精準(zhǔn)破解行業(yè)困境,實(shí)現(xiàn)了快遞紙箱顏色標(biāo)識(shí)分揀的“高速化、精準(zhǔn)化、穩(wěn)定化、低成本化”。
    的頭像 發(fā)表于 02-24 15:06 ?14次閱讀
    破解快遞<b class='flag-5'>分揀</b>痛點(diǎn)!光子精密<b class='flag-5'>顏色</b>傳感器賦能高速<b class='flag-5'>分揀</b>提質(zhì)增效

    適配FOUP載具的晶圓搬運(yùn)機(jī)械手,哪些型號(hào)維護(hù)更便捷?

    FOUP載具(Front-Opening Unified Pod)作為半導(dǎo)體晶圓的密封傳輸容器,能有效避免晶圓在搬運(yùn)過程中被污染,因此在先進(jìn)制程中應(yīng)用廣泛。但適配FOUP載具的晶圓搬運(yùn)機(jī)械手,維護(hù)
    的頭像 發(fā)表于 02-03 13:55 ?67次閱讀

    射頻RFID+機(jī)械臂:工業(yè)零部件加工后智能分揀

    某精密機(jī)械加工廠采用RFID+機(jī)械臂協(xié)同方案,提升零部件分揀精度與效率,降低錯(cuò)分率,實(shí)現(xiàn)智能制造升級(jí)。
    的頭像 發(fā)表于 01-21 14:51 ?161次閱讀

    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(九):內(nèi)置C語言的自定義機(jī)械手模型實(shí)現(xiàn)

    內(nèi)置C語言的自定義機(jī)械手模型實(shí)現(xiàn)
    的頭像 發(fā)表于 10-27 14:14 ?833次閱讀
    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(九):內(nèi)置C語言的自定義<b class='flag-5'>機(jī)械手</b>模型<b class='flag-5'>實(shí)現(xiàn)</b>

    柔性機(jī)械手視覺供料解決方案,提升無序分揀效率!

    正運(yùn)動(dòng)柔性機(jī)械手供料解決方案
    的頭像 發(fā)表于 10-09 14:58 ?530次閱讀
    柔性<b class='flag-5'>機(jī)械手</b>視覺供料解決方案,提升無序<b class='flag-5'>分揀</b>效率!

    堿粉噸袋裝車機(jī)械手 1噸料全自動(dòng)裝車機(jī)案例

    機(jī)械手
    山東偉豪思智能裝備
    發(fā)布于 :2025年09月15日 11:49:56

    家電沖壓產(chǎn)線 “一機(jī)雙?!?實(shí)現(xiàn)路徑:MDSC-900E 雙料檢測(cè)與三次元機(jī)械手的協(xié)同方案

    機(jī)械手
    阿童木(廣州)智能科技有限公司
    發(fā)布于 :2025年07月24日 11:52:46

    SCARA機(jī)械手:工業(yè)自動(dòng)化領(lǐng)域的精密多面

    小型SCARA柔性上料機(jī)集高速度、高精度、高靈活性及智能化視覺于一體,推動(dòng)著電子裝配、精密制造、智能分揀等領(lǐng)域的自動(dòng)化升級(jí),并為科研創(chuàng)新提供堅(jiān)實(shí)平臺(tái)。
    的頭像 發(fā)表于 07-22 15:37 ?904次閱讀
    SCARA<b class='flag-5'>機(jī)械手</b>:工業(yè)自動(dòng)化領(lǐng)域的精密多面<b class='flag-5'>手</b>

    吸盤拆垛機(jī)械手

    機(jī)械手
    jf_31042997
    發(fā)布于 :2025年07月17日 17:22:47

    顆粒物料全自動(dòng)拆包機(jī)器人 機(jī)械手自動(dòng)拆包機(jī)

    機(jī)械手
    安丘博陽機(jī)械廠家
    發(fā)布于 :2025年07月11日 17:28:55

    DELTA機(jī)械手多物料視覺分揀的應(yīng)用

    正運(yùn)動(dòng)DELTA機(jī)械手多物料視覺分揀解決方案
    的頭像 發(fā)表于 06-24 11:16 ?960次閱讀
    DELTA<b class='flag-5'>機(jī)械手</b>多物料視覺<b class='flag-5'>分揀</b>的應(yīng)用

    運(yùn)動(dòng)控制模塊:Delta機(jī)械手柔性上下料開發(fā)零門檻!

    正運(yùn)動(dòng)運(yùn)動(dòng)控制模塊結(jié)合第三方視覺實(shí)現(xiàn)Delta機(jī)械手柔性上下料應(yīng)用開發(fā)
    的頭像 發(fā)表于 05-23 10:29 ?695次閱讀
    運(yùn)動(dòng)控制模塊:Delta<b class='flag-5'>機(jī)械手</b>柔性上下料開發(fā)零門檻!

    塑膠顆粒自動(dòng)拆包機(jī)械手 25kg塑料顆粒自動(dòng)拆包機(jī)器人

    機(jī)械手
    jf_84633336
    發(fā)布于 :2025年05月08日 11:17:39

    桁架機(jī)械手直線模組滑臺(tái) 五大核心技術(shù)打造無人車間新標(biāo)桿

    在工業(yè)4.0的浪潮下,自動(dòng)化生產(chǎn)已成為制造業(yè)的核心競爭力。如何實(shí)現(xiàn)高效、精準(zhǔn)、靈活的無人化作業(yè)?飛創(chuàng)桁架機(jī)械手直線模組滑臺(tái)憑借五大創(chuàng)新技術(shù),重新定義智造標(biāo)準(zhǔn),為無人車間樹立新標(biāo)桿!桁架機(jī)械手以高強(qiáng)度
    的頭像 發(fā)表于 04-28 11:05 ?739次閱讀
    桁架<b class='flag-5'>機(jī)械手</b>直線模組滑臺(tái) 五大核心技術(shù)打造無人車間新標(biāo)桿

    profinet轉(zhuǎn)ethercat網(wǎng)關(guān)的自動(dòng)上料機(jī)械手集成案例

    主控,伺服電機(jī)負(fù)責(zé)機(jī)械手臂的精確定位。分布式I/O模塊通過ethercat連接視覺傳感器和力反饋系統(tǒng)。機(jī)械手6軸協(xié)同運(yùn)動(dòng)控制,位置精度達(dá)±0.02mm。安川伺服完美兼容兩種協(xié)議的控制指令,確保平穩(wěn)運(yùn)行。實(shí)現(xiàn)生產(chǎn)狀態(tài)數(shù)據(jù)的統(tǒng)一采集
    的頭像 發(fā)表于 03-18 14:11 ?541次閱讀
    profinet轉(zhuǎn)ethercat網(wǎng)關(guān)的自動(dòng)上料<b class='flag-5'>機(jī)械手</b>集成案例