女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

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

3天內不再提示

怎樣讓機械臂繪畫

454398 ? 來源:工程師吳畏 ? 2019-08-07 17:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1。 OWI機器人手臂邊緣

2。 Arduino紅板

3。電機護罩(用于控制機器人的電機)

4。公針頭(用于堆疊Arduino上方的電機屏蔽)

5。很少有跳線

6。 5V-12V外部電源(理想情況下為9V)

7。一盆水

8。油畫

9。紙張(吸收圖案)

10。 BitVoicer軟件(僅適用于Windows)

步驟1:組裝OWI機械

OWI機械臂已售出作為單獨的組件。我們必須組裝不同的部分。

完全組裝好手臂之后,我們得到了上面完成的輸出。

可以看出,它有一個可以握筆的夾子,或者在我們的情況下是一個油漆瓶,當夾具盡可能閉合時,可以擠壓。

要運行手臂電機,需要4‘D’電池。

第2步:在Arduino上堆疊電機護罩

OWI機械臂有五個自由度,因此有5個直流電機。其中1個電機負責夾具的打開和關閉,2個電機用于左右移動,另外2個電機用于上下移動。 Arduino只能處理1個電機,也無法完全為電機供電。為了使兩個或更多電機同時運動,我們使用電機屏蔽。

電機屏蔽層使用公針頭堆疊在Arduino上方。為了獲得更好的連接,引腳接頭的一側焊接到電機屏蔽層上的相應引腳。引腳接頭的另一端插入Arduino板的數字引腳。 此外,電機屏蔽使用外部電源單獨供電。 Arduino由USB或槍管插孔供電。

電機屏蔽可以一次控制4個電機。由于我們不希望所有5臺電機因任何原因同時運行,我們在這里不會遇到任何問題。

移動電機的示例代碼如下所示:

#include

#include Adafruit_DCMotor *myMotor4 = AFMS.getMotor(4); myMotor4-》setSpeed(150);

myMotor4-》run(FORWARD);

delay(3000);

myMotor4-》setSpeed(0);

delay(300);

步驟3:連接電機護罩和機械臂

將機器人的電機連接到電機護罩。我們需要這種跳線。

在電機護罩上,有4個插槽(M1,M2,M3,M4)用于連接4個電機。對于這個項目,由于我們只需要有限的運動,我們排除了兩個有助于上下移動的電機中的一個。

步驟4:編碼

我們的代碼執行以下功能:

機器人具有固定的起始位置。它從那里移動,從支架(它旁邊)抓住一瓶油漆,打開抓手,抓住瓶子并收緊瓶子的把手。

從這里開始,它移動到水桶的位置,就在抓手的正下方,移動到水池的最右端,擠壓瓶子一次,移動到中心,擠壓,移動到最左邊的位置,然后再滴一滴油漆。

然后它回到初始位置

接下來又回來再采取另一種顏色的顏色

再次執行(2),但這次只是下降了2滴油漆在不同于先前油漆掉落的位置。

/*參考文獻:Adafruit motor屏蔽直流電機示例稱為MotorTest

BitVoicer用于切換LED的軟件示例程序。我們使用此示例中的對象僅用于實例化*/

#include

#include

#include“ utility/Adafruit_PWMServoDriver.h“

#include

Adafruit_MotorShield AFMS = Adafruit_MotorShield();

Adafruit_DCMotor * myMotor1 = AFMS.getMotor(1);

Adafruit_DCMotor * myMotor2 = AFMS.getMotor(2);

Adafruit_DCMotor * myMotor3 = AFMS.getMotor (3);

Adafruit_DCMotor * myMotor4 = AFMS.getMotor(4);

BitVoicerSerial bvSerial = BitVoicerSerial();

boolean sampleTest = false;

byte dataType = 0;

void setup(){

Serial.begin(9600);

Serial.println(“Adafruit Motorshield v2 - DC Motor test!”);

AFMS.begin();

myMotor4-》 setSpeed(150);

myMotor4-》 run(FORWARD);

//打開電機

myMotor4 - 》 run(RELEASE);

myMotor2-》 setSpeed(150);

myMotor2-》 run(FORWARD);

//打開電機

myMotor2-》 run(RELEASE);

bvSerial.setAnalogReference(BV_EXTERNAL);

bvSerial.setAudioInput(0);

Serial.begin(9600);

}

void loop(){

if(sampleTest == true)

{

bvSerial.processAudio(46);

}

if(bvSerial.engineRunning)

{

bvSerial.processAudio(46);

}

}

void serialEvent()

{

dataType = bvSerial.getData();

if(dataType == BV_COMMAND)

sampleTest = bvSerial.cmdData;

if(dataType == BV_STATUS&& bvSerial.engineRunning == true)

bvSerial.startStopListening();

if(dataType == BV_STR)

func1();

}

void func1()///3滴

{

if(bvSerial.strData ==“five”)

{

myMotor4-》 run(FORWARD);//來拾取顏色

myMotor4-》 setSpeed(150);

延遲(3000);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (后退);//打開抓手

myMotor2-》 setSpeed(150);

延遲(380);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (FORWARD);//關閉夾子

myMotor2-》 setSpeed(150);

延遲(600);

myMotor2-》 setSpeed(0);

延遲(400);

myMotor3-》 run (向后);//將抓手移到頂部

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor4-》 run (后退);

myMotor4-》 setSpeed(150);

延遲(4000);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (FORWARD);//擠壓抓手

myMotor2-》 setSpeed(200);

延遲(300);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run(BACKWARD);//Unqueezing

myMotor2-》 setSpeed(250);

延遲(50);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor4-》 run (前進);

myMotor4-》 setSpeed(150);

延遲(1000);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (FORWARD);//擠壓抓手

myMotor2-》 setSpeed(150);

延遲(300);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (后退);//不壓縮

myMotor2-》 setSpeed(150);

延遲(50);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor4-》 run (前進);

myMotor4-》 setSpeed(150);

延遲(1000);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (FORWARD);//擠壓抓手

myMotor2-》 setSpeed(150);

延遲(300);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (后退);//不壓縮

myMotor2-》 setSpeed(150);

延遲(50);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor4-》 run(FORWARD);

myMotor4-》 setSpeed(150);

延遲(2000);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor3-》 run (前進);

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor2-》 run (后退);//打開抓手

myMotor2-》 setSpeed(150);

延遲(400);

myMotor2-》 setSpeed(0);

延遲(400);

myMotor4-》 run (后退);//打開抓手

myMotor4-》 setSpeed(150);

延遲(4000);

myMotor4-》 setSpeed(0);

延遲(400);

func2();

}

否則if(bvSerial.strData ==“two”)

{

two_drops();

}

其他

{

bvSerial.startStopListening();

bvSerial.sendToBV(“ERROR:”+ bvSerial .strData);

bvSerial.startStopListening();

}

}

void func2()///2 drop

{

myMotor4-》 run(FORWARD);//來拾取顏色

myMotor4-》 setSpeed(150);

延遲(4000);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (后退);//打開抓手

myMotor2-》 setSpeed(150);

延遲(380);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (FORWARD);//關閉夾子

myMotor2-》 setSpeed(150);

延遲(600);

myMotor2-》 setSpeed(0);

延遲(400);

myMotor3-》 run (向后);//將抓手移到頂部

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor4-》 run (后退);

myMotor4-》 setSpeed(150);

延遲(3500);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (FORWARD);//擠壓抓手

myMotor2-》 setSpeed(150);

延遲(300);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (后退);//不壓縮

myMotor2-》 setSpeed(150);

延遲(50);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor4-》 run (后退);

myMotor4-》 setSpeed(150);

延遲(1000);

myMotor4-》 setSpeed(0);

延遲(400);

myMotor4-》 run(FORWARD);

myMotor4-》 setSpeed(150);

延遲(2000);

myMotor4-》 setSpeed(0);

延遲(400);

myMotor3-》 run (向前);//將抓手移到頂部

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor3-》 run (向后);//將夾子移到下面

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor3-》 run (向前);//將抓手移到頂部

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor3-》 run (向后);//將夾子移到下面

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor3-》 run (向前);//將抓手移到頂部

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor3-》 run (向后);//將夾子移到下面

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor4-》 run(FORWARD);

myMotor4-》 setSpeed( 150);

延遲(1000);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (FORWARD);//擠壓抓手

myMotor2-》 setSpeed(150);

延遲(300);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (后退);//不壓縮

myMotor2-》 setSpeed(150);

延遲(50);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor4-》 run (前進);

myMotor4-》 setSpeed(150);

延遲(2500);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor3-》 run (前進);

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor2-》 run (后退);//打開抓手

myMotor2-》 setSpeed(150);

延遲(400);

myMotor2-》 setSpeed(0);

延遲(400);

myMotor4-》 run (后退);

myMotor4-》 setSpeed(150);

延遲(3000);

myMotor4-》 setSpeed(0);

延遲(400);

}

void two_drops()

{

myMotor4-》 run(FORWARD);//來拾取顏色

myMotor4-》 setSpeed(150);

延遲(3000);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (后退);//打開抓手

myMotor2-》 setSpeed(150);

延遲(380);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (FORWARD);//關閉夾子

myMotor2-》 setSpeed(150);

延遲(600);

myMotor2-》 setSpeed(0);

延遲(400);

myMotor3-》 run (向后);//將抓手移到頂部

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor4-》 run (后退);

myMotor4-》 setSpeed(150);

延遲(3500);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (FORWARD);//擠壓抓手

myMotor2-》 setSpeed(150);

延遲(300);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (后退);//不壓縮

myMotor2-》 setSpeed(150);

延遲(50);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor4-》 run(FORWARD);

myMotor4-》 setSpeed(150);

延遲(1500);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor2-》 run (FORWARD);//擠壓抓手

myMotor2-》 setSpeed(150);

延遲(300);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (后退);//不壓縮

myMotor2-》 setSpeed(150);

延遲(50);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor4-》 run (前進);

myMotor4-》 setSpeed(150);

延遲(2000);

myMotor4-》 setSpeed(0);

延遲(300);

myMotor3-》 run (前進);

myMotor3-》 setSpeed(150);

延遲(600);

myMotor3-》 setSpeed(0);

延遲(300);

myMotor2-》 run (后退);//打開抓手

myMotor2-》 setSpeed(150);

延遲(400);

myMotor2-》 setSpeed(0);

延遲(400);

myMotor4-》 run (后退);

myMotor4-》 setSpeed(150);

延遲(3000);

myMotor4-》 setSpeed(0);

延遲(400);

}

void brush()

{

myMotor4-》 run(BACKWARD);

myMotor4-》 setSpeed(150);

延遲(3000);

myMotor4-》 setSpeed(0);

延遲(400);

myMotor2-》 run (后退);//打開抓手

myMotor2-》 setSpeed(150);

延遲(380);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor2-》 run (FORWARD);//關閉夾子

myMotor2-》 setSpeed(150);

延遲(600);

myMotor2-》 setSpeed(0);

延遲(400);

myMotor4-》 run (前進);

myMotor4-》 setSpeed(150);

延遲(3000);

myMotor4-》 setSpeed(0);

延遲(400);

myMotor1-》 run (后退);

myMotor1-》 setSpeed(150);

延遲(600);

myMotor1-》 setSpeed(0);

延遲(400);

myMotor4-》 run (后退);

myMotor4-》 setSpeed(150);

延遲(1000);

myMotor4-》 setSpeed(0);

延遲(400);

myMotor4-》 run (FORWARD);

myMotor4-》 setSpeed(150);

延遲(2000);

myMotor4-》 setSpeed(0);

延遲(400);

myMotor1-》 run (前進);

myMotor1-》 setSpeed(150);

延遲(600);

myMotor1-》 setSpeed(0);

延遲(400);

myMotor4-》 run (后退);

myMotor4-》 setSpeed(150);

延遲(4000);

myMotor4-》 setSpeed(0);

延遲(400);

myMotor2-》 run (后退);//打開抓手

myMotor2-》 setSpeed(150);

延遲(380);

myMotor2-》 setSpeed(0);

延遲(200);

myMotor4-》 run (前進);

myMotor4-》 setSpeed(150);

延遲(3000);

myMotor4-》 setSpeed(0);

延遲(400);

}

步驟5:與BitVoicer集成

下一步是在任何Windows機器上下載并安裝BitVoicer軟件。

在上一步中提到了將Arduino代碼與BitVoicer集成的代碼。

在此之后,我們必須在BitVoicer窗口中獲得語音字及其映射的內容。對于這個項目,演講詞是‘現代藝術’和‘簡單藝術’。

命令‘MODERN ART’,映射到一個從油漆瓶中擠出3組油漆滴的功能。因此,與“SIMPLE ART”功能相比,我們在紙上獲得了更深的彩色圖案。

命令SIMPLE ART‘,僅丟棄2組油漆滴。

步驟6:工作和最終圖像的視頻

視頻顯示機器人使用聲控命令執行大理石繪畫。大理石畫可以在圖片中看到,它顯示了兩種不同顏色的畫作。

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

    關注

    189

    文章

    6497

    瀏覽量

    190558
  • 機械臂
    +關注

    關注

    13

    文章

    553

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    GZCOM-NET:為機械測試帶來高效無線解決方案!

    在智慧工廠中,機械的性能和安全性需通過靜態與動態測試來保障。批量化測試時,后臺需實時顯示數據曲線和異常數據。GZCOM-NET憑借高效穩定的無線傳輸,為機械測試提供可靠方案。行業背
    的頭像 發表于 06-20 11:36 ?310次閱讀
    GZCOM-NET:為<b class='flag-5'>機械</b><b class='flag-5'>臂</b>測試帶來高效無線解決方案!

    海康威視推出大模型機械防碰撞相機

    工業機械負載作業時,往往重達幾百斤甚至更重,提升效率的同時,如果它們“意外傷人”,后果不堪設想。
    的頭像 發表于 03-17 09:47 ?548次閱讀

    如何使用PLC控制myCobot 320機械

    根據持續的用戶反饋,目前市場對 PLC 與 myCobot 系統集成的需求很大,因此本文提供的案例介紹了如何使用 PLC(可編程邏輯控制器)來控制 myCobot 320 機械。本案例重點介紹
    的頭像 發表于 01-23 14:03 ?1078次閱讀
    如何使用PLC控制myCobot 320<b class='flag-5'>機械</b><b class='flag-5'>臂</b>

    使用myCobot 280機械結合ROS2系統搭建機械分揀站

    這篇文章是來自Automatic Addison的開源項目,已獲作者授權轉載自github。本項目的主要內容是使用myCobot 280機械結合ROS2系統搭建機械分揀站。
    的頭像 發表于 01-15 09:22 ?701次閱讀
    使用myCobot 280<b class='flag-5'>機械</b><b class='flag-5'>臂</b>結合ROS2系統搭建<b class='flag-5'>機械</b>分揀站

    深度解析!RK3568 加持機械是如何實現顏色識別與抓取的?

    一、產品簡介TL3568-PlusTEB人工智能實驗箱國產高性能處理器64位4核低功耗2.0GHz超高主頻1T超高算力NPU兼容鴻蒙等國產操作系統二、實驗目的1、了解機械識別顏色抓取積木的基本流程
    的頭像 發表于 01-15 08:07 ?640次閱讀
    深度解析!RK3568 加持<b class='flag-5'>機械</b><b class='flag-5'>臂</b>是如何實現顏色識別與抓取的?

    RK3568國產實驗箱+人工智能機械:跳舞、疊羅漢、夾方塊、積木搬運案例全解!

    基于語音控制實現機械特定動作的方法。三、實驗原理程序功能通過語音控制機械實現特定復雜動作:機械
    的頭像 發表于 12-12 19:01 ?1050次閱讀
    RK3568國產實驗箱+人工智能<b class='flag-5'>機械</b><b class='flag-5'>臂</b>:跳舞、疊羅漢、夾方塊、積木搬運案例全解!

    凌科電氣新品發布:揭秘機械高可靠連接器解決方案

    機械因其卓越的精準性、智能化水平和高效工作能力,廣泛應用于工業制造、物流倉儲、醫療手術等多個領域。其中,在機械高效運行的背后,工業級連接器在保障設備穩定運行方面發揮著重要作用。
    的頭像 發表于 11-20 11:42 ?459次閱讀

    “雙保險”鎖緊機制:YM28系列連接器為機械提供高牢靠的大電流連接

    機械因其精準性、智能性、高效性等特點,在工業制造、物流倉儲、醫療手術等領域如魚得水、應用甚廣。在機械大展身手的背后,其實有一股不可忽視的力量在支撐,那就是承擔電氣化連接的工業級連接
    的頭像 發表于 11-20 01:03 ?623次閱讀
    “雙保險”鎖緊機制:YM28系列連接器為<b class='flag-5'>機械</b><b class='flag-5'>臂</b>提供高牢靠的大電流連接

    機械的高效運作,連接器起關鍵作用

    ? ? ?機械是靈活且可編程的自動化設備,在工業生產中發揮著至關重要的作用。其廣泛的應用領域涵蓋了裝配與搬運、焊接與噴涂、檢測與測量、碼垛等多個環節,極大地提升了生產效率與質量,并成功替代人工完成
    的頭像 發表于 11-11 18:07 ?802次閱讀

    工業產線機械數字孿生 流程工業應用

    圖撲軟件根據實驗室構建的工業產線機械數字孿生環境,對數字孿生關鍵構件、工作過程進行驗證,形成此文,與大家共同探討數字孿生系統構建的關鍵技術。
    的頭像 發表于 11-04 14:15 ?699次閱讀
    工業產線<b class='flag-5'>機械</b><b class='flag-5'>臂</b>數字孿生   流程工業應用

    【原創】 drawbot 平面機械scara寫字畫畫機器人DIY教程貼

    自行下載drawbot by MG-mossbot - Thingiverse需要用到的軟件如下:Xloader固件燒錄軟件 用于給控制板燒錄程序機械大師上位機(作者原創軟件) 用于給機械
    發表于 08-30 11:54

    OrangePi AIpro應用:機械應用開發指南

    2024世界人工智能大會上,香橙派攜OrangePiAIpro20T在世博展覽館H1-A301展區亮相,給大家帶來AI+互動的沉浸式體驗。其中,搭載OrangePiAIpro開發板的智能機械吸引了
    的頭像 發表于 08-19 16:42 ?1026次閱讀
    OrangePi AIpro應用:<b class='flag-5'>機械</b><b class='flag-5'>臂</b>應用開發指南

    工業機器人和機械的設計、功能和應用有哪些區別?

    機械是一種由多個關節連接而成的機械結構,類似于人的胳膊。它通常具有可旋轉或可伸縮的關節,使其能夠在空間中執行精確的定位和操作。機械通常由
    的頭像 發表于 08-16 09:43 ?1024次閱讀

    奧比中光推出2.0版大模型機械

    近期,奧比中光研發團隊融合前沿多模態大模型技術,推出最新2.0版大模型機械演示方案。新方案搭載公司最新深度相機Gemini 335L和Femto Bolt,能夠基于語音指令,自動執行沏茶、插花、滴
    的頭像 發表于 07-19 16:50 ?1150次閱讀
    主站蜘蛛池模板: 舒城县| 嘉善县| 文水县| 北票市| 鄂伦春自治旗| 洛隆县| 毕节市| 定陶县| 隆德县| 徐州市| 富源县| 建德市| 泸水县| 武乡县| 金溪县| 贞丰县| 丁青县| 格尔木市| 安阳市| 汉中市| 贡觉县| 彰化市| 松阳县| 来凤县| 轮台县| 中阳县| 屯留县| 安国市| 海林市| 龙南县| 云梦县| 会理县| 万山特区| 山阴县| 金昌市| 米林县| 合阳县| 炉霍县| 镇康县| 巧家县| 安西县|