Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

02 - Robótica. Qué es un robot y cómo se programa. - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 24 de marzo de 2021 por Juan Ramã‼N G.

73 visualizaciones

Breve explicación de las partes fundamentales de que consta un robot y qué estructura tienen los programas para robots.

Descargar la transcripción

Bueno, pues vamos a ver la introducción a la programación de robot con unos conceptos básicos. 00:00:12
Empezaremos viendo qué es un robot y para entender qué es un robot tenemos que entender que un robot no es otra cosa que un sistema que recoge información de unos sensores, 00:00:18
procesa la información recogida y después decide si actúa o no sobre ciertos actuadores, 00:00:30
sobre ciertos elementos que sirven para devolver acciones al entorno, 00:00:39
pueden ser luces, motores o lo que sea. 00:00:45
Entonces, los sensores de entrada serían un sensor de distancia, un pulsador, 00:00:47
que es un sensor de presión, o un sensor de luminosidad, un sensor de temperatura, 00:00:53
cualquier cosa que detecte una magnitud del entorno y la pueda introducir a través de un valor a nuestra placa de control. 00:00:59
Tendremos la placa de control, ahí veis, crumble o la placa de arduino que tiene más conexiones de entrada y salida. 00:01:07
Y por último, actuadores, podemos ver que son luces, motores o cosas de este estilo. 00:01:15
Para poder conectar todas estas cosas entre la placa controladora y el propio dispositivo, 00:01:22
vamos a utilizar cables, cables que irán desde los terminales o pines de los sensores o de los actuadores 00:01:28
a los terminales o pines de nuestra placa de control. 00:01:36
La placa de control lleva siempre un procesador que es el que se encarga de recibir esa información 00:01:41
y hacer algo con ella, es decir, procesarla y tomar decisiones, por supuesto. 00:01:46
Y eso es básicamente lo que sería un robot. 00:01:53
Si lo ponemos todo junto, pues al final recogemos información de las entradas, la procesamos en la plaga de control y después actuamos o no sobre los actuadores. 00:01:55
Bien, poniendo esto un poquito en orden, veremos que un programa de robots, lo primero es un programa infinito. 00:02:06
Es decir, es un programa que no termina nunca. Un programa que cuando se termina de ejecutar, volvemos a la primera línea y volvemos a ejecutarlo de forma íntegra. 00:02:14
Y así de forma infinita hasta que apaguemos el robot. Por lo tanto, lo primero que va a hacer un robot va a ser leer sus sensores, los que tenga conectados, va a asignar los valores que ha recibido de esos sensores a ciertas variables, es decir, va a almacenar la información en unas cajitas, en unos espacios donde yo luego podré recuperar esa información. 00:02:23
Es como apuntarlo en un bloc de notas. Básicamente voy a poner una caja, le voy a poner una etiqueta que es el nombre de la caja y dentro voy a poder meter un valor. Pues bien, esos valores que yo recibo de los sensores los meteré en cajitas para luego poder acceder a ellos. 00:02:47
Después accederemos a esos valores, los procesaremos y tomaremos decisiones 00:03:03
Y diremos, bueno, pues en este caso haremos o no ciertas cosas sobre motores, sobre luces o sobre actuadores 00:03:09
Y eso es lo que haremos después de tomar la decisión 00:03:17
Tomaremos decisiones en función de los valores y al final actuaremos si es necesario 00:03:20
Y volvemos a empezar, leemos los sensores, asignamos las lecturas a las variables 00:03:25
procesamos la información tomamos las decisiones y actuamos si es necesario y vuelta a empezar y 00:03:30
así infinitamente hasta que el robot se pare se apague o quitemos las pilas bueno así que en 00:03:35
esencia yo lo que tengo son sensores que son las entradas a mi sistema entradas a mi sistema estos 00:03:49
sensores van a alimentar mi placa microcontroladora de información. Esta placa microcontroladora 00:04:04
va a tomar decisiones en función de esa información y si es necesario lo que va a hacer es activar 00:04:14
estos actuadores que son las salidas del sistema, del robot. Por lo tanto yo tengo aquí en 00:04:25
este robot obligatoriamente que programar. Tengo que hacer un programa que reciba esos 00:04:36
valores, los procese, tome decisiones y actúe en caso de necesidad. Y por supuesto, tanto 00:04:48
los sensores como los actuadores, lo que tendremos será una conexión, conexión eléctrica. 00:04:57
para poder tanto recibir la información de los sensores como poder informar a los actuadores que se activen o no. 00:05:11
Entonces, primero tenemos que saber cómo conectar mis dispositivos de entrada y salida 00:05:19
y luego tenemos que saber cómo programar mi placa de control para tomar esas decisiones. 00:05:26
Y en esto es en lo que nos vamos a centrar en la programación de robots, tanto en la conexión como en la programación. 00:05:31
Bueno, la placa controladora que nosotros vamos a utilizar se llama CRAM y tiene esta pinta. 00:05:38
Básicamente es una placa que vemos que tiene en su centro este procesador que es el que se va a encargar de ejecutar el programa. 00:05:46
el programa. Nosotros el programa lo haremos a través de una aplicación en un PC y con 00:05:54
este puerto USB lo descargaremos el programa para que se ejecute en este procesador. Y 00:06:02
luego la placa tiene conexiones, conexiones que llamaremos terminales. Estos terminales 00:06:10
si os fijáis están con etiquetas, vamos a ver que es cada uno de ellos. Aquí arriba 00:06:15
a la izquierda, estos dos que pone positivo y negativo, serán los que utilizaremos para 00:06:21
conectar las pilas. Esta conexión alimentará de corriente eléctrica mi placa y será la 00:06:25
que utilizaremos para poder ejecutar el programa y tomar las decisiones. Como hemos dicho, 00:06:33
yo tengo que conectar a esta placa tanto sensores como actuadores. Para ello utilizaremos estos 00:06:40
cuatro terminales, A, B, C y D. A través de estos terminales yo recibiré la información 00:06:46
o informaré a los actuadores que se deben de activar, pero si lo que tengo son motores, 00:06:52
si el actuador que yo tengo son motores, vamos a utilizar estas conexiones de aquí abajo 00:07:00
que son específicas para motores. Vemos que tienen un positivo y un negativo y directamente 00:07:04
están etiquetadas por parejas, 1 y 2. Entonces, si yo tengo un motor, lo conectaremos aquí 00:07:10
debajo. Pero si tengo cualquier otro actuador, como puede ser una luz, lo conectaré a través 00:07:16
de estos terminales que son de entrada y salida. Entrada son para los sensores y salida cuando 00:07:21
conecto actuadores. Y esos sensores y actuadores también deben de recibir corriente eléctrica. 00:07:28
Para eso utilizaremos estos dos terminales. Por lo tanto, esta parte de arriba es la parte que tiene que ver con los voltios. Aquí a la izquierda serán los voltios que yo meto a la placa para conectarla y activarla y alimentarla de corriente eléctrica. 00:07:34
y por aquí sacaré la corriente eléctrica que necesito para que los sensores y los actuadores 00:07:51
que yo conecto en estos terminales del centro funcionen. 00:07:56
Pero si lo que tengo son motores, utilizaré directamente estas conexiones. 00:08:00
En resumen, tenemos esto que vemos aquí, un puerto USB que usaremos para programar, 00:08:06
una entrada de corriente eléctrica donde alimentaremos con 4,5 o 5,5 voltios, 00:08:14
la salida de corriente eléctrica que yo utilizaré para los sensores, cuatro terminales que serán donde yo recibiré las señales de esos sensores indicando que está ocurriendo en el entorno 00:08:19
o también las que yo utilizaré para activar los actuadores que no sean motores. ¿Por qué que no sean motores? 00:08:31
Porque si son motores usaré estos puertos de aquí abajo, estas terminales de aquí abajo, que están ya etiquetados como positivo y negativo para conectar motores. 00:08:40
Y además vienen con un LED pequeñito, con una lucecita, que cuando el motor esté activado la luz se va a encender y cuando el motor se desactive esta luz se va a apagar. 00:08:50
Por lo tanto, mi placa de control tiene 12 conexiones. Estas de aquí arriba hemos dicho que es para la entrada de 4,5 voltios y estas es para la salida de 4,5 voltios para sensores y actuadores. 00:09:00
si yo tengo sensores o actuadores 00:09:33
los conectaré utilizando estos puertos de aquí 00:09:37
que hemos etiquetado como A, B, C y D 00:09:40
mientras que estos de aquí arriba 00:09:43
veíamos que estaban como más y menos 00:09:46
puesto que son de corriente eléctrica 00:09:48
y por último, si yo lo que tengo son motores 00:09:49
voy a tener dos conexiones a motores 00:09:53
que están etiquetadas como 1 o 2 00:09:56
Eso es si tengo motores. 00:10:04
Bien, vamos a hacer un programa sencillito. 00:10:06
Imaginaros que yo tengo un botón. 00:10:10
Cuando yo lea en estos puertos, en estos terminales, el valor, ¿yo qué puedo leer? 00:10:14
Puedo leer si hay o no hay corriente eléctrica o qué valor de la corriente eléctrica existe en ese terminal. 00:10:21
Entonces, lo normal es que yo siempre en programación utilice los valores lógicos 0 y 1. En programación siempre se usan 0 o 1. El 0 equivaldría a 0 voltios, el 1 a 4,5 voltios. 00:10:28
Y siempre se corresponden con las características de activado o desactivado, conectado o desconectado, verdadero o falso, positivo o negativo, es decir, siempre van a tener ese carácter dual que me informa de algo que está ocurriendo o no. 00:10:49
¿Vale? Por tanto, imaginaos este botón 00:11:05
Yo el botón lo voy a conectar por un lado a esta conexión que son 4 voltios y medio 00:11:09
Y de por el otro lado le voy a poner conectado en A 00:11:14
Bien, si yo ahora ejecutara un programa cuya primera orden fuera 00:11:19
Ahora, lee el valor de A y ponlo en botón. ¿Qué es lo que quiere decir esto? Pues yo voy a crearme un espacio en esta placa de control. 00:11:24
yo voy a traerme un espacio que es una caja, voy a ponerla aquí, una caja y la voy a etiquetar como botón. 00:11:48
Esta caja inicialmente está vacía, pero yo puedo poner ahí dentro los valores que yo quiera, ¿vale? 00:11:59
Es una caja, un almacén para recordar o para guardar cierta información. 00:12:04
Entonces, ¿yo qué voy a hacer? Pues cuando ejecute esta línea en mi programa, 00:12:10
Aquí el procesador que estaba aquí en medio va a ejecutar este programa y va a decir, mira lo que está ocurriendo en A, en este terminal que hemos llamado A. Y sea lo que sea, lo introduces dentro de la caja que yo he creado que se llama botón. 00:12:13
Muy bien, pues entonces, fijaros, si el botón no está pulsado, este cable está cortado, no está pulsado, por lo tanto no está conectado. Y estos 4,5 voltios no están llegando a A. Por lo tanto, cuando yo lea el valor de A, lo que voy a leer es un cero. 00:12:28
Y ese 0 será el que voy a meter dentro del botón. Esto es cuando no pulso el botón. ¿Pero qué ocurre si yo lo pulso? Cuando yo pulso ese botón, estos 4,5 voltios, ahora está cerrado el circuito y sí que están llegando aquí. 00:12:45
Por lo tanto, lo que yo estaré metiendo dentro de la variable botón será un 1, botón, pulsado. ¿Por qué? Porque un 1 se corresponde con esos 4 voltios y medio. 00:13:06
Entonces, cuando yo estoy ejecutando esta orden, lee el valor de A y ponlo en botón, lo que estoy haciendo es mirar qué ocurre en ese terminal y, sea lo que sea, lo guardo dentro de esta caja, para luego poderlo recordar. 00:13:21
Y ahora vamos a completar nuestro circuito poniendo una cosa más. En D voy a conectar una luz. Aquí voy a conectar un diodo, una lucecita. 00:13:36
lo voy a conectar de esta forma 00:13:47
al negativo 00:13:51
por lo tanto, fijaros 00:13:52
cuando yo active D 00:13:54
cuando yo le diga a través de una línea 00:13:56
de orden de mi programa 00:13:59
activa D 00:14:01
pondré 4 voltios y medio en D 00:14:03
¿y qué ocurrirá con la luz? 00:14:04
que se encenderá, porque tendrá 4 voltios y medio y cero 00:14:07
estará como conectado a una pila 00:14:09
y entonces se encenderá 00:14:11
pero ¿qué pasa si yo le digo que no me active D? 00:14:12
aquí estarán 0 voltios 00:14:15
y por lo tanto no se encendera la luz. 00:14:16
Entonces, fijaros, la segunda línea de mi programa va a ser 00:14:21
lee el valor de A y ponlo en botón. 00:14:24
Si lo que tengo dentro de botón es cero, 00:14:29
¿qué voy a hacer? 00:14:36
Si es cero, pues si no está pulsado el botón, 00:14:38
yo lo que quiero es que la luz no se encienda. 00:14:42
Entonces, desactiva D. Es decir, en D voy a poner 0 voltios. Pero, si botón es 1, entonces activa D. Por lo tanto, a D le voy a poner 4,5 voltios. 00:14:43
¿veis? entonces, ahora 00:15:15
¿qué está haciendo este programa? vamos a leer el valor de A 00:15:19
si el botón no está pulsado, ¿vale? si el botón no está pulsado 00:15:23
desactivamos D, es decir, ponemos aquí 0 voltios y entonces la luz 00:15:28
permanece apagada, y cuando termina el programa de ejecutarse 00:15:31
que hemos dicho que ocurre con un robot, que vuelve al inicio 00:15:35
y lo vuelve a ejecutar, por lo tanto, empezamos 00:15:41
leemos y si es cero desactivamos desactivamos desactivamos hasta cuando hasta que llegue aquí 00:15:45
y haga punto y lo pulse cuando lo pulse que va a ocurrir lo que va a ocurrir es que el valor de la 00:15:51
variable a va a cambiar a uno y yo voy a introducir en ese caso dentro de la variable botón dentro de 00:15:59
esta caja voy a meter el valor 1 si botón es 1 entonces activamos de por lo tanto podemos aquí 00:16:05
cuatro voltios y medio y la luz se enciende. Entonces este robot lo que estaría haciendo 00:16:12
es que cuando yo pulso el botón la luz se enciende y cuando dejo de pulsarlo la luz 00:16:15
se apaga. Tan sencillo como eso. Y con eso habremos construido nuestro primer robot y 00:16:20
habremos construido nuestro primer programa. Podemos hacer otro programa también muy sencillito 00:16:25
para los motores. Por ejemplo, voy a coger otra hoja, la voy a poner aquí debajo, aquí 00:16:32
así, ¿de acuerdo? Y vamos a hacer otro programa. Voy a hacer un programa en donde utilicemos 00:16:39
estos motores. El programa puede decir lo siguiente. Línea 1, activa el motor 1 al 00:16:48
100% hacia adelante. Línea 2, activa el motor 2 al 100% también hacia adelante. Línea 00:17:00
3, espera, 1 segundo. 4, apaga, motor, 1. 5, apaga, motor, 2. Y línea 6, voy a subir 00:17:23
un poquito para verlo bien. Línea 6 sería, espera un segundo. Bueno, vamos a ver qué 00:17:42
hace este programa. Fijaros, yo tengo mi placa con dos motores. Voy a suponer que en estos 00:17:55
motores tengo un par de ruedas, ¿vale? Conectadas. Un par de ruedas. ¿De acuerdo? Entonces, ¿qué 00:18:03
ocurre? Fijaros, el programa hace lo siguiente, activa el motor 1 al 100% hacia delante, activa 00:18:15
el motor 2 al 100% hacia delante. Si los dos motores se mueven en la misma dirección, 00:18:20
lo que tendré es que esta placa junto con los motores y las ruedas avanzarán, van a 00:18:25
porque tengo una rueda aquí, voy a mirarlo desde arriba, otra rueda aquí, y si las dos 00:18:36
ruedas giran hacia delante, el robot avanza. Y eso va a estar avanzando durante un segundo 00:18:42
y al llegar al segundo, ¿qué va a hacer? Se va a parar, ¿vale? Es decir, durante un 00:18:47
segundo y llega aquí y se para el robot, para los dos motores y se para durante un 00:18:52
segundo. ¿Y qué ocurre cuando termina el programa? Hemos dicho que cuando un programa 00:19:01
de un robot termina. Entonces, después de esperar este segundo, volvemos arriba, activamos 00:19:06
el motor 1, activamos el motor 2 y el robot vuelve a avanzar durante otro segundo y vuelve 00:19:14
a pararse. Y el programa simplemente va a hacer eso, va a hacer que el robot avance 00:19:21
durante un segundo y se pare durante un segundo. Avanza durante un segundo y pare durante un 00:19:26
segundo. Avanza durante un segundo y pare durante un segundo. Y así infinitamente. 00:19:31
¿Qué ocurre? Que como no tengo ningún sensor conectado, en este caso, 00:19:37
pues el robot si llega a un obstáculo o a una pared, se estrellará. 00:19:42
Bueno, eso lo arreglamos poniéndole a este robot un sensor de distancia, aquí delante, 00:19:47
y este robot con un sensor de distancia, aquí delante, 00:19:54
si a este programa le añadimos una línea que diga, aquí por ejemplo, 00:19:59
lee distancia. Y después decimos, si distancia es menor que 10 centímetros, para. Y si no, 00:20:06
si la distancia es menor que 10 centímetros, para y espera un segundo. Bien. Fijaros, ¿qué 00:20:21
es lo que he hecho ahora? He cambiado un poquito el programa. Activa el motor 1 al 100% hacia 00:20:37
adelante, activa el motor 2, hacia adelante, bien, voy a ponerlo aquí y el robot avanza. 00:20:42
Y el sensor de distancia mira a ver si hay un obstáculo. Voy a poner un obstáculo, 00:20:49
por ejemplo, aquí. Bien, ¿qué ocurre? Pues que en este momento mido la distancia 00:20:53
y son 50 centímetros, no hay problema, pues seguimos avanzando. ¿Por qué? Porque la 00:21:01
distancia, si la distancia es menor que 10, lo que tengo que hacer es ejecutar este trozo 00:21:07
de código y si no, simplemente espero un segundo y vuelvo arriba. Por lo tanto, vuelvo 00:21:14
a activar los motores que ya están activados, no hace nada, sigue avanzando, ahora estamos 00:21:18
aquí y vuelvo a leer la distancia. ¿Sigue siendo mayor de 10 centímetros? Sigo avanzando, 00:21:23
ya estoy aquí y vuelvo a leer la distancia. ¿Es mayor de 10 centímetros? Sigo avanzando, 00:21:30
Ya estoy aquí y leo la distancia y digo, ahora ya son 9 centímetros. Este obstáculo lo tengo a menos de 10 centímetros, por lo tanto, ¿qué hace el robot? Entra dentro de esta decisión y dice, vale, apaga el motor 1, apaga el motor 2. Los paro, con lo cual ya no me estrelló. 00:21:37
y además lo he compuesto aquí gira, que gira es poner el motor de un lado andando hacia delante 00:21:56
y el motor del otro andando hacia detrás, si yo un motor lo hago girar hacia delante 00:22:04
y otro motor lo hago girar hacia detrás, lo que hace el robot es girar sobre sí mismo 00:22:08
por lo tanto el robot gira, giro el robot y lo pongo mirando y después de eso vuelvo a activar el motor 1 00:22:13
activar el motor 2 y el robot tira para delante y ¿hasta dónde va a avanzar? 00:22:24
hasta que encuentre otro obstáculo. Cuando encuentre otro obstáculo y esté a menos 00:22:30
de 10 centímetros, parará, girará, se pondrá mirando en otra dirección y volverá a avanzar 00:22:35
y así infinitamente. Y así habremos construido un robot que evita los obstáculos. Cualquier 00:22:42
obstáculo que se encuentre este robot lo va a evitar, se va a parar, va a girar y no 00:22:48
va a chocarse contra él. Bueno, pues esto es así de sencillo como nosotros vamos a 00:22:53
trabajar con los robots y esto es un poco la introducción a este tema ahora 00:22:59
bien esto que hemos escrito aquí se llama pseudocódigo 00:23:05
por qué 00:23:12
segundo 00:23:15
porque pues esto se llama pseudocódigo porque yo lo he escrito como yo hablo 00:23:18
activa el motor ponte hacia delante hacia detrás y tal este pseudocódigo 00:23:25
está escrito en lenguaje normal de una persona. Cuando yo esto lo escribo con el lenguaje 00:23:30
de programación específico, entonces lo que estaría haciendo es programar. Por lo 00:23:36
tanto, nosotros podemos escribir un programa en pseudocódigo y después transformarlo 00:23:44
en un programa. En el caso de Cranbell, lo que vamos a utilizar es un programa, un entorno 00:23:50
de programación por bloques, que es muy parecido a Scratch. Y ya veremos que tengo bloques 00:23:55
para cada una de estas órdenes, para poderlas ir poniendo y ir haciendo que la placa tome las decisiones, que ejecute, que lea, que almacene los valores, etc. 00:23:59
Bueno, pues nada más, espero que haya sido de utilidad y nos vemos en la siguiente clase. 00:24:11
Valoración:
  • 1
  • 2
  • 3
  • 4
  • 5
Eres el primero. Inicia sesión para valorar el vídeo.
Idioma/s:
es
Autor/es:
JUAN RAMÓN GARCÍA MONTES
Subido por:
Juan Ramã‼N G.
Licencia:
Reconocimiento - No comercial - Sin obra derivada
Visualizaciones:
73
Fecha:
24 de marzo de 2021 - 10:10
Visibilidad:
Público
Centro:
IES ANTONIO GAUDI
Duración:
24′ 33″
Relación de aspecto:
1.78:1
Resolución:
1366x768 píxeles
Tamaño:
156.49 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid