標題: 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://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
免费精品视频
|
九一九色国产
|
久久久国产一区二区三区
|
国产伦精品一区二区
|
视频一二区
|
国产成人综合在线
|
99久久久国产精品
|
久久人人视频
|
日韩国产精品视频
|
99精品色|
一区二区三区在线免费
|
久热伊人
|
一级国产片
|
av少妇|
久久er99热精品一区二区
|
黄色av免费在线观看
|
一区二区三区高清
|
久久久久久久国产精品
|
国产高潮在线观看
|
婷婷综合色
|
黄色片网站免费
|
日韩一区精品
|
超碰91在线|
久久久久久久综合
|
日韩欧美在线视频
|
黄色大片在线免费观看
|
毛片网站免费观看
|
国产精品久久久久久久
|
中文字幕在线免费观看视频
|
婷婷在线视频
|
天天干天天操天天爽
|
国产日韩欧美一区
|
九九超碰
|
欧美一级片在线观看
|
九色av|
国产精品偷乱一区二区三区
|
在线观看av网站
|
一区二区福利视频
|
视频一区二区三区在线观看
|
九九精品在线视频
|
国产在线不卡
|