On Progress. Di baca pelan-pelan :'

Dependencies:   Motor PID QEI mbed

Fork of Riset-Odometry by Gustav Aditya Permana

Committer:
gustavaditya
Date:
Mon Nov 07 12:42:58 2016 +0000
Revision:
2:2a1e06b525dc
Parent:
1:f79d1d3f4c9a
On Progress

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gustavaditya 0:b455cd43929c 1 #ifndef OMNIPOS_H
gustavaditya 0:b455cd43929c 2 #define OMNIPOS_H
gustavaditya 0:b455cd43929c 3
gustavaditya 0:b455cd43929c 4 #include "mbed.h"
gustavaditya 2:2a1e06b525dc 5 #include "encoderKRAI.h"
gustavaditya 0:b455cd43929c 6
gustavaditya 0:b455cd43929c 7 #define diameterRoda 10
gustavaditya 0:b455cd43929c 8
gustavaditya 0:b455cd43929c 9 // Deklarasi variabel encoder
gustavaditya 2:2a1e06b525dc 10 // Lebih jelas baca file encoderKRAI.h
gustavaditya 2:2a1e06b525dc 11 encoderKRAI encoderDepan( D2, D3, 2000, encoderKRAI::X2_ENCODING); //inA, inB, pin Indeks (NC = tak ada), resolusi, pembacaan
gustavaditya 2:2a1e06b525dc 12 encoderKRAI encoderBelakang( D4, D5, 2000, encoderKRAI::X2_ENCODING);
gustavaditya 2:2a1e06b525dc 13 encoderKRAI encoderKanan( D6, D7, 2000, encoderKRAI::X2_ENCODING);
gustavaditya 2:2a1e06b525dc 14 encoderKRAI encoderKiri( D8, D9, 2000, encoderKRAI::X2_ENCODING);
gustavaditya 0:b455cd43929c 15
gustavaditya 0:b455cd43929c 16 class omniPos {
gustavaditya 0:b455cd43929c 17 public:
gustavaditya 0:b455cd43929c 18
gustavaditya 0:b455cd43929c 19 /** Dkiri untuk Motor 1
gustavaditya 0:b455cd43929c 20 * Dkanan untuk Motor 2
gustavaditya 0:b455cd43929c 21 * Bkanan untuk Motor 3
gustavaditya 0:b455cd43929c 22 * Bkiri untuk Motor 4
gustavaditya 0:b455cd43929c 23 * _________________
gustavaditya 0:b455cd43929c 24 * | DEPAN |
gustavaditya 0:b455cd43929c 25 * | 1. .2 |
gustavaditya 0:b455cd43929c 26 * | ` ` |
gustavaditya 0:b455cd43929c 27 * | . . |
gustavaditya 0:b455cd43929c 28 * | 4` `3 |
gustavaditya 0:b455cd43929c 29 * |_______________|
gustavaditya 0:b455cd43929c 30 *
gustavaditya 0:b455cd43929c 31 */
gustavaditya 0:b455cd43929c 32 typedef enum Wheel {
gustavaditya 0:b455cd43929c 33
gustavaditya 0:b455cd43929c 34 Dkiri,
gustavaditya 0:b455cd43929c 35 Dkanan,
gustavaditya 0:b455cd43929c 36 Bkanan,
gustavaditya 0:b455cd43929c 37 Bkiri
gustavaditya 0:b455cd43929c 38
gustavaditya 0:b455cd43929c 39 } Wheel;
gustavaditya 0:b455cd43929c 40
gustavaditya 0:b455cd43929c 41 // Membuat interface dari omniPos
gustavaditya 0:b455cd43929c 42 omniPos(Wheel wheel);
gustavaditya 0:b455cd43929c 43
gustavaditya 0:b455cd43929c 44 // Set center/pusat posisi omni.
gustavaditya 0:b455cd43929c 45 // Posisi sekarang saat di reset akan dijadikan pusat (0,0)
gustavaditya 0:b455cd43929c 46 void setCenter(void);
gustavaditya 0:b455cd43929c 47
gustavaditya 0:b455cd43929c 48 // Membaca posisi X-axis dari satu omni wheel
gustavaditya 0:b455cd43929c 49 float getX(void);
gustavaditya 0:b455cd43929c 50
gustavaditya 0:b455cd43929c 51 // Membaca posisi Y-axis dari satu omni wheel
gustavaditya 0:b455cd43929c 52 float getY(void);
gustavaditya 0:b455cd43929c 53
gustavaditya 0:b455cd43929c 54 // Membaca tetha atau sudut rotasi robot
gustavaditya 0:b455cd43929c 55 float getTetha(void);
gustavaditya 0:b455cd43929c 56
gustavaditya 0:b455cd43929c 57 // Membaca posisi 1 omni wheel ==> fi (rad)
gustavaditya 0:b455cd43929c 58 float getPos();
gustavaditya 0:b455cd43929c 59
gustavaditya 0:b455cd43929c 60 // Membaca kecepatan angular 1 omni wheel ==> fi dot (rad/s)
gustavaditya 0:b455cd43929c 61 float getVel(int delta_t);
gustavaditya 0:b455cd43929c 62 };
gustavaditya 0:b455cd43929c 63
gustavaditya 0:b455cd43929c 64 #endif