標題: arduino處理增量式光電編碼器并串口顯示轉動角度 [打印本頁]
作者: ai1161647920 時間: 2018-4-19 17:46
標題: arduino處理增量式光電編碼器并串口顯示轉動角度
一、線路連接
Vcc連接正極
0v連接負極
A、B各連接一個引腳(下面設置)
二、程序與結果
1. 程序
#define ENCODER_A_PIN 2
#define ENCODER_B_PIN 3
#define SWITCH_PIN 4
long position;
double corg = LOW;
void setup(){
//setup our pins 初始化我們的需要的引腳
pinMode(ENCODER_A_PIN, INPUT);
pinMode(ENCODER_B_PIN, INPUT);
pinMode(SWITCH_PIN, INPUT);
attachInterrupt(0, read_quadrature, CHANGE);
//setup our serial 初始化Arduino串口
Serial.begin(9600);
}
void loop(){
if (digitalRead(SWITCH_PIN) == LOW){
delay(10);
if (digitalRead(SWITCH_PIN) == LOW){
// Serial.println("Switch Pressed");
}
}
corg = position*360/1024;
Serial.println(corg, DEC);
delay(100);
}
void read_quadrature(){
// found a low-to-high on channel A ENA腳下降沿中斷觸發
if (digitalRead(ENCODER_A_PIN) == LOW){
// check channel B to see which way 查詢ENB的電平以確認是順時針還是逆時針旋轉
if (digitalRead(ENCODER_B_PIN) == LOW)
position++;
}
// found a high-to-low on channel A ENA腳上升沿中斷觸發
else{
// check channel B to see which way 查詢ENB的電平以確認是順時針還是逆時針旋轉
if (digitalRead(ENCODER_B_PIN) == LOW)
position--;
}
}
2. 結果
發布arduino程序,打開串口監視器,轉動編碼器可以得到相應的角度。
3. Matlab讀取角度值并做圖
s=serial('COM2');
set(s,'BaudRate',9600);
fopen(s);
interval=5000;
passo=1;
t=1;
x=0;
while(t<interval)
b=str2num(fgetl(s));
x=[x,b];
plot(x);
grid
t=t+passo;
drawnow;
end
fclose(s);
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
一区欧美
|
亚洲一区精品在线
|
欧美一级大片免费观看
|
午夜影院在线观看版
|
成人深夜福利
|
欧美日韩视频在线
|
一区二区高清在线观看
|
国产综合久久
|
国产精品久久久久久久久久久久冷
|
中文字幕一区二区三区在线乱码
|
久久久综合网
|
国产精品无码久久久久
|
成人激情视频免费在线观看
|
国产欧美日韩一区二区三区在线观看
|
中文字幕人成乱码在线观看
|
在线免费观看成人
|
在线中文字幕av
|
中文字幕一区二区三区不卡
|
国产女人叫床高潮大片免费
|
色就是色欧美
|
caoporn免费在线视频
|
亚洲精品视频久久
|
国产激情视频网址
|
成在线人视频免费视频
|
国产成人精品久久
|
国产一区二区
|
亚洲高清视频在线观看
|
欧美日韩亚洲系列
|
色综合成人网
|
99热这里都是精品
|
久久久国产网站
|
青青草综合网
|
免费av在线网站
|
黄 色 毛片免费
|
国产韩国精品一区二区三区
|
亚洲国产精品日本
|
欧美激情视频一区二区三区在线播放
|
色综合桃花网
|
国产精品揄拍一区二区久久国内亚洲精
|
亚洲国产一区二区三区在线观看
|
国产精品成人av
|