sebastian martinez / Mbed 2 deprecated Movimiento_8Servos

Dependencies:   mbed

Fork of 01-04_Primer_Avance by sebastian martinez

Committer:
sebasmartinez
Date:
Fri Sep 07 03:42:26 2018 +0000
Revision:
3:60722da62531
Parent:
2:10956b8ceffb
Child:
4:ba51736778e1
v2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabeltranm 0:89b318e49395 1
fabeltranm 1:526bdd5faa37 2 #include "mover.h"
fabeltranm 0:89b318e49395 3 #include "mbed.h"
fabeltranm 0:89b318e49395 4 #include "math.h"
fabeltranm 0:89b318e49395 5
fabeltranm 0:89b318e49395 6
sebasmartinez 3:60722da62531 7 PwmOut Servo1(PA_1);
sebasmartinez 3:60722da62531 8 PwmOut Servo2(PB_8);
sebasmartinez 3:60722da62531 9 PwmOut Servo3(PB_14);
sebasmartinez 3:60722da62531 10 PwmOut Servo4(PB_15);
sebasmartinez 3:60722da62531 11 PwmOut Servo5(PA_8);
sebasmartinez 3:60722da62531 12 PwmOut Servo6(PB_6);
sebasmartinez 3:60722da62531 13 PwmOut Servo7(PA_9);
sebasmartinez 3:60722da62531 14 PwmOut Servo8(PA_10);
fabeltranm 0:89b318e49395 15
fabeltranm 1:526bdd5faa37 16
fabeltranm 0:89b318e49395 17 uint8_t ss_time=50; // tiempo de espera para moverse 1 mm en microsegundos
fabeltranm 0:89b318e49395 18
fabeltranm 0:89b318e49395 19 void put_sstime(uint8_t vtime){
fabeltranm 0:89b318e49395 20 ss_time=vtime;
fabeltranm 0:89b318e49395 21
fabeltranm 0:89b318e49395 22 }
fabeltranm 0:89b318e49395 23
fabeltranm 0:89b318e49395 24 int coord2us(float coord)
fabeltranm 0:89b318e49395 25 {
fabeltranm 0:89b318e49395 26 if(0 <= coord <= MAXPOS)
sebasmartinez 3:60722da62531 27 return int(500+coord*2000/180);// u6
sebasmartinez 3:60722da62531 28 return 500;
sebasmartinez 3:60722da62531 29 /*
sebasmartinez 3:60722da62531 30 Secuencia 0, 180, 135, 90, 45, 0.
sebasmartinez 3:60722da62531 31 FF 01 01 00 FE FF 01 01 B4 FE FF 01 01 87 FE FF 01 01 5A FE FF 01 01 2D FE FF 01 01 00 FE
sebasmartinez 3:60722da62531 32 Grados: 180-B4, 135-87, 90-5A, 45-2D, 0-00;
sebasmartinez 3:60722da62531 33 */
fabeltranm 0:89b318e49395 34 }
fabeltranm 0:89b318e49395 35
fabeltranm 1:526bdd5faa37 36
fabeltranm 0:89b318e49395 37
fabeltranm 0:89b318e49395 38
fabeltranm 0:89b318e49395 39
fabeltranm 1:526bdd5faa37 40 void mover_ser(uint8_t motor, uint8_t pos){
fabeltranm 0:89b318e49395 41
sebasmartinez 3:60722da62531 42 int pulseX = coord2us(pos);
sebasmartinez 3:60722da62531 43
sebasmartinez 2:10956b8ceffb 44 switch ( motor ) {
sebasmartinez 2:10956b8ceffb 45
sebasmartinez 2:10956b8ceffb 46 case 0x01:
sebasmartinez 2:10956b8ceffb 47 Servo1.pulsewidth_us(pulseX);
sebasmartinez 2:10956b8ceffb 48 break;
sebasmartinez 2:10956b8ceffb 49 case 0x02:
sebasmartinez 3:60722da62531 50 Servo2.pulsewidth_us(pulseX);
sebasmartinez 2:10956b8ceffb 51 break;
sebasmartinez 2:10956b8ceffb 52 case 0x03:
sebasmartinez 2:10956b8ceffb 53 Servo3.pulsewidth_us(pulseX);
sebasmartinez 2:10956b8ceffb 54 break;
sebasmartinez 2:10956b8ceffb 55 case 0x04:
sebasmartinez 2:10956b8ceffb 56 Servo4.pulsewidth_us(pulseX);
sebasmartinez 2:10956b8ceffb 57 break;
sebasmartinez 2:10956b8ceffb 58 case 0x05:
sebasmartinez 2:10956b8ceffb 59 Servo5.pulsewidth_us(pulseX);
sebasmartinez 2:10956b8ceffb 60 break;
sebasmartinez 2:10956b8ceffb 61 case 0x06:
sebasmartinez 2:10956b8ceffb 62 Servo6.pulsewidth_us(pulseX);
sebasmartinez 2:10956b8ceffb 63 break;
sebasmartinez 2:10956b8ceffb 64 case 0x07:
sebasmartinez 2:10956b8ceffb 65 Servo7.pulsewidth_us(pulseX);
sebasmartinez 2:10956b8ceffb 66 break;
sebasmartinez 2:10956b8ceffb 67 case 0x08:
sebasmartinez 2:10956b8ceffb 68 Servo8.pulsewidth_us(pulseX);
sebasmartinez 2:10956b8ceffb 69 break;
sebasmartinez 2:10956b8ceffb 70
sebasmartinez 2:10956b8ceffb 71 default: break;
sebasmartinez 2:10956b8ceffb 72 }
fabeltranm 0:89b318e49395 73
fabeltranm 0:89b318e49395 74 }
fabeltranm 0:89b318e49395 75
fabeltranm 0:89b318e49395 76 void init_servo()
fabeltranm 0:89b318e49395 77 {
sebasmartinez 2:10956b8ceffb 78 Servo1.period_ms(20);
sebasmartinez 2:10956b8ceffb 79 Servo2.period_ms(20);
sebasmartinez 2:10956b8ceffb 80 Servo3.period_ms(20);
sebasmartinez 2:10956b8ceffb 81 Servo4.period_ms(20);
sebasmartinez 2:10956b8ceffb 82 Servo5.period_ms(20);
sebasmartinez 2:10956b8ceffb 83 Servo6.period_ms(20);
sebasmartinez 2:10956b8ceffb 84 Servo7.period_ms(20);
sebasmartinez 2:10956b8ceffb 85 Servo8.period_ms(20);
sebasmartinez 2:10956b8ceffb 86
sebasmartinez 2:10956b8ceffb 87 }
fabeltranm 0:89b318e49395 88