Dependencies: mbed Motordriver QEI
library.h@1:19d647492936, 2011-11-10 (annotated)
- Committer:
- Keisuke_Fujii
- Date:
- Thu Nov 10 13:29:43 2011 +0000
- Revision:
- 1:19d647492936
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Keisuke_Fujii | 1:19d647492936 | 1 | #include "mbed.h" |
Keisuke_Fujii | 1:19d647492936 | 2 | #include "QEI.h" |
Keisuke_Fujii | 1:19d647492936 | 3 | #include "ClockControl.h" |
Keisuke_Fujii | 1:19d647492936 | 4 | |
Keisuke_Fujii | 1:19d647492936 | 5 | //Number of pulses in one revolution |
Keisuke_Fujii | 1:19d647492936 | 6 | #define PULSE 6144 //12(encorder_plse) * 16(gear_head) * 32(wheel) |
Keisuke_Fujii | 1:19d647492936 | 7 | #define LENGTH 4 //servo_number |
Keisuke_Fujii | 1:19d647492936 | 8 | |
Keisuke_Fujii | 1:19d647492936 | 9 | Serial device( p28, p27 ); //serial_PC |
Keisuke_Fujii | 1:19d647492936 | 10 | Serial servo( p9, p10 ); //serial_servo |
Keisuke_Fujii | 1:19d647492936 | 11 | QEI r_enc( p6, p5, NC, PULSE, QEI :: X4_ENCODING ); //encorder(right_motor) |
Keisuke_Fujii | 1:19d647492936 | 12 | QEI l_enc( p18, p17, NC, PULSE, QEI :: X4_ENCODING ); //encorder(left_motor) |
Keisuke_Fujii | 1:19d647492936 | 13 | PwmOut right_pwm( p22 ); //PWM(right_motor) |
Keisuke_Fujii | 1:19d647492936 | 14 | PwmOut left_pwm( p21 ); //PWM(left_motor) |
Keisuke_Fujii | 1:19d647492936 | 15 | DigitalOut right_P( p7 ); //H bridge(right_motor) |
Keisuke_Fujii | 1:19d647492936 | 16 | DigitalOut right_N( p8 ); //H bridge(right_motor) |
Keisuke_Fujii | 1:19d647492936 | 17 | DigitalOut left_P( p15 ); //H bridge(left_motor) |
Keisuke_Fujii | 1:19d647492936 | 18 | DigitalOut left_N( p16 ); //H bridge(left_motor) |
Keisuke_Fujii | 1:19d647492936 | 19 | DigitalOut enable( p19 ); //Enable_pin(motor_driver) |
Keisuke_Fujii | 1:19d647492936 | 20 | PwmOut led1( p23 ); //LED for observation of the robot |
Keisuke_Fujii | 1:19d647492936 | 21 | PwmOut led2( p24 ); //LED for observation of the robot |
Keisuke_Fujii | 1:19d647492936 | 22 | |
Keisuke_Fujii | 1:19d647492936 | 23 | //motor.h |
Keisuke_Fujii | 1:19d647492936 | 24 | void qei( void ); |
Keisuke_Fujii | 1:19d647492936 | 25 | void move_f( double, double ); |
Keisuke_Fujii | 1:19d647492936 | 26 | void move_b( double, double ); |
Keisuke_Fujii | 1:19d647492936 | 27 | void turn_r( double, double ); |
Keisuke_Fujii | 1:19d647492936 | 28 | void turn_l( double, double ); |
Keisuke_Fujii | 1:19d647492936 | 29 | void stop( void ); |
Keisuke_Fujii | 1:19d647492936 | 30 | |
Keisuke_Fujii | 1:19d647492936 | 31 | //servo.h |
Keisuke_Fujii | 1:19d647492936 | 32 | short ID_num[LENGTH] = { 0x01, 0x02, 0x03, 0x04 }; |
Keisuke_Fujii | 1:19d647492936 | 33 | short degree[LENGTH] = { 0, 1500, -1500, 0 }; |
Keisuke_Fujii | 1:19d647492936 | 34 | |
Keisuke_Fujii | 1:19d647492936 | 35 | void control_servo( void ); |
Keisuke_Fujii | 1:19d647492936 | 36 | void cal_deg( short, short *, short * ); |
Keisuke_Fujii | 1:19d647492936 | 37 | void save( short ); |
Keisuke_Fujii | 1:19d647492936 | 38 | short cal_sum( short *, int ); |
Keisuke_Fujii | 1:19d647492936 | 39 | void id_set( void ); |