servo visual

Dependencies:   MAX7219 mbed

Realizamos mediante comunicacion serial, ingresando el comando para los servomotores:

COMANDO MOVER MOTOR

POS 1POS 2POS 3POS 4POS 5
<#M,#°G>
  1. M -> indica el motor que se va a mover (00,01,02)
  2. °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 1POS 2POS 3POS 4POS 5
<#MDIR#PASOS>
  1. M -> indica el motor que se va a mover ( 03)
  2. 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)

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?

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