![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
servo visual
Realizamos mediante comunicacion serial, ingresando el comando para los servomotores:
COMANDO MOVER MOTOR
POS 1 | POS 2 | POS 3 | POS 4 | POS 5 |
< | #M | , | #°G | > |
- M -> indica el motor que se va a mover (00,01,02)
- °G -> indica los grados a mover del servomotor <,> -> inicio, separdor y fin de comando el inicio de comando no se almacena en el buffer
si el comando no tiene correctamente ingresado los simbolos ',' y '>', nos dara un error.
comando para el paso a paso:
COMANDO MOVER PASO A PASO
POS 1 | POS 2 | POS 3 | POS 4 | POS 5 |
< | #M | DIR | #PASOS | > |
- M -> indica el motor que se va a mover ( 03)
- PASOS -> indica los pasos a mover del motor paso a paso DIR -> indica la direccion en la que girara el motor (00-derecha, 01- izquierda) < > ->inicio, separdor y fin de comando
el inicio de comando no se almacena en el buffer.
En la visualizacion de la matriz se observara el numero del motor que se esta moviendo y su direccion indicada con una flecha
<- hacia la izquierda cuando el angulo de los servos sea mayor que 90, y el sentido del paso a paso sea este. ^ hacia arriba cuando el angulo de los servos sea 90 -> hacia la derecha cuando el angulo de los servos sea menor que 90, y el sentido del paso a paso sea este.
1- servomotor uno (00) 2-servomotor dos (01) 3-servomotor tres (02) 4- paso a paso (03)
vision.h@1:908a41a33553, 2017-04-27 (annotated)
- Committer:
- Paxtel
- Date:
- Thu Apr 27 21:39:55 2017 +0000
- Revision:
- 1:908a41a33553
funcionamiento de 3 servomoteores y un paso a paso , con vizualizacion sentido de giro en una matriz 8x8
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Paxtel | 1:908a41a33553 | 1 | |
Paxtel | 1:908a41a33553 | 2 | |
Paxtel | 1:908a41a33553 | 3 | |
Paxtel | 1:908a41a33553 | 4 | |
Paxtel | 1:908a41a33553 | 5 | DigitalOut _A0(PA_9); // pines motor paso a paso |
Paxtel | 1:908a41a33553 | 6 | DigitalOut _A1(PC_7); |
Paxtel | 1:908a41a33553 | 7 | DigitalOut _A2(PB_6); |
Paxtel | 1:908a41a33553 | 8 | DigitalOut _A3(PA_7 ); |
Paxtel | 1:908a41a33553 | 9 | |
Paxtel | 1:908a41a33553 | 10 | |
Paxtel | 1:908a41a33553 | 11 | PwmOut mipwm(PA_0); // pin servomotor1 |
Paxtel | 1:908a41a33553 | 12 | PwmOut mipwm2(PA_1);// pin servomotor2 |
Paxtel | 1:908a41a33553 | 13 | PwmOut mipwm3(PB_0);// pin servomotor3 |
Paxtel | 1:908a41a33553 | 14 | |
Paxtel | 1:908a41a33553 | 15 | Serial command(USBTX, USBRX); // definicion serial |
Paxtel | 1:908a41a33553 | 16 | |
Paxtel | 1:908a41a33553 | 17 | Max7219 pantalla(PB_15, PB_14, PB_13, PB_12); //pines matriz |
Paxtel | 1:908a41a33553 | 18 | |
Paxtel | 1:908a41a33553 | 19 | |
Paxtel | 1:908a41a33553 | 20 | DigitalOut led(LED1); // pin led1 |
Paxtel | 1:908a41a33553 | 21 | |
Paxtel | 1:908a41a33553 | 22 | |
Paxtel | 1:908a41a33553 | 23 | |
Paxtel | 1:908a41a33553 | 24 | |
Paxtel | 1:908a41a33553 | 25 | void stepper(uint8_t num_steps, uint8_t direction); // funcion que define el numero de pasos |
Paxtel | 1:908a41a33553 | 26 | void clockwise() ; // funcion para giro en sentido horario |
Paxtel | 1:908a41a33553 | 27 | |
Paxtel | 1:908a41a33553 | 28 | void anticlockwise(); // funcion para giro en sentido antihorario |
Paxtel | 1:908a41a33553 | 29 | void Print_pantalla_tabla(unsigned char *pValor); //funcion imprimir imagen en la matriz |
Paxtel | 1:908a41a33553 | 30 | |
Paxtel | 1:908a41a33553 | 31 | unsigned char clear[]= {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; // limpiar matriz |
Paxtel | 1:908a41a33553 | 32 | unsigned char m1up[]= {0x00,0x04,0x06,0x27,0xf7,0x06,0x04,0x00}; //secuencia 1 |
Paxtel | 1:908a41a33553 | 33 | unsigned char m1left[]= {0x04,0x0e,0x1f,0x00,0x00,0x20,0xf0,0x00}; //secuencia 2 |
Paxtel | 1:908a41a33553 | 34 | unsigned char m1right[]= {0x00,0x20,0xf0,0x00,0x00,0x1f,0x0e,0x04}; //secuencia 3 |
Paxtel | 1:908a41a33553 | 35 | unsigned char m2up[]= {0x00,0x04,0x06,0xf7,0x07,0xf6,0x04,0x00}; //secuencia 4 |
Paxtel | 1:908a41a33553 | 36 | unsigned char m2left[]= {0x04,0x0e,0x1f,0x00,0xf0,0x00,0xf0,0x00}; //secuencia 5 |
Paxtel | 1:908a41a33553 | 37 | unsigned char m2right[]= {0x00,0xf0,0x00,0xf0,0x00,0x1f,0x0e,0x04}; //secuencia 6 |
Paxtel | 1:908a41a33553 | 38 | unsigned char m3up[]= {0x00,0x04,0xf6,0x07,0xf7,0x06,0xf4,0x00}; //secuencia 7 |
Paxtel | 1:908a41a33553 | 39 | unsigned char m3left[]= {0x04,0x0e,0x1f,0xf0,0x00,0xf0,0x00,0xf0}; //secuencia 8 |
Paxtel | 1:908a41a33553 | 40 | unsigned char m3right[]= {0xf0,0x00,0xf0,0x00,0xf0,0x1f,0x0e,0x04}; //secuencia 9 |
Paxtel | 1:908a41a33553 | 41 | unsigned char m4up[]= {0x00,0x04,0x06,0x77,0x47,0xf6,0x04,0x00}; //secuencia 10 |
Paxtel | 1:908a41a33553 | 42 | unsigned char m4left[]= {0x04,0x0e,0x1f,0x00,0x70,0x40,0xf0,0x00}; //secuencia 11 |
Paxtel | 1:908a41a33553 | 43 | unsigned char m4right[]= {0x00,0x70,0x40,0xf0,0x00,0x1f,0x0e,0x04}; //secuencia 12 |
Paxtel | 1:908a41a33553 | 44 |