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

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

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

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

怎樣用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

它是如何工作的?

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

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

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) ;

}

}

}

代碼說明

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

#include

Servo servo1;

Servo servo2;

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

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) ;

在循環(huán)函數(shù)中,我們從操縱桿模塊中讀取水平和垂直位置的值并將這些保存在變量中。然后我們應(yīng)用了一個條件,如果水平位置的值小于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) ;

}

}

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

    關(guān)注

    88

    文章

    2120

    瀏覽量

    59692
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192272
  • 操縱桿
    +關(guān)注

    關(guān)注

    0

    文章

    69

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    無線比例電機轉(zhuǎn)速遙控器的設(shè)計

    介紹的是無線電遙控中最新的一款無線比例電機轉(zhuǎn)速遙控器,比例遙控,是指受控制的模型的動作幅度與操縱者轉(zhuǎn)動發(fā)射機操縱桿的動作所成的比例關(guān)系。一套完整的控設(shè)備應(yīng)該具有:發(fā)射機、接收機、
    發(fā)表于 07-10 16:56

    電機控制器與伺服系統(tǒng)的關(guān)系

    在自動化控制系統(tǒng)中,電機控制器和伺服系統(tǒng)是實現(xiàn)精確運動控制的關(guān)鍵組件。電機
    的頭像 發(fā)表于 01-22 09:35 ?884次閱讀

    伺服電機的工作原理和控制方式

    伺服電機的工作原理 伺服電機是一種能夠?qū)㈦娦盘栟D(zhuǎn)換為精確的機械運動的設(shè)備。它的工作原理基于電磁感應(yīng)原理,通過精確控制
    的頭像 發(fā)表于 12-05 15:18 ?3121次閱讀

    TMAG5170操縱桿附件組裝指南

    電子發(fā)燒友網(wǎng)站提供《TMAG5170操縱桿附件組裝指南.pdf》資料免費下載
    發(fā)表于 11-28 14:28 ?0次下載
    TMAG5170<b class='flag-5'>操縱桿</b>附件組裝指南

    其利天下技術(shù)·伺服電機編碼器的作用及工作原理·低壓伺服電機驅(qū)動方案開發(fā)

    電機系統(tǒng)中起著至關(guān)重要的作用,是實現(xiàn)高效、穩(wěn)定和精確控制的核心組件。編碼器的作用是什么呢?它的工作原理又是怎樣的?其利天下·伺服電機驅(qū)動方案
    的頭像 發(fā)表于 11-02 10:38 ?1028次閱讀
    其利天下技術(shù)·<b class='flag-5'>伺服</b><b class='flag-5'>電機</b>編碼器的作用及工作原理·低壓<b class='flag-5'>伺服</b><b class='flag-5'>電機</b>驅(qū)動方案開發(fā)

    伺服電機原理及控制應(yīng)用

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

    伺服電機有什么,伺服電機可以當(dāng)普通電機

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

    伺服電機控制方式有哪些?舉例分析

    伺服電機是一種高精度的電機,廣泛應(yīng)用于工業(yè)自動化、機器人、精密機械等領(lǐng)域。伺服電機控制方式多種
    的頭像 發(fā)表于 10-22 11:13 ?1424次閱讀

    什么是伺服電機?伺服電機的工作原理是什么?

    伺服電機是一種高精度的電機,廣泛應(yīng)用于自動化控制、機器人、精密機械等領(lǐng)域。它能夠根據(jù)輸入的控制信號,精確地
    的頭像 發(fā)表于 10-22 10:58 ?2214次閱讀

    步進(jìn)電機伺服控制方法有哪些

    步進(jìn)電機伺服控制方法主要包括以下幾種: 1. 位置模式 定義 :在位置模式下,步進(jìn)伺服電機根據(jù)輸入的位置指令,通過閉環(huán)
    的頭像 發(fā)表于 09-04 09:48 ?1183次閱讀

    步進(jìn)電機伺服控制系統(tǒng)的作用

    步進(jìn)電機伺服控制系統(tǒng)是一種精密的電機控制系統(tǒng),它通過精確控制
    的頭像 發(fā)表于 09-04 09:46 ?1231次閱讀

    怎樣用THS3201實現(xiàn)輸出功率可調(diào)?

    怎樣用THS3201實現(xiàn)輸出功率可調(diào)?
    發(fā)表于 08-26 08:28

    PLSY指令怎樣控制伺服正反轉(zhuǎn)

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

    伺服電機怎么選型和計算(伺服電機電流環(huán)控制原理)

    在現(xiàn)代工業(yè)自動化領(lǐng)域,伺服電機扮演著精密控制設(shè)備中不可或缺的角色。其卓越的精度和響應(yīng)速度是實現(xiàn)精密控制的關(guān)鍵因素。因此,正確的選型和精確的計算對于保障設(shè)備的性能和系統(tǒng)的穩(wěn)定性具有決定性
    的頭像 發(fā)表于 08-02 08:37 ?1005次閱讀
    <b class='flag-5'>伺服</b><b class='flag-5'>電機</b>怎么選型和計算(<b class='flag-5'>伺服</b><b class='flag-5'>電機</b>電流環(huán)<b class='flag-5'>控制</b>原理)

    怎樣用Arduino測試鋰電池容量

    本文詳細(xì)介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼。
    的頭像 發(fā)表于 07-30 09:14 ?1680次閱讀
    <b class='flag-5'>怎樣用</b><b class='flag-5'>Arduino</b>測試鋰電池容量