Dependencies:   mbed Motordriver QEI

Committer:
Keisuke_Fujii
Date:
Thu Nov 10 13:29:43 2011 +0000
Revision:
1:19d647492936

        

Who changed what in which revision?

UserRevisionLine numberNew 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 );