久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1961|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

37種傳感器(七)之旋轉(zhuǎn)編碼傳感器模塊+Stduino Nano&UNO

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
說明:
旋轉(zhuǎn)編碼器可通過旋轉(zhuǎn)來計數(shù)(即可從0開始不但加一或者減一,計數(shù)范圍沒有限制),實(shí)現(xiàn)精確數(shù)字的調(diào)節(jié)。電機(jī)角度等需要特別精確調(diào)節(jié)的元器件可以利用編碼器來實(shí)現(xiàn)精細(xì)控制。配合旋轉(zhuǎn)編碼器上的按鍵,可以復(fù)位到初始狀態(tài),即從0開始計數(shù)。

依照內(nèi)部數(shù)字讀取辦法,編碼器能夠分為機(jī)械式和非機(jī)械式兩種:機(jī)械式選用電刷輸出,電刷接觸到導(dǎo)電區(qū)則引腳輸出高電平,接觸到絕緣區(qū)則為低電平;非機(jī)械式的承受靈敏元件是光敏元件或磁敏元件,選用光敏元件時以透光區(qū)和不透光區(qū)來表明輸出是“高”還是“低”。
目前常用的增量式編碼器全部為機(jī)械式編碼器,優(yōu)點(diǎn)在于好用且成本低,高端的一般為非機(jī)械光電式的。我們采用的模塊也使用得機(jī)械式。


如果你手上有一個旋轉(zhuǎn)編碼器,你可以試著擰一下:并不是連續(xù)旋轉(zhuǎn),而是擰的得時候會明顯感受到不連續(xù),一下一下的。因此,我們可以實(shí)現(xiàn)精確的計數(shù),這與電位器是不同的
那么問題來了,怎么計數(shù)呢?我們可以做以下規(guī)定:
以順時針方向?yàn)檎餐槃葆樂较蜣D(zhuǎn)一下,則計數(shù)加一,同理轉(zhuǎn)N下,則計數(shù)加n。反之,如果向逆時針轉(zhuǎn)一下,則計數(shù)減一,同理轉(zhuǎn)N下,則計數(shù)減n。
逆時針同理。
現(xiàn)在問題又來了,旋轉(zhuǎn)編碼器怎么告訴微處理器,我的旋轉(zhuǎn)方向是什么呢?這些我們打開旋轉(zhuǎn)編碼器的微觀結(jié)構(gòu):
實(shí)際上旋轉(zhuǎn)編碼器內(nèi)部結(jié)構(gòu)如下所示。基本上由絕緣圓盤(灰色)和放置在圓盤頂部的導(dǎo)電墊(藍(lán)色)組成。
這些導(dǎo)電墊分離放置,因此當(dāng)旋轉(zhuǎn)旋鈕時,旋轉(zhuǎn)一單位,原先空著的部分會被導(dǎo)電墊填充,而導(dǎo)電墊離開的位置則重新恢復(fù)絕緣。因此,當(dāng)導(dǎo)電墊通過A和B輸出引腳時,引腳會輸出高電平信號,反之則不會輸出高電平。因此只要判斷引腳信號與上一次是否相同,就能得知是否發(fā)生了旋轉(zhuǎn)。
如下圖,每一次旋轉(zhuǎn)的時候,當(dāng)順時針旋轉(zhuǎn),A總是先比B接觸到導(dǎo)電墊,或者離開導(dǎo)電墊,因此A總是比B先改變電平輸出狀態(tài),此時當(dāng)A發(fā)生變化后一定與B信號不同。下圖為兩次順時針旋轉(zhuǎn)時,A、B電平變化(紅色為輸出高電平信號)




而當(dāng)逆時針旋轉(zhuǎn)時,B先于A轉(zhuǎn)換電平,因此當(dāng)檢測到A發(fā)生變化時,此時B已經(jīng)完成了信號轉(zhuǎn)換,此時A、B信號相同。

實(shí)驗(yàn)?zāi)康模?br /> 利用旋轉(zhuǎn)編碼器實(shí)現(xiàn)計數(shù)。

器材:
StduinoUno/Nano;杜邦線;旋轉(zhuǎn)編碼器模塊。

電路連接:



代碼展示:

#define outputA 6
#define outputB 7
int counter = 0;
int aState;
int aLastState;  
void setup()
{
   pinMode (outputA,INPUT);
   pinMode (outputB,INPUT);
   
   Serial.begin (9600);
   
   aLastState = digitalRead(outputA);   
}
void loop()
{
aState = digitalRead(outputA); // 讀取當(dāng)前A電平
//如果當(dāng)前A電平與上一次(初始)A電平不同,說明發(fā)生了旋轉(zhuǎn)
if (aState != aLastState)
{     
// 如果A\B電平不同,說明A先于B變化,因此是順時針旋轉(zhuǎn)。順時針旋轉(zhuǎn)則計數(shù)加一;反之則減一
if (digitalRead(outputB) != aState)
{
counter ++;
} else
{
      counter --;
     }
    Serial.print("Position: ");
    Serial.println(counter);
  }
  aLastState = aState; //更新aLastState狀態(tài)的記錄




實(shí)驗(yàn)效果:
當(dāng)順時針旋轉(zhuǎn)的時候,計數(shù)數(shù)目逐次加一;當(dāng)逆時針旋轉(zhuǎn)時,技術(shù)數(shù)目逐次減一。下面所示為順時針旋轉(zhuǎn)八個單位的過程中串口輸出情況。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩久久 | 91中文字幕在线 | 欧美精品乱码久久久久久按摩 | 久久久久99| 一区二区三区高清不卡 | 五月婷婷亚洲 | 精品一区二区久久久久久久网站 | 国产一级在线 | 国产一区二区视频免费在线观看 | 日韩一二区 | 蜜桃在线播放 | 午夜一级做a爰片久久毛片 精品综合 | 免费一级欧美在线观看视频 | 欧美一级黄色片免费观看 | 午夜精品久久 | 波多野结衣先锋影音 | 欧美一区二区三区在线观看视频 | 亚洲高清免费观看 | 在线永久看片免费的视频 | 国产美女视频黄 | 国产一级在线观看 | 手机三级电影 | 日本又色又爽又黄的大片 | 国产亚洲精品综合一区 | 久久精品久久精品 | 国产精品2 | 国产精品乱码一二三区的特点 | 成人影院一区二区三区 | 国产黄色在线观看 | 国产精品视频一区二区三区四蜜臂 | 亚洲三级av| 精品人伦一区二区三区蜜桃网站 | 欧洲一区二区三区 | 最新免费av网站 | 欧美free性| 激情 一区| 亚洲精品黄色 | 中文亚洲视频 | 无吗视频 | 精品久久精品 | 亚洲精品国产成人 |