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

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

3天內不再提示

Arduino旋轉編碼器的教程

454398 ? 來源:網絡整理 ? 作者:佚名 ? 2019-10-31 08:59 ? 次閱讀

步驟1:旋轉編碼器的脈沖流

Arduino旋轉編碼器的教程

以下旋轉編碼器產生的脈沖流與上圖類似。

步驟2:旋轉編碼器的引腳排列

說明:

GND-》 GND

+-》 + 5V

SW -》按下時旋轉編碼器的按鈕

DT-》數據

CLK-》數據2

DT之一或CLK引腳必須連接到Arduino Uno的中斷腳,或者DT和CLK都連接到中斷引腳。

步驟3:示意圖

GNDàGND Arduino Uno

+à+ 5V Arduino Uno

SWàPIN 4 Arduino Uno

DT àPIN 3 Arduino Uno

CLKàPIN2 Arduino Uno

第4步:代碼

在以下教程中,PI將用作中斷Arduino Uno的N 2,而PIN 3僅用作常規(guī)輸入。

#define encoder0PinA 2

#define encoder0PinB 3

#define encoder0Btn 4

int encoder0Pos = 0;

void setup() {

Serial.begin(9600);

pinMode(encoder0PinA, INPUT_PULLUP);

pinMode(encoder0PinB, INPUT_PULLUP);

pinMode(encoder0Btn, INPUT_PULLUP);

attachInterrupt(0, doEncoder, CHANGE);

}

int valRotary,lastValRotary;

void loop() {

int btn = digitalRead(encoder0Btn);

Serial.print(btn);

Serial.print(“ ”);

Serial.print(valRotary);

if(valRotary》lastValRotary)

{

Serial.print(“ CW”);

}

if(valRotary {

Serial.print(“ CCW”);

}

lastValRotary = valRotary;

Serial.println(“ ”);

delay(250);

}

void doEncoder()

{

if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB))

{

encoder0Pos++;

}

else

{

encoder0Pos--;

}

valRotary = encoder0Pos/2.5;

}

上面草圖的第10行用于啟用Arduino Uno的2號插針的中斷。在“ doEncoder”功能中,由旋轉編碼器計算得出。如果DT和CLK(Arduino Uno的引腳中斷)的值相同,則“ encoder0Pos”變量將增加/添加,除此條件外,“ encoder0Pos”變量將減少。

步驟5:說明

ValRotary值是已運行的步驟數的值。 ValRotary值由旋轉傳感器編碼器讀數值除以2.5獲得。從測試中獲得的值為2.5,因為旋轉編碼器的一個步驟可能會超過1,因此請根據每個步長以及讀取延遲的增加將其值除以2.5。

第19-25行是確定旋轉旋轉編碼器是CW還是CCW的程序。第19-25行的解釋是當前的旋轉編碼器讀數大于先前的旋轉數據,然后表示為CW。

步驟6:輸出

責任編輯:wv

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

    關注

    45

    文章

    3643

    瀏覽量

    134531
  • Arduino
    +關注

    關注

    188

    文章

    6469

    瀏覽量

    187109
收藏 人收藏

    評論

    相關推薦

    二進制編碼器與絕對編碼器的區(qū)別

    稱為增量編碼器,是一種相對編碼器。它通過檢測軸的旋轉方向和步數來提供位置信息。 工作原理 二進制編碼器的工作原理基于脈沖計數。當軸旋轉時,
    的頭像 發(fā)表于 11-06 09:54 ?492次閱讀

    旋轉編碼器的類型以及選擇與設計注意要點

    2024-07-23 [旋轉編碼器]是一種能夠將旋轉位置變化轉換為數字信號輸出的器件,它們在許多行業(yè)和應用中都有廣泛的應用,包括工業(yè)自動化、機器人技術、汽車、消費電子產品和醫(yī)療設備等領域。 在許多
    的頭像 發(fā)表于 10-02 16:52 ?344次閱讀
    <b class='flag-5'>旋轉</b><b class='flag-5'>編碼器</b>的類型以及選擇與設計注意要點

    旋轉編碼器可以收集并發(fā)出什么信號,旋轉編碼器信號異常怎么處理

    旋轉編碼器是一種精密的測量裝置,主要用于將旋轉運動轉換為可測量的電信號。它可以收集并發(fā)出多種信號,但主要的是與旋轉運動相關的位置、速度或角度等物理量的信號。具體來說,
    的頭像 發(fā)表于 10-01 16:55 ?589次閱讀

    增量旋轉編碼器

    電子發(fā)燒友網站提供《增量旋轉編碼器.pdf》資料免費下載
    發(fā)表于 09-03 11:51 ?0次下載
    增量<b class='flag-5'>旋轉</b><b class='flag-5'>編碼器</b>

    Arduino旋轉編碼器設計 旋轉編碼器的工作原理和特點

    旋轉編碼器(Rotary Encoder),也稱為軸編碼器,是一種將旋轉的機械位移量轉換為電氣信號的傳感。這些電氣信號經過處理后,可以用于
    的頭像 發(fā)表于 07-04 17:17 ?2638次閱讀
    帶<b class='flag-5'>Arduino</b>的<b class='flag-5'>旋轉</b><b class='flag-5'>編碼器</b>設計 <b class='flag-5'>旋轉</b><b class='flag-5'>編碼器</b>的工作原理和特點

    旋轉編碼器控制電機速度

    旋轉編碼器控制電機速度
    發(fā)表于 06-24 09:16 ?4次下載

    伺服電機編碼器的型號怎么看

    伺服電機編碼器是伺服電機的重要組成部分,它能夠將電機的旋轉角度、速度等信息轉換為電信號,為控制系統(tǒng)提供精確的位置和速度反饋。 一、伺服電機編碼器的分類 1.1 增量式編碼器 增量式
    的頭像 發(fā)表于 06-17 11:07 ?1924次閱讀

    旋轉編碼器在PLC中怎么編程

    在工業(yè)自動化領域,旋轉編碼器與可編程邏輯控制(PLC)的結合應用極為廣泛。旋轉編碼器通過提供精確的旋轉
    的頭像 發(fā)表于 06-17 09:24 ?1673次閱讀

    旋轉編碼器的工作原理和特點

    旋轉編碼器,作為現代工業(yè)自動化系統(tǒng)中不可或缺的一部分,其工作原理和特點對于理解其應用及優(yōu)化系統(tǒng)性能具有重要意義。本文將詳細闡述旋轉編碼器的工作原理,并深入探討其特點,旨在為讀者提供
    的頭像 發(fā)表于 05-29 16:01 ?1263次閱讀

    旋轉編碼器在數控機床中的應用

    隨著現代制造業(yè)的快速發(fā)展,數控機床作為高精度加工設備,其性能要求日益提高。旋轉編碼器作為數控機床中的關鍵部件,對于提高機床的精度、效率和自動化水平具有重要意義。本文將對旋轉編碼器在數控
    的頭像 發(fā)表于 05-29 16:00 ?1067次閱讀

    旋轉編碼器的常見類型

    在工業(yè)自動化和精密測量領域中,旋轉編碼器是一種不可或缺的設備。它能夠將旋轉位置或旋轉量轉換成模擬或數字信號,為控制系統(tǒng)提供精確的位置和速度信息。隨著技術的不斷發(fā)展,
    的頭像 發(fā)表于 05-29 15:59 ?934次閱讀

    旋轉編碼器的種類和接線方法

    旋轉編碼器,作為現代工業(yè)領域中不可或缺的重要傳感,廣泛應用于各種機械設備、自動化系統(tǒng)以及測量儀器中。它能夠準確測量物體的轉速、角度等參數,并轉換成相應的電信號輸出,為控制系統(tǒng)提供精確的反饋信息。本文將詳細介紹
    的頭像 發(fā)表于 05-24 14:50 ?1721次閱讀

    編碼器分辨率是什么意思 編碼器分辨率和脈沖數的關系

    按照編碼器支持的分辨率可以把編碼器分成標清編碼器、高清編碼器、全高清編碼器,分辨率越高幀率越高視頻就越清楚。 1.
    的頭像 發(fā)表于 02-21 18:07 ?4247次閱讀
    <b class='flag-5'>編碼器</b>分辨率是什么意思 <b class='flag-5'>編碼器</b>分辨率和脈沖數的關系

    如何將增量旋轉編碼器Arduino連接

    在本教程中,您將學習如何將增量旋轉編碼器Arduino連接,以讀取旋鈕的運動。這對于在機器人和其他應用程序中創(chuàng)建用戶界面或讀取機械位置非常有用。
    的頭像 發(fā)表于 02-11 10:00 ?1441次閱讀
    如何將增量<b class='flag-5'>旋轉</b><b class='flag-5'>編碼器</b>與<b class='flag-5'>Arduino</b>連接

    旋轉編碼器的工作原理,旋轉編碼器的作用功能及應用

    旋轉編碼器是用于測量軸或軸旋轉的組件。它們通常用于音頻設備、DIY 游戲控制中的音量旋鈕,或用作不同 Arduino 或 Raspberr
    的頭像 發(fā)表于 02-11 09:53 ?5739次閱讀
    <b class='flag-5'>旋轉</b><b class='flag-5'>編碼器</b>的工作原理,<b class='flag-5'>旋轉</b><b class='flag-5'>編碼器</b>的作用功能及應用