精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

怎樣用Arduino和操縱桿控制伺服電機

454398 ? 來源:工程師吳畏 ? 2019-08-01 14:24 ? 次閱讀

電路圖

這個項目的硬件部分非常容易制作。首先,將操縱桿模塊與Arduino連接。操縱桿模塊和Arduino的連接如下:

將操縱桿模塊上的VCC與Arduino上的5V引腳連接

將操縱桿模塊上的GND引腳與Arduino上的GND連接

將操縱桿模塊上的VER引腳與Arduino上的A0連接

將操縱桿模塊上的HOR引腳與Arduino上的A1連接

然后,將伺服電機與Arduino連接。使用Arduino的伺服電機的連接如下:

將兩個伺服電機上的黑線連接到Arduino上的GND

將兩個伺服電機上的紅線連接到Arduino上的5V引腳

將第一個電機上的黃色線連接到Arduino上的引腳8

將第二個電機上的黃色線連接到Arduino上的引腳9

它是如何工作的?

當操縱桿模塊在水平或垂直方向上移動,它給出0到1023之間的值。因此我們可以在代碼中應用一個條件,如果該值小于300或大于700,則伺服器將移動。

當操縱桿沿水平方向移動時,第一個伺服器將向右或向左移動,并在移動樂趣時移動在垂直方向上打勾,第二個伺服將向右或向左移動。

Arduino代碼

#include

Servo servo1;

Servo servo2;

int x_key = A1;

int y_key = A0;

int x_pos;

int y_pos;

int servo1_pin = 8;

int servo2_pin = 9;

int initial_position = 90;

int initial_position1 = 90;

void setup ( ) {

Serial.begin (9600) ;

servo1.attach (servo1_pin ) ;

servo2.attach (servo2_pin ) ;

servo1.write (initial_position);

servo2.write (initial_position1);

pinMode (x_key, INPUT) ;

pinMode (y_key, INPUT) ;

}

void loop ( ) {

x_pos = analogRead (x_key) ;

y_pos = analogRead (y_key) ;

if (x_pos 《 300){

if (initial_position 《 10) { } else{ initial_position = initial_position - 20; servo1.write ( initial_position ) ; delay (100) ; } } if (x_pos 》 700){

if (initial_position 》 180)

{

}

else{

initial_position = initial_position + 20;

servo1.write ( initial_position ) ;

delay (100) ;

}

}

if (y_pos 《 300){

if (initial_position1 《 10) { } else{ initial_position1 = initial_position1 - 20; servo2.write ( initial_position1 ) ; delay (100) ; } } if (y_pos 》 700){

if (initial_position1 》 180)

{

}

else{

initial_position1 = initial_position1 + 20;

servo2.write ( initial_position1 ) ;

delay (100) ;

}

}

}

代碼說明

首先,我們加入了伺服電機庫,這將有助于我們簡化代碼。然后,我們初始化了兩個變量,一個用于兩個伺服電機中的每一個,這將有助于我們使用庫函數。

#include

Servo servo1;

Servo servo2;

然后,我們將引腳初始化我們連接了操縱桿模塊上的垂直和水平引腳以及伺服系統上的信號引腳。

int x_key = A1;

int y_key = A0;

int x_pos;

int y_pos;

int servo1_pin = 8;

int servo2_pin = 9;

int initial_position = 90;

int initial_position1 = 90;

然后我們告訴Arduino我們連接了伺服引腳并移動了伺服電機在初始位置,即90度。之后,我們將操縱桿模塊上的垂直和水平引腳都聲明為輸入引腳。

servo1.attach (servo1_pin ) ;

servo2.attach (servo2_pin ) ;

servo1.write (initial_position);

servo2.write (initial_position1);

pinMode (x_key, INPUT) ;

pinMode (y_key, INPUT) ;

在循環函數中,我們從操縱桿模塊中讀取水平和垂直位置的值并將這些保存在變量中。然后我們應用了一個條件,如果水平位置的值小于300,那么第一個伺服將向右移動。

x_pos = analogRead (x_key) ;

y_pos = analogRead (y_key) ;

if (x_pos 《 300){

if (initial_position 《 10)

{

}

else{

initial_position = initial_position - 20;

servo1.write ( initial_position ) ;

delay (100) ;

}

}

如果水平位置的值大于700 ,然后伺服將向左移動。類似地,對于操縱桿模塊的垂直位置,如果該值小于300,則第二伺服將向左移動,如果該值大于700,則第二伺服將向右移動。

if (x_pos 》 700){

if (initial_position 》 180)

{

}

else{

initial_position = initial_position + 20;

servo1.write ( initial_position ) ;

delay (100) ;

}

}

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

    關注

    85

    文章

    2028

    瀏覽量

    57699
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186645
  • 操縱桿
    +關注

    關注

    0

    文章

    67

    瀏覽量

    8519
收藏 人收藏

    評論

    相關推薦

    伺服電機原理及控制應用

    伺服電機(Servo Motor)是一種高精度、高性能的電動機系統,廣泛應用于需要精確控制位置、速度和加速度的場合。 一、伺服電機的工作原理
    的頭像 發表于 10-22 16:58 ?243次閱讀

    伺服電機有什么,伺服電機可以當普通電機

    一、伺服電機的作用與特點 伺服電機(Servo motor),作為伺服系統中的關鍵組件,扮演著控制
    的頭像 發表于 10-22 16:16 ?235次閱讀

    PLSY指令怎樣控制伺服正反轉

    PLSY指令(PLC中的脈沖輸出指令)通常用于控制伺服電機的正反轉和速度。 1. 伺服電機概述 伺服
    的頭像 發表于 08-19 14:51 ?1188次閱讀

    伺服電機也是脈沖控制嗎為什么

    伺服電機是一種高精度、高響應速度的電機,廣泛應用于工業自動化、機器人、航空航天等領域。伺服電機控制
    的頭像 發表于 07-14 10:37 ?766次閱讀

    伺服驅動器對伺服電機控制要求

    伺服驅動器對伺服電機控制要求是一個復雜而深入的話題。以下是關于伺服驅動器對伺服
    的頭像 發表于 06-14 15:24 ?728次閱讀

    plc控制伺服電機的指令有哪些

    PLC(可編程邏輯控制器)是一種廣泛應用于工業自動化領域的控制設備。伺服電機作為執行元件,可以通過PLC進行精確控制。以下是關于PLC
    的頭像 發表于 06-12 11:39 ?2012次閱讀

    伺服電機可以當普通電機

    伺服電機和普通電機在很多方面都有所不同,因此不能簡單地將伺服電機當作普通電機使用。
    的頭像 發表于 06-12 10:05 ?1315次閱讀

    從虛擬操縱到現實駕駛 邁來芯磁力計技術引領無限可能

    磁強力計與三軸技術的完美結合,在游戲控制臺的操縱桿領域已大放異彩。
    的頭像 發表于 03-22 13:58 ?410次閱讀

    如何使用Arduino UNO板和電位器控制伺服電機

    在本Arduino伺服電機教程中,您將學習如何使用Arduino UNO板和電位器控制伺服
    的頭像 發表于 02-11 10:11 ?2577次閱讀
    如何使用<b class='flag-5'>Arduino</b> UNO板和電位器<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>電機</b>

    伺服電機最簡單控制方法

    伺服電機是一種特殊的電機,可以根據控制信號準確地控制角度、速度和位置。伺服
    的頭像 發表于 01-14 14:40 ?1859次閱讀

    伺服電機的三種控制方式 如何確定選擇伺服電機控制方式?

    伺服電機的三種控制方式 如何確定選擇伺服電機控制方式? 伺服
    的頭像 發表于 12-26 14:02 ?1541次閱讀

    怎樣驗證防爆伺服電機是否過沖呢?

    怎樣驗證防爆伺服電機是否過沖呢? 驗證防爆伺服電機是否過沖是非常重要的,因為過沖可能導致設備損壞、事故發生,甚至危及人員的生命安全。下面將詳
    的頭像 發表于 12-25 11:47 ?756次閱讀

    如何保持操縱機構絲的精度?

    滾珠絲操縱機構中的重要組成部分,可以傳遞較高的扭矩,并且具有低摩擦、高效率和快速響應的特性,這使得操縱機構能夠實現高速、高精度的運動控制,這對于整個系統的性能和精度具有決定性的影響
    的頭像 發表于 12-04 17:45 ?468次閱讀
    如何保持<b class='flag-5'>操縱</b>機構絲<b class='flag-5'>桿</b>的精度?

    如何在樹莓派Pico上使用搖桿?

    模擬二軸拇指操縱桿(俗稱搖桿)是一種模擬操縱桿,相比于「方向」操縱桿更加準確和靈敏,它帶有一個「按下選擇按鈕」。
    的頭像 發表于 11-28 09:20 ?2127次閱讀
    如何在樹莓派Pico上使用搖桿?

    怎樣用ADAU1761設計DRC的壓縮/擴展?

    請問怎樣用ADAU1761設計DRC的壓縮/擴展。我在SigmaStudio 4.5的模塊中只找到RMS。如果ADAU1761設計DRC要怎樣
    發表于 11-28 06:41