Universidad Autónoma de Nuevo León
Preparatoria 7 «Óscar Vela Cantú»
Unidad 1
Etapa 3
Estructuras Básicas de Programación
Materia
Introducción a la Robótica
Maestra
Diana Margarita González Almanza
Equipo 1
#01 Alejandra Álvarez Marín
#02 Patricio Amezcua Arenas
#03 Regina Nohemí Aranda Cedillo
#04 Samadhi Estrella Camacho Araujo
#05 Emmanuel campos Tejeda
grupo
205
1
ÍNDICE
• INTRODUCCIÓN…………………………………………………………..…………………………………..3
• FUNCIONAMIENTO DE UN ROBOT……………………………………………………………………..…4
• FUNCIONAMIENTO BÁSICO………………………………………………………………..………………5
• ESTRUCTURAS DE PROGRAMACIÓN………………………………………………………..…………..6
• PROGRAMA………………………………………………………………………………………..…………..7
• PROGRAMACIÓN…………………………………………………………………………..…………………8
• DESARROLLO DE LOS PROGRAMAS……………………………………………………………..……...9
• LENGUAJE DE LA PROGRAMACIÓN……………………………………………………………………...10
• LENGUAJE DE LA PROGRAMACIÓN ESTRUCTRADOS POR BLOQUES…………………..……….11
• COMANDOS DE PROGRAMACIÓN: MOTOR DC…………………………………………….………….12
• PARÁMETROS……………………………………………………………………………….........................13
• BLOQUE DE COMANDO DC MOTOR……………………………………………………….……………..14
• DELAY…………………………………………………………………………………………………………..15
• MOVIMIENTO………………………..………………………………………………………..………………..16
• SERVORMOTOR………………………………..………………………………………………………..……17
• BLOQUE DE COMANDO SERVOR………………………………………………………………….……...18
• LED……………………………………………………...………………………………………………………19
• ON………………………………………………………………………………………………….…………….20
• OFF……………………………………………………………………………………………………………...21
• COMBINACIÓN DE COMANDOS ON, OFF Y DELAY……………………………………………………22
• BUZZER………………………………………………………………………………………………..………..23
• BIBLIOGRAFÍA……………………………………………………………….…………………….………….24
• CONCLUSIONES INDIVIDUALES………………………………………….……………………………….25
2
INTRODUCCIÓN
Un robot puede ser programado mediante dos formas, la primera de
ellas se denomina guiado o por procedimiento textual.
La programación por guiado consiste en hacer realizar al robot la
tarea moviendo sus articulaciones manualmente al mismo tiempo
que se registran los movimientos captados por los sensores, para su
posterior repetición de manera automática, cabe destacar que esta
programación por guiado puede realizarse haciendo una maqueta a
escala del robot para facilitar el movimiento de las articulaciones.
Para lograr una comunicación entre el programador u operador de
un robot de manera textual existen 3 niveles. Lenguajes de
programación, enseñanza y repetición por medio de comandos
verbales. Para que un robot sea más eficiente debe de tener en su
programación retroalimentación por medio de sensores es por esto
que es necesario que los robots sean programados por medio de
lenguajes de alto nivel que nos permiten ponerles condiciones. Los
lenguajes de programación textual se clasifican en 3 ramas. Por
objetos, por robot y por tarea. 3
FUNCIONAMIENTO DE
UN ROBOT
Un robot está compuesto
principalmente por:
• Sensores: Le permiten
darse cuenta de su entorno
y envían información al
controlador.
• Controlador: Procesa la
información que recibe y la
transforma en acciones.
• Actuadores: Mecanismos
que le permiten
comunicarse e inferir e su
entorno. Pueden ser
neumáticos, hidráulicos o
eléctricos. 4
FUNCIONAMIENTO
BÁSICO
Se basa en el principio
mismo de cualquier
computadora. Tiene:
• Dispositivos de
Entrada: Se generan a
través de los sensores.
• Dispositivos de
Procesamiento: En las
computadoras es el CPU,
en los robots se le llama
controladores.
• Dispositivos de Salida:
Pueden ser diferentes
actuadores como
motores, servomotores,
luces led, bocinas, etc.
5
ESTRUCTURAS DE PROGRAMACIÓN
Se clasifican de la siguiente manera.
• Programación Secuencial: Es indicarle al robot paso a paso, de
principio a fin; las acciones que va a ejecutar.
• Programación Condicional: Cuando se evalúa una condición
que puede ser contestada como falsa o verdadera.
• Programación Cíclica: Cuando una parte del programa se repite
la veces que se indique en el mismo programa.
6
PROGRAMA
Es el conjunto de instrucciones, comandos, órdenes o
procedimientos escritos en un lenguaje de programación para que
una computadora pueda realizar una tarea determinada de
manera correcta y rápida. Un programa de calidad debe tener las
siguientes condiciones: ser exacto, claro, eficiente y portable.
7
PROGRAMACIÓN
Metodología o proceso para construir un programa. Durante este
proceso, el programa es escrito acorde a una sintaxis de un
lenguaje de programación, se prueba, se depura, se implanta y se
le da mantenimiento. El código de los programas es escrito por
profesionales conocidos como programadores.
8
DESARROLLO DE LOS PROGRAMAS
El desarrollo del software de programación se lleva a través de las siguientes
fases. Fase 7.
Fase 1. Fase 6.
Definición del Implementación
Documentación:
Problema: del programa:
Realización del
Delimitar el Descargar los
manual de
problema o tarea programas
usuario y manual
que se va a realizados en los
técnico.
resolver. lugares donde se
utilizarán.
Fase 2. Análisis del
Problema: Fase 5. Fase 8.
Identificar los datos Depuración: Mantenimiento del
de entrada- Corrección de programa: Adecuar
proceso-salida que errores. los programas
tendrá el software. según las
necesidades que
Fase 3. Diseño: Fase 4. se van
Elaborar el algoritmo, Codificación: presentando a
diagrama de flujo y Escribir con la través del tiempo.
prueba de escritorio. sintaxis adecuada
Puede ser según el lenguaje
secuencial, de programación
condicional o cíclico. elegido. 9
LENGUAJE DE PROGRAMACIÓN
Es un conjunto de símbolos, vocablos y reglas (sintaxis) que
controlan el comportamiento físico y lógico de una computadora.
Permite el programador, entre otras cosas, especificar los datos
que van a ser procesados y almacenados en ellos.
10
LENGUAJE DE PROGRAMACIÓN ESTRUCTURADOS POR BLOQUES
Este lenguaje contiene una sección de código que permite grupos de
sentencias sean tratados como si fueran una sola, eliminando el obstáculo de
la sintaxis y concentrándose en la lógica de la programación.
Como vimos en la etapa anterior, Rogic utiliza bloques de instrucciones que se
unen para construir un código que descarga directamente a los robots,
permitiendo observar en ejecución el programa. Además las instrucciones
están agrupados en diferentes colores, dependiendo de su función,
simplificando la lectura del código y la identificación rápida del tipo de
programa; todo esto facilita el aprendizaje y con las actividades propuestas se
pueden lograr interesantes niveles de experiencia.
11
COMANDOS DE PROGRAMACIÓN
MOTOR DC
El motor de corriente continua o directa en una máquina que
convierte energía eléctrica en mecánica, provocando un
movimiento rotatorio gracias a la acción de un campo magnético.
Son de fácil control de velocidad, por tal motivo se utilizan en
donde se requiere un control de velocidad constante.
12
PARÁMETROS
• Voltaje de Operación: Se refiere al voltaje con el cual debe trabajar el
motor, en robots educativos utilizan generalmente entre 1.5V y 12V.
• Corriente de Operación: Es la cantidad de corriente que el motor requiere.
Entre más sea la carga que tenga el motor, más será la corriente que
necesite.
• Velocidad: Se refiere a la velocidad con la que gira el eje del motor, está
dada en revoluciones por minuto (rpm). En nuestro caso, utilizaremos
motores con velocidades de 100rpm y 600rpm.
• Torque: Fuerza que el motor ejerce sobre la carga. Entre más grande sea
el torque , más pesado podrá ser la carga.
• Control de Velocidad: Es controlada a través de una señal PWM (Pulse
Width Modulation) compuesta por una serie de pulsos. En Rogic, podemos
elegir una velocidad en una escala de 0 a 15, lo cual son los márgenes de
señales PWM que maneja el programa para controlar la velocidad de un
motor.
13
BLOQUE DE COMANDO DC MOTOR
Con este comando podemos controlar la velocidad y dirección de un
motor DC. Lo primero que debemos verificar físicamente en el robot es
que esté conectado el motor en el puerto de salida para saber cuál es el
que estamos programando.
Para programar los botones abrimos el software de Rogic, damos clic
en el ´botón Chips y en el botón de comando DC Motor para colocarlo
en el área de programación. Los botones de comando deben estar
conectados entre sí para que puedan funcionar.
14
DELAY
Es una función que hace al procesador esperar un
tiempo definiendo antes de ejecutar la siguiente
instrucción, tiene un parámetro de entrada en
milisegundos que va desde 0.1 hasta 25 segundos.
Para programar un "delay" (o tiempo de espera) se
utiliza el comando "Esperar". Lo único que se le
tiene que decir es cuanto tiempo, en segundos, se
tiene que quedar haciendo lo que está haciendo.
Usos comunes:
• Establece la variable global tiempo a 0.
• En el bucle loop() comprueba si los milisegundos
transcurridos (millis()) menos el tiempo guardado
es mayor a 1000 milisegundos (1 s).
• En caso que se cumpla la condición, se guarda
el valor actual de millis() en la variable tiempo y
se muestra la hora.
• El programa continúa sin detenerse para nada.
15
MOVIMIENTO
CINEMÉTICA
Estudia el movimiento de los mecanismos en el espacio y la magnitud utilizada en el
desplazamiento. En los robots, el estudio cinemático nos permite conocer la ubicación exacta
e la que se encuentra el actuador del robot que realizará la manipulación de los objetos.
ARTICULACIONES
Estructuras mecánicas que permiten el movimiento de distintas partes del robot.
• Rotacional: Permite un movimiento angular, usualmente producido por motores. Su
movimiento se mide en grados o radianes.
• Lineal: Permite un desplazamiento en una sola dirección. Su desplazamiento se mide en
unidades de distancia.
ESLABÓN
Son estructuras rígidas que le dan amplitud a los movimientos de las articulaciones.
GRADOS DE LIBERTAD
Es el número de movimientos independientes que puede tener, y en la mayoría de las
ocasiones es igual al número de articulaciones que posea el robot.
16
SERVOMOTOR
Un servomotor o servo, es un motor de corriente continua, que tiene
la capacidad de ser controlado y mantenerse estable en cualquier
posición dentro de su rango de operación. Generalmente 180°.
• Terminal Positivo: Cable de alimentación positivo, recibe la
alimentación del motor (4 a 8 voltios).
• Terminal Negativo: Cable de alimentación negativo, referencia
tierra del motor (0 voltios).
• Entrada de Señal: Cable de control que indica la posición
deseada al circuito.
17
BLOQUE DE COMANDO SERVO
El bloque de comando Servo se
encuentra dentro del botón Chips,
ahí seleccionamos Servo y lo
colocamos en el área de
programación, asegurándonos que
quede bien conectado por medio
de la barra gris con verde de
conexión.
Una vez colocado en el área de
programación , presionamos con
un clic en el botón de la esquina
superior derecha; este botón
despliega un cuadro de diálogo.
Es importante observar en qué
puerto de salida del controlador
está conectado al servo que
vamos a programar, así como
verificar la posición actual en la
que se encuentra el servo que
estamos programando. 18
LED
Es un diodo emisor de luz (Light Emiltting Diode) constituido por
un material semiconductor con dos terminales que emiten una
radiación electromagnética en forma de luz al estar activados.
Su funcionamiento es el fluir en la energía de un voltaje más alto
hacia el voltaje más bajo.
Entre sus usos comunes están la iluminación, los dispositivos de
señalización, pantallas de dispositivos electrónicos, linternas,
relojes, en diferentes aparatos computacionales para indicar el
encendido y apagado de estos, para las luces de medios de
transporte, desde una bicicleta hasta coches o aviones.
19
ON
Es el comando que usamos para encender los dispositivos que se encuentra
conectados a los puertos de entrada del CPU.
Entre sus usos comunes destacan cualquier inicio de ciclo de un proceso
automatizado.
Cuando programamos el comando ON al seleccionar los puertos o
encender, lo haremos conforme a los estándares establecidos por el
software, en este caso con milisegundos. Por lo tanto si usamos solamente
los comandos ON, las instrucciones serán enviadas al CPU pero se correrán
de forma tan rápida que no será evidente, por esto es necesario determinar
un tiempo para que la indicación sea visible. Esto se realizará por medio del
comando Delay.
20
OFF
Es el comando que usamos para indicar el fin de una acción.
Entre sus usos comunes esta cualquier fin de ciclo de un proceso
automatizado.
Así como podemos dar la indicación por medio de los comandos para
encender los puertos OUT con el comando ON, también podemos dar
la indicación de apagarlos; esto se realiza con el botón de comando de
programación OFF.
Al dar un clic en la esquina superior derecha del comando, se abrirá un
cuadro de diálogo en el que se seleccionará el puerto donde está
conectado el o los dispositivos que deseamos apagar.
21
COMBINACIÓN DE COMANDOS ON, OFF Y DELAY
Este tipo de programación es cuando el robot encontramos más de
una luz led y queremos realizar una programación secuencial de
encendido y apagado, tenemos que
1. El primer comando ON tiene seleccionados los puertos 1 y 2.
2. El primer comando Delay está programada para determinar el
tiempo de retraso entre las instrucciones de los comandos en los
que se encuentra con 1.5 segundos.
3. En el primer comando OFF solamente está seleccionado el puerto
1.
4. Esta declarado un segundo comando Delay programado para
determinar el tiempo de retraso entre las instrucciones de los
comandos en los que se encuentra con 1.5 segundos.
5. Segundo comando ON solo seleccionado con el puerto 1, y seguido
a este, un segundo comando OFF nicamente con el puerto 2.
6. Por último, un comando Delay que determinará el tiempo de los
comando ON y OFF anteriores a este.
22
BUZZER
Es un transductor electroacústica, el sonido «beep» se produce de
manera continua o intermitente en un mismo tono, dentro esta un
electroimán y una placa que vibra muy rápidamente cuando reciben
una señal eléctrica.
Usos comunes.
BUZZER BOARD
Para programar estos dispositivos de salida, se puede realizar
utilizando los comandos ON y OFF, y eligiendo el puerto OUT en el que
está conectado tal como se realiza la programación con las luces led.
23
BIBLIOGRAFÍA
Quiroga, K., Gallegos, R., Ojeda, A., & Rodríguez,
D. (2020). Introducción a la Robótica. Ediciones de
Laurel. Pp 96-115.
https://
es.scribd.com/presentation/403527131/Etapa-3-de
-robotica-pptx
http://
www.eduvision2050.com/uanl/roboticaeducativa/et
apa3.html
24
CONCLUSIONES INDIVIDUALES
#01 ALEJANDRA ÁLVAREZ MARÍN 208762
En esta etapa aprendí que la programación aquí se encara como
una escritura que permite expresar de forma esfecífica ideas y
puntos de vista prácticamente en todas las materias. Si hay
amantes de los videojuegos, desde el punto de vista de la
programación, el juego es programar.
#02 PATRICIO AMEZCUA ARENAS 2048882
Durante esta etapa aprendí diversas cosas acerca de la
programación, lo que aprendí fue que la programación son
diversas órdenes que serán interpretadas y realizadas por la
computadora. Esto se hace de forma muy literal por lo que
debemos ser lo suficientemente específicos para que se ejecute
alguna acción no deseada. La programación es ocupada en muy
diversos ámbitos y por esto es bastante necesaria y útil.
25
#03 REGINA NOHEMÍ ARANDA CEDILLO 2048808
En esta etapa vimos de manera más detenida la programación
del robot, con las estructuras, funcionamientos básicos,
comandos, movimientos y sus usos, podemos apreciar que casi
todo lo que usamos en la actualidad necesita de una
programación, control, etc.
Algunos ejemplos son la lavadora, teléfono celular, computadoras,
televisor, entre muchísimas otras cosas. Y estas programaciones
hacen que nuestro trabajo sea más fácil.
#04 SAMADHI ESTRELLA CAMACHO ARAUJO 2047833
La programación aquí se encara como una escritura que permite
expresar de forma específica ideas y puntos de vista
prácticamente en todas las materias. Si hay amantes de los
videojuegos, desde el punto de vista de la programación, el juego
es programar el videojuego.
26
#06 EMMANUEL CAMPOS TEJEDA 2048649
La programaci[on es fascinante, los sensores, controladores, y
actuadores son increíbles, el darle órdenes a un robot me
parecen geniales la manera en que se ejecuta, el como el robot
responde, la práctica en clase fue de lo mejor , las fases de
programación son increíbles porque seguir un orden, el solo
hecho de un programa es genial, es la representación de tu
creatividad y conocimiento.
27