Andres Castañeda / Mbed 2 deprecated primeraentregaservos

Dependencies:   mbed

Fork of 01-04EntregaPrimerCorte by ferney alberto beltran molina

Committer:
andrescas
Date:
Fri Sep 07 01:38:18 2018 +0000
Revision:
2:0b07d055833d
Parent:
1:526bdd5faa37
Child:
3:83d8f67303b8
Primera entrega servos movimiento

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
fabeltranm 1:526bdd5faa37 7 PwmOut myServo1(PB_3);
fabeltranm 1:526bdd5faa37 8 PwmOut myServo2(PB_4);
fabeltranm 1:526bdd5faa37 9 PwmOut myServo3(PB_5);
andrescas 2:0b07d055833d 10 PwmOut myServo4(PB_8);
andrescas 2:0b07d055833d 11 PwmOut myServo5(PB_9);
andrescas 2:0b07d055833d 12 PwmOut myServo6(PA_5);
andrescas 2:0b07d055833d 13 PwmOut myServo7(PA_6);
andrescas 2:0b07d055833d 14 PwmOut myServo8(PA_7);
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)
fabeltranm 0:89b318e49395 27 return int(750+coord*1900/50);// u6
fabeltranm 0:89b318e49395 28 return 750;
fabeltranm 0:89b318e49395 29
fabeltranm 0:89b318e49395 30 }
fabeltranm 0:89b318e49395 31
andrescas 2:0b07d055833d 32 void mover_ser(uint8_t nmotor, uint8_t grados){// PWM O CON CASE O IF
fabeltranm 0:89b318e49395 33
andrescas 2:0b07d055833d 34 int pulsea = coord2us(grados);
andrescas 2:0b07d055833d 35 int pulseb = coord2us(grados);
andrescas 2:0b07d055833d 36 int pulsec = coord2us(grados);
andrescas 2:0b07d055833d 37 int pulsed = coord2us(grados);
andrescas 2:0b07d055833d 38 int pulsee = coord2us(grados);
andrescas 2:0b07d055833d 39 int pulsef = coord2us(grados);
andrescas 2:0b07d055833d 40 int pulseg = coord2us(grados);
andrescas 2:0b07d055833d 41 int pulseh = coord2us(grados);
andrescas 2:0b07d055833d 42 switch (nmotor) {
andrescas 2:0b07d055833d 43 case 0x01: myServo1.pulsewidth_us(pulsea);break;
andrescas 2:0b07d055833d 44 case 0x02: myServo2.pulsewidth_us(pulseb);break;
andrescas 2:0b07d055833d 45 case 0x03: myServo2.pulsewidth_us(pulsec);break;
andrescas 2:0b07d055833d 46 case 0x04: myServo2.pulsewidth_us(pulsed);break;
andrescas 2:0b07d055833d 47 case 0x05: myServo2.pulsewidth_us(pulsee);break;
andrescas 2:0b07d055833d 48 case 0x06: myServo2.pulsewidth_us(pulsef);break;
andrescas 2:0b07d055833d 49 case 0x07: myServo2.pulsewidth_us(pulseg);break;
andrescas 2:0b07d055833d 50 case 0x08: myServo2.pulsewidth_us(pulseh);break;
andrescas 2:0b07d055833d 51 //default: debug_m("numero de motor no valido");break ;
andrescas 2:0b07d055833d 52
andrescas 2:0b07d055833d 53
andrescas 2:0b07d055833d 54 }
fabeltranm 0:89b318e49395 55 }
fabeltranm 0:89b318e49395 56
fabeltranm 0:89b318e49395 57 void init_servo()
fabeltranm 0:89b318e49395 58 {
andrescas 2:0b07d055833d 59 myServo1.period_ms(20);
andrescas 2:0b07d055833d 60 myServo2.period_ms(20);
andrescas 2:0b07d055833d 61 myServo3.period_ms(20);
andrescas 2:0b07d055833d 62 myServo4.period_ms(20);
andrescas 2:0b07d055833d 63 myServo5.period_ms(20);
andrescas 2:0b07d055833d 64 myServo6.period_ms(20);
andrescas 2:0b07d055833d 65 myServo7.period_ms(20);
andrescas 2:0b07d055833d 66 myServo8.period_ms(20);
andrescas 2:0b07d055833d 67
andrescas 2:0b07d055833d 68 }