Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of intentomatriz by
embebidos sistemas programacion
Entrega primer corte 8 servomotores
El objetivo propuesto para este primer corte era comunicar la tarjeta stm32 con el PC, para poder comunicarnos por UART, y entregarle telecomandosa la tarjeta, en los cuales le entregábamos 5 parámetros:
Ejemplo:
comando inicio | comando tipo | comando numero de servo| comando grados | comando final 0xFF | 0x01 | 0x01 a 0x08 | 0x00 a 0xb4 | 0xFE
Se realizara la correspondiente explicación del funcionamiento del código:
Este proyecto cuenta con tres vectores,
vbuff: vector que recibe la información y la valida. mbuff: matriz para guardar la información después de ser validada vgrados: vector donde se guardan los grados en los cuales se encuentra cada servomotor
las variables
filas y columnas: que son el tope de numero de filas y columnas de las matrices o vectores ms: que es el periodo en mili segundos que para el pwm de cada servomotor
se crea la clase serial poder intercambiar información entre la tarjeta y el PC.
se define la salida de propósito general a cada servomotor
se ingresa el valor de periodo a cada servomotor
sincroniza la velocidad de intercambio de datos entre el PC y la stm32. imprime en coolterm (herramienta que nos permite intercambiar datos entre el PC y la STM por medio del puerto serial), la señal de inicio de comunicación "start".
mientras se diligencia el vector con los datos que se remiten por el puerto serial el vector "vbuff" recibe y valida los datos recibidos, las validaciones que hace son si el telecomando inicia con el comando correcto(ff), el numero de servomotor se encuentra entre 1 a 8 y si los grados se encuentran entre 0 y 180, si no cumple estos parámetros descarta la información de ese motor y remite un mensaje de error.
la matriz que recibe la información es "mbuff" ademas se encarga de almacenar los datos después de que se realizaron las validaciones, con esto aseguramos que le entregamos datos correctos para que el programa pueda trabajar sin inconvenientes.
el vector vgrados, cuenta con 8 casillas, una por cada servomotor, y en las cuales se guardaran los valores de los grados asignados a cada servomotor en pulsos.
una vez se cuenta con esta información procesada, se imprime en la pantalla de Coolterm la matriz "mbuff" para que el usuario pueda confirmar visualmente que los datos que se enviaran a los servomotores son los correctos, se imprimen en formato Hexadecimal.
Se imprime el vector de pulsos asignado para cada servo, este datos se entrega en números decimales con un decimal.
se imprime en decimal el valor de los grados ingresados en decimal.
Como paso final, se le asigna a cada motor el valor de pulsos para que se mueva al angulo correspondiente.
