abrayan

Dependencies:   mbed

Committer:
angel123
Date:
Tue Sep 11 01:27:25 2018 +0000
Revision:
2:3007b3c06d2c
Parent:
1:526bdd5faa37
Child:
6:8d7f6fe73ed1
Entrega_Primer_Corte

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
angel123 2:3007b3c06d2c 7 PwmOut myServo1(PA_10);
angel123 2:3007b3c06d2c 8 PwmOut myServo2(PB_3);
fabeltranm 1:526bdd5faa37 9 PwmOut myServo3(PB_5);
angel123 2:3007b3c06d2c 10 PwmOut myServo4(PB_4);
angel123 2:3007b3c06d2c 11 PwmOut myServo5(PB_10);
angel123 2:3007b3c06d2c 12 PwmOut myServo6(PA_8);
angel123 2:3007b3c06d2c 13 PwmOut myServo7(PA_9);
angel123 2:3007b3c06d2c 14 PwmOut myServo8(PC_7);
fabeltranm 0:89b318e49395 15
fabeltranm 1:526bdd5faa37 16
angel123 2:3007b3c06d2c 17
angel123 2:3007b3c06d2c 18 uint8_t ss_time=180; // tiempo de espera para moverse 1 mm en microsegundos
fabeltranm 0:89b318e49395 19
fabeltranm 0:89b318e49395 20 void put_sstime(uint8_t vtime){
fabeltranm 0:89b318e49395 21 ss_time=vtime;
fabeltranm 0:89b318e49395 22
fabeltranm 0:89b318e49395 23 }
fabeltranm 0:89b318e49395 24
fabeltranm 0:89b318e49395 25 int coord2us(float coord)
fabeltranm 0:89b318e49395 26 {
fabeltranm 0:89b318e49395 27 if(0 <= coord <= MAXPOS)
angel123 2:3007b3c06d2c 28 return int(750+coord*1900/180);// u6
fabeltranm 0:89b318e49395 29 return 750;
fabeltranm 0:89b318e49395 30
fabeltranm 0:89b318e49395 31 }
fabeltranm 0:89b318e49395 32
fabeltranm 1:526bdd5faa37 33
fabeltranm 0:89b318e49395 34
fabeltranm 0:89b318e49395 35
fabeltranm 0:89b318e49395 36
fabeltranm 1:526bdd5faa37 37 void mover_ser(uint8_t motor, uint8_t pos){
fabeltranm 0:89b318e49395 38
fabeltranm 1:526bdd5faa37 39 int pulseX = coord2us(pos);
fabeltranm 0:89b318e49395 40
angel123 2:3007b3c06d2c 41 switch (motor)
angel123 2:3007b3c06d2c 42 {
angel123 2:3007b3c06d2c 43 case 0x01: myServo1.pulsewidth_us(pulseX);
angel123 2:3007b3c06d2c 44 break;
angel123 2:3007b3c06d2c 45
angel123 2:3007b3c06d2c 46 case 0x02: myServo2.pulsewidth_us(pulseX);
angel123 2:3007b3c06d2c 47 break;
angel123 2:3007b3c06d2c 48
angel123 2:3007b3c06d2c 49 case 0x03: myServo3.pulsewidth_us(pulseX);
angel123 2:3007b3c06d2c 50 break;
angel123 2:3007b3c06d2c 51
angel123 2:3007b3c06d2c 52 case 0x04: myServo4.pulsewidth_us(pulseX);
angel123 2:3007b3c06d2c 53 break;
angel123 2:3007b3c06d2c 54
angel123 2:3007b3c06d2c 55 case 0x05: myServo5.pulsewidth_us(pulseX);
angel123 2:3007b3c06d2c 56 break;
angel123 2:3007b3c06d2c 57
angel123 2:3007b3c06d2c 58 case 0x06: myServo6.pulsewidth_us(pulseX);
angel123 2:3007b3c06d2c 59 break;
angel123 2:3007b3c06d2c 60
angel123 2:3007b3c06d2c 61 case 0x07: myServo7.pulsewidth_us(pulseX);
angel123 2:3007b3c06d2c 62 break;
angel123 2:3007b3c06d2c 63
angel123 2:3007b3c06d2c 64 case 0x08: myServo8.pulsewidth_us(pulseX);
angel123 2:3007b3c06d2c 65 break;
angel123 2:3007b3c06d2c 66 }
fabeltranm 0:89b318e49395 67 }
fabeltranm 0:89b318e49395 68
fabeltranm 0:89b318e49395 69 void init_servo()
fabeltranm 0:89b318e49395 70 {
angel123 2:3007b3c06d2c 71 myServo1.period_ms(20);
angel123 2:3007b3c06d2c 72 myServo2.period_ms(20);
angel123 2:3007b3c06d2c 73 myServo3.period_ms(20);
angel123 2:3007b3c06d2c 74 myServo4.period_ms(20);
angel123 2:3007b3c06d2c 75 myServo5.period_ms(20);
angel123 2:3007b3c06d2c 76 myServo6.period_ms(20);
angel123 2:3007b3c06d2c 77 myServo7.period_ms(20);
angel123 2:3007b3c06d2c 78 myServo8.period_ms(20);
fabeltranm 0:89b318e49395 79 }