最終調整

Dependencies:   mbed AQM0802 CRotaryEncoder TB6612FNG

Committer:
yusaku0125
Date:
Mon Aug 26 04:57:20 2019 +0000
Revision:
2:a28ca7c25ed1
Parent:
1:19e2241a7aa7
Child:
3:e455433c8cae
test;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yusaku0125 0:df99e50ed3fd 1 //エンコーダの動作確認。
yusaku0125 0:df99e50ed3fd 2 //左右モータの回転数を検出するプログラム
yusaku0125 0:df99e50ed3fd 3 #include "mbed.h"
yusaku0125 0:df99e50ed3fd 4 #include "CRotaryEncoder.h"
yusaku0125 0:df99e50ed3fd 5
yusaku0125 1:19e2241a7aa7 6 #define PULSE_TO_UM 10 //エンコーダ1パルス当たりのタイヤ移動距離[um]
yusaku0125 1:19e2241a7aa7 7 //実測で値を調整する。
yusaku0125 1:19e2241a7aa7 8
yusaku0125 1:19e2241a7aa7 9
yusaku0125 0:df99e50ed3fd 10 Serial PC(USBTX,USBRX);
yusaku0125 0:df99e50ed3fd 11 CRotaryEncoder encoder_a(D1,D0); //モータAのエンコーダ
yusaku0125 0:df99e50ed3fd 12 CRotaryEncoder encoder_b(D11,D12); //モータBのエンコーダ
yusaku0125 0:df99e50ed3fd 13
yusaku0125 0:df99e50ed3fd 14
yusaku0125 0:df99e50ed3fd 15 int main(){
yusaku0125 0:df99e50ed3fd 16 int enc_count_a=0,enc_count_b=0; //エンコーダパルス数を格納
yusaku0125 1:19e2241a7aa7 17 int distance_a=0,distance_b=0; //タイヤ移動距離を格納[mm]
yusaku0125 0:df99e50ed3fd 18 while(1)
yusaku0125 0:df99e50ed3fd 19 {
yusaku0125 0:df99e50ed3fd 20 enc_count_a=encoder_a.Get(); //エンコーダパルス数を取得
yusaku0125 2:a28ca7c25ed1 21 enc_count_b=-encoder_b.Get();
yusaku0125 1:19e2241a7aa7 22 distance_a=(enc_count_a*PULSE_TO_UM)/1000; //移動距離をmm単位で格納
yusaku0125 1:19e2241a7aa7 23 distance_b=(enc_count_b*PULSE_TO_UM)/1000;
yusaku0125 1:19e2241a7aa7 24 PC.printf("dis_a:%d dis_b:%d\r\n",distance_a,distance_b);//表示
yusaku0125 0:df99e50ed3fd 25 wait(0.5);
yusaku0125 0:df99e50ed3fd 26 }
yusaku0125 0:df99e50ed3fd 27 }