Activa JavaScript para disfrutar de los vídeos de la Mediateca.
4º ESO - TPR-PT. Algoritmos aplicados a Robots e Introducción a TinkerCAD Circuits - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Repaso de algoritmos para robótica, resolución de un ejemplo para un vehículo evitaobstáculos e introducción de la herramienta TinkeCAD Circuits para robótica.
Vale, pues nada, estamos en clase de TPRPT, ¿vale? Evidentemente, y lo que voy a hacer hoy es empezar revisando un poquito el material que hemos estado mirando, ¿vale?
00:00:00
Un poquito en las dos presentaciones que os he pasado, la presentación del, a ver qué pongo aquí, mejor, la presentación del, que os di con formato 3-4, ¿vale?
00:00:16
Una presentación sobre cómo se hacían los programas y unos conceptos básicos y luego una específica de programación de robots.
00:00:35
Entonces voy a empezar con eso y voy a compartiros la presentación primera que vimos.
00:00:41
¿De acuerdo? Ahí está. Entonces, esta presentación, voy a cerrar aquí, ¿vale? Esta presentación vimos que había unos conceptos básicos y entre esos conceptos básicos estuvimos viendo,
00:01:01
estuvimos viendo
00:01:15
vaya, perdonadme
00:01:19
un segundito que se me ha saltado aquí
00:01:21
esto lo cierro
00:01:23
y esto no, vale, ahora ya lo he
00:01:26
visto, vale, entonces
00:01:28
estuvimos viendo que había
00:01:29
unos diagramas de flujo donde yo podía tomar
00:01:31
decisiones y hacer bifurcaciones, donde había
00:01:33
una serie de secuencias que iban por las flechas
00:01:35
y donde podíamos hacer ciclos
00:01:38
que luego ya hemos visto que esos ciclos
00:01:39
pueden ser ciclos que se
00:01:42
conviertan en ciclos
00:01:44
para o ciclos mientras, que hoy vamos a revisar un poco.
00:01:45
Entonces esos ciclos son for, while y do.
00:01:50
Un poco más adelante en esta misma presentación
00:01:54
ya vimos todos los elementos de los diagramas de flujo
00:01:56
que en principio eran inicio o final de programa,
00:01:59
acciones y procesos, las tomas de decisiones
00:02:01
que eran los rombos, con salida si y no,
00:02:04
preguntas directas siempre, la salida de información
00:02:07
si es por impresora, pues se hace a través de este símbolo
00:02:09
Y la entrada de información o salida de información, ¿vale? Yo la pongo siempre con este, es decir, esto realmente es una entrada-salida, con lo cual este apenas se utiliza porque ya las impresoras se han dejado de utilizar, ¿vale? Entonces, este de aquí se utiliza sobre todo para entradas y salidas.
00:02:15
y luego, esto es un subprograma que es un concepto que no hemos visto
00:02:29
y que este año no se vería, se vería en primeros o en primeros.
00:02:34
Vale, entonces, ya os digo, los diagramas de flujo se representan de esta forma,
00:02:39
hicimos algunos ejemplos, ¿vale?
00:02:43
Y luego hay una condición que es este ciclo infinito, el do forever, ¿vale?
00:02:45
El hacer para siempre, que es lo que hemos simulado nosotros con PSI Int a través de los bucles
00:02:51
mientras se considere verdadero, con lo cual, al ser un ciclo verdadero,
00:02:57
siempre va a entrar dentro del bucle y nunca va a salir.
00:03:03
Hemos estado viendo los diagramas de, bueno, los NS que no los hemos tocado,
00:03:06
los hemos cortado por alto, y luego ya nos hemos puesto con PSINT a hacer ejemplos, ¿vale?
00:03:10
Entonces, bueno, pues algoritmos, por ejemplo, el algoritmo HolaMundo,
00:03:15
que era simplemente un algoritmo en el que se escribe HolaMundo y termina, ¿vale?
00:03:19
el algoritmo, a ver, este es el primero, el hola mundo, de acuerdo, después un algoritmo lineal
00:03:24
donde simplemente asignábamos un valor a una variable, otro valor a otra variable, sumábamos ambas
00:03:31
y luego poníamos un texto que decía que la suma de ambas era la suma.
00:03:35
Bueno, pues hemos ido haciendo varios ejemplos y hemos ido viendo cómo el diagrama de flujo
00:03:40
nos va permitiendo hacer cosas. También hemos visto algunos con algunas condiciones que me permitían
00:03:45
bifurcar. Entonces, el algoritmo mayor-menor
00:03:50
cogía dos números, si eran iguales, decía, salía
00:03:54
por pantalla que eran iguales, y si no eran iguales, me preguntaba si el
00:03:58
primero era mayor que el segundo. Si el primero era mayor, me decía que el mayor era el segundo.
00:04:02
Y, o sea, si era falso, el mayor es el segundo y el menor es el primero
00:04:07
y si es verdadero, pues eso quiere decir que el mayor es el primero y el menor es el segundo.
00:04:10
Hemos visto también algoritmos con bucles.
00:04:17
Esto es un bucle for, ¿vale? Entonces hemos visto el bucle que iba haciendo 5 veces este número de, ¿vale? Este número de vueltas. Hemos visto bucles como, este también es un bucle for, el del ejemplo 7. A ver, no hay ningún bucle while, el de este, el del ejemplo 8, ¿vale? Son bucles for todos.
00:04:19
Vale, luego también hay bucles, que eran bucles repetir mientras o repetir hasta, que esos los veíamos, voy a cerrar aquí, vale, volvemos a mi cara, y también hemos visto la otra presentación, que es esta, de acuerdo, donde ya hemos estado viendo pues un poco cómo funcionan los algoritmos para los robots.
00:04:42
Entonces, una vez que hemos visto cómo funciona un algoritmo y hemos visto su diagrama de flujo,
00:05:06
ahora vamos a ver cómo los hacemos para los robots.
00:05:12
Antes de seguir, ¿hay alguna pregunta? Voy a ponerme por aquí el chat.
00:05:14
¿Tenemos que tener algo a mal, no me dicen? No, no te preocupes.
00:05:20
En principio, si queréis tener un papel y un boli para apuntar cosas como en clase, no hay ningún problema.
00:05:24
Ya os digo, como esta sesión se queda grabada, en principio la tendréis disponible para poder revisarla, ¿vale? Esa es una de las ventajas de hacer las clases online.
00:05:30
Vale, y a ver, Diego, ¿qué quieres decirme? ¿Tienes la mano levantada? Cuéntame. Si quieres quitarte el micro o me lo dices, ¿y Javier también tiene la mano levantada? Si no, ah, vale, era de antes, pues quitarla, haces el favor. Y Javier, si tú también la tienes levantada de antes, quítala. Javier, vuelve entre nosotros.
00:05:39
¿Cómo se quita? Pues igual que la has puesto, cachondo.
00:06:00
Dándole al botón.
00:06:04
Vale.
00:06:05
Vale, Adri, ¿qué pasa? Cuéntame.
00:06:06
Vale, Javier, ¿sigues con la mano levantada?
00:06:10
Bueno, da igual.
00:06:12
Intenta quitarla, ¿vale, Javi?
00:06:15
Venga.
00:06:16
Si no hay ninguna pregunta, si me queréis poner las preguntas, vale.
00:06:17
Perfecto.
00:06:21
Si me queréis poner preguntas por el chat, las veo y si no, continúo.
00:06:22
¿Vale? ¿Alguien tiene dudas de cómo funcionan los diagramas de flujo?
00:06:26
Yo creo que después de los ejemplos que hemos hecho está más o menos claro, ¿no?
00:06:29
¿Tenéis alguna duda?
00:06:33
Contestadme por el chat si sí o si no, por lo menos.
00:06:36
¿Vale?
00:06:39
Para que yo, porque clase, si me decís no y yo me entero, pero ahora no me entero.
00:06:39
Vale, perfecto.
00:06:44
No hay dudas.
00:06:46
Entonces, los diagramas de flujo están claro cómo funcionan.
00:06:46
Es una secuencia de acciones que yo voy a ir ejecutando.
00:06:49
Bien, ¿cómo funcionan los algoritmos para los robots?
00:06:52
Vale, y sigo sin editar.
00:06:55
¿Qué hago para tener audio, Ángel?
00:06:57
No lo sé, es que no sé cuál es tu problema.
00:06:58
En principio deberías de tener audio sin problemas una vez que conectes la aplicación.
00:07:00
¿Vale? Este es el segundo. ¿Deberías tener audios si intenta cortar la conexión y volver a meter en clase? Vale, le he contestado a... Vale, Lucía, tú no... Yo lo entiendo, vale. O sea que es un no coma, yo lo entiendo. O sea que sí que lo entiendes.
00:07:05
Y a Ángel le acabo de decir que se intente reconectar, a ver si lo consigue. Vale, en el iPad lo he activado en ajustes, vale. Perfecto, Izan, pues a ver si conseguimos que Ángel pueda conectar el audio. Estas son las cosas de la primera, vale, ya digo, como lo estoy grabando no hay problema, en principio lo vais a poder ver luego.
00:07:42
Vale, Matías, perfecto.
00:08:04
Pues nada, continuamos el viaje, venga.
00:08:05
Vamos a ver esta segunda parte.
00:08:07
¿Cómo funcionan los robots?
00:08:10
Bueno, los robots funcionan de esta forma, ¿vale?
00:08:11
Lo tengo aquí, ahí estamos.
00:08:13
Entiendo que estáis viendo, ¿vale?
00:08:16
Sí, tengo el uso compartido de esta aplicación,
00:08:17
con lo cual lo tenéis que estar viendo.
00:08:20
Bien.
00:08:22
Entonces, ¿cómo funcionan los robots?
00:08:24
Bien, los robots en principio funcionan de esta forma.
00:08:25
Hay una serie de sensores que están conectados
00:08:28
a los pines de entrada que son estos pines que están por aquí. Estos sensores están conectados y van a poder introducir valores
00:08:31
de lo que estén midiendo, sea lo que sea. El pulsador pues meterá un 0 o un 1 en función de que esté pulsado o no.
00:08:40
El LDR meterá si hay mucha luz una resistencia a un valor muy bajito y si hay poca luz un valor muy alto de la resistencia.
00:08:46
Es decir, va a meter un número. Los que meten números en función de lo que miden siempre se mueven en el rango entre 0 y 1024 para las placas de control robótico que vamos a utilizar nosotros.
00:08:54
Entonces, un LDR, cuando hay mucha luz, va a tener un valor de 0 y cuando hay poca luz va a dar un valor de 1024. Siempre va a ser entre 0 y 1024.
00:09:07
La distancia es lo mismo. El sensor de distancia, imaginaros que tiene un rango de un metro. Pues si hay algo que está a más de un metro, es decir, yo no tengo nada dentro de mi rango, el sensor de distancia no detecta nada, me va a devolver un valor de 1024.
00:09:18
Eso quiere decir que en el metro que yo puedo ver, en esa distancia que yo puedo ver, no hay nada.
00:09:37
En el momento en el que algo entre dentro de esa distancia y empiece a acercarse,
00:09:42
el valor del sensor va a ir bajando desde 1024 hasta 0.
00:09:46
Entonces, él va a ir midiendo la distancia y me va a devolver un valor entre 1024 y 0.
00:09:52
Luego nosotros, internamente, el fabricante me permite utilizar una forma rápida para transformarlo en centímetros o en milímetros.
00:09:57
Que es lo que voy a hacer, ¿de acuerdo? Entonces, cuando un sensor de distancia me esté dando 90 centímetros o 100 centímetros, eso quiere decir que no encuentra ningún obstáculo.
00:10:05
Y en el momento en el que esté dándome valores por debajo de eso, hasta cero, eso quiere decir que se está encontrando con un obstáculo, ¿vale?
00:10:20
Pero realmente el sensor siempre me va a dar valores entre 0 y 1024 y lo que va a recibir la placa, lo que va a recibir esta placa de aquí o esta, son valores entre 0 y 1024, ¿vale? ¿Entendéis este concepto del sensor analógico, que es como se llaman estos, ¿vale? De los sensores analógicos? Decidme si lo entendéis o si os habéis perdido, ¿vale?
00:10:29
Dime, Ibai, te veo por aquí. ¿Vale? ¿Se entiende? Vale, perfecto. Entonces, tengo dos tipos de sensores. Los sensores tipo pulsador, que son o activado o desactivado, o 1 y 0, o alto y bajo, llamarlo como queráis, ¿vale?
00:10:53
Entonces, ¿va a dar realmente esta presentación dónde está colgada? Esta presentación os la dejé colgada en el blog, ¿vale? Si no recuerdo mal, voy a comprobarlo un segundito, ¿vale?
00:11:14
os comparto
00:11:28
este para que lo veáis
00:11:30
y en principio
00:11:33
www.educa2webjuan.garcia
00:11:35
vale, si entráis en el blog
00:11:39
y vais a
00:11:41
tprpt
00:11:42
si no recuerdo mal
00:11:43
en el reto
00:11:46
ah, vale, no, no, no, os la he
00:11:48
os la he puesto en el vídeo, vale, la tenéis en el vídeo
00:11:51
no la tenéis compartida, pero os la voy a
00:11:53
compartir con el
00:11:55
con el vídeo de la clase, ¿de acuerdo? Esta es la que he utilizado en el vídeo donde os planteaba el reto de Semana Santa, ¿de acuerdo?
00:11:56
Entonces, en este vídeo la he utilizado y es donde he explicado las cosas, ¿vale? Bien, entonces, continúo.
00:12:05
No, no la he subido, efectivamente, Elías, no he subido la presentación, pero la he utilizado, ¿vale? Luego la subo, luego os la pongo en PDF
00:12:14
para que la podáis tener, no os preocupéis.
00:12:20
Bien, continúo.
00:12:23
Entonces, lo que tengo por un lado son sensores que me permiten,
00:12:25
si son sensores digitales, es decir, sensores que utilizan valores 0 o 1,
00:12:30
verdadero o falso, pulsado o sin pulsar, alto o bajo, me da igual, dos opciones.
00:12:35
Esos son sensores como el pulsador y voy a conectarlos a los pines que tengo
00:12:40
que se llaman pines digitales, que son los de uno de los lados de la placa arduino, ¿vale?
00:12:46
Esta placa es una placa arduino, que es con la que vamos a empezar a trabajar a partir de hoy.
00:12:51
Entonces, los pines del lado largo, digamos los que tienes muchos, estos son sensores, o sea, son pines analógicos.
00:12:55
Y me van a permitir conectar este tipo de sensores. Sensores que me dan o 1 o 0.
00:13:05
O lo que es lo mismo, como estamos hablando de voltajes, de voltios, o 5 voltios, muchos voltios o pocos voltios, ¿vale? O muchos voltios o pocos voltios. Un voltaje alto, un voltaje bajo.
00:13:10
y luego en esta parte de aquí está este primer tramo de conexiones que tengo en este lado
00:13:22
que luego lo vamos a ver mucho más claro
00:13:28
son pines para conectar sensores analógicos
00:13:29
es decir, sensores que me van a dar valores entre 0 y 1024 en función de lo que estén midiendo
00:13:36
imaginaros que estoy utilizando un sensor de temperatura
00:13:41
entonces, al usar un sensor de temperatura
00:13:47
si es capaz de detectar entre 0 grados y 100 grados
00:13:50
cuando mida 100 grados o más
00:13:56
me va a dar 1024, que es el mayor valor que da un sensor análogo
00:13:59
si estamos en 200 grados me va a dar 1024
00:14:02
si estamos en 300 grados me va a dar 1024
00:14:05
pero sin embargo, si va bajando de 100 grados
00:14:07
va a irme dando valores entre 1024 y 0
00:14:11
Y si el valor mínimo que ese sensor es capaz de detectar es 0 grados centígrados, cuando llega a 0 grados centígrados la temperatura, me va a marcar 0 voltios, me va a marcar un 0, ¿vale? Entre 0 y 1024.
00:14:14
Entonces, me va a marcar un 0. Y a partir de ahí, a menos 10 grados, a menos 20 grados, a menos 30 grados, la temperatura va a seguir marcando 0 porque ya se me sale del rango de lo que yo soy capaz de medir, ¿de acuerdo?
00:14:28
Por lo tanto, un sensor analógico devuelve valores entre 0 y 1024.
00:14:39
Bien, nosotros medimos lo que ocurre a nuestro alrededor a través de los sensores,
00:14:45
lo metemos en la placa.
00:14:49
La placa, ¿qué es lo que hace?
00:14:51
Coge esos valores y para poder luego utilizarlos,
00:14:52
los va almacenando en variables.
00:14:55
Pues coge una variable para la distancia, una variable para la luminosidad,
00:14:58
una variable para el pulsador, si está activado o desactivado.
00:15:01
Y en función de esos valores que yo he leído,
00:15:04
hago algún proceso que me permite tomar decisión.
00:15:07
Esa es la parte que hace el procesador, esa es la parte que hace el microcontrolador, que es esta placa.
00:15:13
Y luego, una vez que hemos tomado decisiones, lo que hago es, a través de cables,
00:15:18
conecto lo que se llaman los actuadores, ¿vale?
00:15:22
Son los dispositivos de salida.
00:15:25
Pueden ser motores, pueden ser luces, puede ser, yo que sé, un pistón hidráulico,
00:15:29
puede ser lo que sea, ¿vale?
00:15:34
Un servo normalmente suelen ser luces y motores,
00:15:37
pero pueden ser muchas cosas, ¿de acuerdo?
00:15:40
Yo ahí puedo poner válvulas, puedo poner cosas hidráulicas,
00:15:42
puedo poner un montón de cosas.
00:15:46
Entonces, nosotros nos vamos a centrar sobre todo en motores y luces.
00:15:48
Bien, ¿y qué es lo que puedo hacer?
00:15:51
Pues si es una luz o encenderla o apagarla.
00:15:53
Fijaros que la luz es una cosa que solamente tiene dos posiciones.
00:15:55
Es como lo que habíamos visto del pulsador.
00:15:59
La luz o la enciendo o la apago.
00:16:01
y el motor ¿qué puedo hacer? lo puedo encender, lo puedo apagar pero también puedo hacer que vaya a más velocidad o a menos
00:16:03
entonces el motor va a ser un dispositivo de salida que yo voy a conectar de forma analógica
00:16:11
y le puedo poner un porcentaje de velocidad que es lo que os he dicho
00:16:17
y luego las luces por ejemplo pues son luces que solamente puedo ponerlas o encendidas
00:16:21
y así es como funciona una placa de control robótico y esto funciona de forma infinita
00:16:25
¿Qué es lo que hace? Pues lo que hace el robot es esto, lee los sensores, coge esos valores del entorno que ha leído y los asigna a variables, después procesa la información, después toma decisiones y por último actúa si es necesario.
00:16:31
Al tomar decisiones puede ser que la decisión sea no hacer nada y entonces simplemente pasa de largo, ¿de acuerdo? Y si toma la decisión de hacer algo, entonces actúa.
00:16:48
Vale, entonces ya vimos que para leer los sensores nosotros en PSINT lo que íbamos a hacer era escribir por pantalla,
00:16:57
oye, dame el valor del sensor de distancia y luego íbamos a leer una variable y le íbamos a asignar a una variable el valor.
00:17:06
Por lo tanto me quedaba de esta forma, por ejemplo, vamos a leer el sensor de ultrasonidos y leemos la variable U de ultrasonidos.
00:17:15
Leemos LDR y escribimos, o sea, escribimos leer LDR y leemos la variable L.
00:17:22
Con lo cual, asignamos a la variable L la distancia, o sea, la luminosidad que está detectando el LDR.
00:17:27
Si tenemos un botón, pues leemos si tiene activo o desactivado, o sea, está pulsado o no pulsado y lo almacenamos en P.
00:17:34
¿De acuerdo? Eso es un poco cómo funciona la simulación que nosotros hacemos en PSI.
00:17:41
Después, tenemos que hacer el proceso de la información, ¿vale?
00:17:47
Que es con bucles, con asignación de variables, cojo sus valores y hago cosas con ellos.
00:17:51
Y después tomo las decisiones y las decisiones serán con las bifurcaciones de tipo sí.
00:17:57
Si ocurre algo pasa por aquí y si no pasa por el otro lado.
00:18:02
Entonces las salidas nosotros las vamos a simular con el escribir.
00:18:07
Es decir, una forma de conectarle al PSI un actuador.
00:18:13
y entonces lo que vamos a decirle es que escriba, pues gira el motor al 75% o hazlo.
00:18:18
Vale, esa era la forma de hacer un algoritmo completo, os ponía el ejemplo.
00:18:23
Fijaros, un bucle infinito, mientras sea verdadero hacer, esta parte es el bucle infinito,
00:18:31
que iba a estar tiki tiki tiki dando vueltas, y empezábamos leyendo el sensor de ultrasonidos,
00:18:35
leíamos la variable u y luego la utilizábamos.
00:18:40
¿Cuánto me mide el sensor de ultrasonidos? Vamos a poner que mide 12 centímetros.
00:18:44
Pues si no es menor que 12 centímetros, enciende el luz verde. Con lo cual, como no es menor de 10, perdón, 12 es mayor, entonces enciende la luz verde. Eso quiere decir que no tengo ningún peligro dentro de mi rango y vuelvo.
00:18:47
vuelvo a leer el sensor de ultrasonidos
00:19:02
esto en un robot es inmediato
00:19:04
es leer y pasa
00:19:06
yo eso lo voy a meter a mano y va a quedar separado
00:19:07
el programa pero evidentemente eso en un robot
00:19:10
es algo inmediato, yo simplemente
00:19:12
le cojo el sensor y cojo su valor
00:19:14
voy a otro sensor y cojo su valor
00:19:16
voy a otro sensor y eso son microsegundos
00:19:17
¿vale? con lo cual es leer
00:19:19
la información de los sensores se le hace
00:19:22
microsegundos y entonces ¿qué va a ocurrir?
00:19:24
que con esos valores yo voy a tomar
00:19:27
las decisiones y vuelvo a leer
00:19:28
los sensores. Y vuelvo a leer y vuelvo a leer. Entonces, puedo leer los sensores
00:19:29
cientos de veces por segundo. Eso hace que el robot funcione de forma
00:19:34
continua. ¿De acuerdo? Realmente no funciona de forma continua. Yo voy leyendo
00:19:38
digamos los sensores cada cierto tiempo, pero es tan corto ese tiempo
00:19:41
que al final no sucede nada entre medias. ¿De acuerdo?
00:19:45
Es simplemente el robot actúa de forma inmediata. Para mi
00:19:49
forma de ver. Bueno, entonces ya pasamos a nuestro reto
00:19:54
Y el reto, ¿cuál era? Era construir un robot que hiciera esto. Antes de pasar al reto, preguntas. ¿Alguien tiene alguna pregunta? ¿Vale? ¿Diego? ¿Vale? ¿Fernando Barrera? ¿Vale? Si queréis o me hacéis, ¿qué se considera un robot? ¿Vale? Cristina pregunta qué se considera un robot.
00:19:58
¿Vamos a tener que hacer un robot? Vale, en clase sí que lo íbamos a hacer
00:20:27
¿Vale? Sí, Diego, no te preocupes
00:20:31
Vete a inglés y luego, como voy a colgar la presentación
00:20:33
La ves, ¿vale? La visualizas, no te preocupes
00:20:36
¿Vale? Los que tengáis que ir a inglés, iros, no hay ningún problema
00:20:39
Vale, vuelvo a las preguntas de antes
00:20:43
¿Qué se considera un robot, Cristina? Vale
00:20:46
Un robot se considera un sistema automático
00:20:48
Espera un segundo
00:20:52
Voy a tener el uso compartido de esto de momento
00:20:53
porque así me veis mejor, ¿vale? Así me veis mejor.
00:20:57
Vale, un robot es un sistema automático que va a estar cogiendo información del entorno a través de sensores,
00:21:01
tomando esa información, analizando esa información, generando decisiones con respecto a esa información
00:21:09
y luego actuando en consecuencia, ¿vale?
00:21:17
Por ejemplo, ¿qué es un robot?
00:21:20
¿Podríamos considerar un aire acondicionado un robot?
00:21:22
Sí, muy sencillito. Es un robot muy sencillo. ¿Por qué?
00:21:27
Porque tiene un sensor de temperatura y tiene un motor que me permite encender o apagar el aire acondicionado.
00:21:29
Si el sensor de temperatura, si yo le pongo en el termostato que quiero estar a 30 grados,
00:21:35
si el sensor de temperatura me va leyendo la temperatura y estamos por debajo de 30 grados, el motor no se enciende.
00:21:41
Pero si estamos por encima de 30 grados, el motor se enciende.
00:21:48
Y entonces me mantiene la temperatura de la habitación al nivel que yo le he indicado. Eso sería un robot. Sería un robot muy sencillo, muy básico, ¿vale? Y con una decisión muy sencilla, muy básica.
00:21:51
Un sistema que no es un robot, por ejemplo, es un ventilador. Que yo le cojo, le doy al 1 y eso se enciende y no tiene ningún sensor, no tiene ninguna alimentación de lo que está ocurriendo en el entorno
00:22:04
y no toma decisiones por sí solo.
00:22:14
Simplemente se enciende, se apaga y se acabó.
00:22:16
Entonces, eso sería un sistema automático, pero no sería un robot.
00:22:18
Entonces, la diferencia entre el robot y el sistema automático es esa,
00:22:22
que yo tengo sensores que me permiten interactuar con el entorno y tomar decisiones.
00:22:25
¿Vale?
00:22:30
Vale.
00:22:31
Me preguntaba, Fernando, si tienes alguna duda adicional, Cris, me lo dices, ¿vale?
00:22:32
No hay ningún problema, me lo dices por el chat.
00:22:36
Vale.
00:22:39
Vamos a tener que hacer un robot.
00:22:40
Si me hubiera gustado que hiciéramos un robot
00:22:41
Un segundo, me voy a salir de la pantalla porque voy a coger humo
00:22:45
Vale, la idea es que hubiéramos hecho esto en clase
00:22:47
Tengo los kits preparados, pero evidentemente
00:22:53
Como estamos en cuarentena, pues no lo vamos a poder hacer
00:22:56
Porque os va a faltar esta placa de aquí
00:23:01
Que es la placa que íbamos a utilizar
00:23:03
Es una placa muy sencillita
00:23:05
Que se utiliza más sencilla que la de Arduino
00:23:07
Pero es esta placa la que íbamos a utilizar para poder hacer el robot
00:23:09
Además, con los cocodrilos estos, pues es muy fácil de conectar porque simplemente con las pinzas ir cogiendo las cosas.
00:23:14
Aquí veis que tenemos un sensor de distancia, ¿vale?
00:23:20
Y bueno, aquí tenemos un par de motores, un motor y otro motor.
00:23:23
Entonces, con esto lo que íbamos a hacer era, con este robot, hacer justo lo que habéis visto en lo que habéis hecho en el reto de Semana Santa, ¿vale?
00:23:26
Un robot que hiciera ciertas cosas y que se pudiera mover.
00:23:34
Y funciona, ¿vale? Funciona sin problemas.
00:23:38
esta es la caja de las pilas, donde están las pilas, tiene un interruptor por aquí y bueno, pues al final el robot funciona, si queréis lo puedo encender, ¿vale? El robot anda y si encuentra un obstáculo, es, ¿qué pasa aquí?
00:23:39
Si encuentra un estápulo, gira una rueda, la otra no, y luego en el momento en el que
00:23:57
le quito la distancia, sigue avanzando.
00:24:15
Si encuentra con otra pared, hace el movimiento de giro y tira.
00:24:17
¿Veis?
00:24:21
Es un robot muy sencillito, con un algoritmo muy sencillo, que lo habéis hecho vosotros
00:24:23
mismos, que lleva un trozo de madera.
00:24:28
unas brigas, luego había
00:24:30
imprimido en la impresora 3D los soportes de las bolas
00:24:33
y el soporte para el sensor, ¿vale?
00:24:36
Que son piezas imprimidas en la impresora 3D
00:24:39
Todo esto ya lo tenía yo preparado en kits
00:24:42
para que vosotros pudierais hacerlo, ¿vale? Pero no vamos a poderlo
00:24:45
hacer porque evidentemente no tenéis las piezas y no os voy a hacer
00:24:48
comprarlo, ¿vale? Pero sí que vamos a hacer una cosa
00:24:51
que es simularlo. Entonces
00:24:54
os voy a enseñar, ¿vale?
00:24:56
Esto es Tinkercad. A ver un segundito. No sé si lo estoy compartiendo. No estoy seguro de si... No, no lo estoy compartiendo. Espera un segundito. Voy a compartir esto. Esto es Tinkercad. Esto de aquí es Tinkercad.
00:25:00
Y en Tinkercad ahora hay una opción para circuitos. Lo voy a poner más grande para que lo veamos todos. Ahí está. ¿Vale? Entonces, hay una opción para circuitos que me permite simular circuitos. Por ejemplo, pues voy a coger... A ver, un segundo, que quites... Hay cositas aquí que me estorban. Vale.
00:25:20
Entonces, voy a cerrar este, un segundo, ah no, bueno, vale, me ha salido, vale, cojo este, lo modificamos, voy a cogerme un circuito que ya está hecho, vale, hay algunos ejemplos para poder jugar aquí en los starters, vale, entonces voy a coger un starter básico de Arduino y voy a coger, pues yo que sé, de estos, vale, una intermitencia, vale, entonces, vale, aquí lo tengo,
00:25:36
Voy a quitarme la placa que tenía ahí abajo.
00:26:06
Sí. Vale.
00:26:09
¿Veis? Yo voy a poder simular.
00:26:11
En este caso tengo un LED con una resistencia conectado a dos pines de la parte digital.
00:26:13
¿Vale? Veis que aquí pone digital, aquí pone analógico.
00:26:20
Entonces estas son las entradas analógicas, que es donde yo conectaré los sensores que van de 0 a 1024.
00:26:24
Y aquí tengo las digitales.
00:26:29
Y con esto vamos a simular. ¿Vale?
00:26:30
Yo tengo aquí una serie de componentes.
00:26:32
Por ejemplo, pues tengo un pulsador que yo podré conectar de aquí, por ejemplo, este pin aquí y este pin, pues, yo qué sé, aquí.
00:26:34
¿Vale? Puedo hacer conexiones y puedo ir conectando. Entonces, a esto es lo que vamos a utilizar, un simulador.
00:26:43
Luego, lo bueno que tiene esto es que, una vez construido, yo lo puedo ejecutar y voy a poder ver cómo funciona.
00:26:49
Veis que en este caso el LED se enciende y se apaga. Entonces es una simulación parecida a lo que sería un robot, pero no vamos a poder verlo funcionando, ¿vale?
00:26:58
Ya os enseñé que yo tengo aquí en casa un par de robots, ¿vale? Uno de ellos es el que os acabo de enseñar, tengo otro un poco más complejo con un sensor de Bluetooth que me permite conectarlo a un móvil y moverlo adelante y atrás y poder dirigirlo desde un móvil.
00:27:09
Bueno, íbamos a hacer algunas cosas chulas, pero bueno, dado que estamos en confinamiento, pues no vamos a poder hacer esas cosas tan chulas. Y nos vamos a tener que quedar solo con la parte de teoría, ¿vale? Vamos a hacerlo con simuladores y eso nos va a permitir más o menos hacerlo.
00:27:24
Vale, entonces, preguntas hasta ahora, más o menos, ¿sabéis cómo funcionan ya los algoritmos?
00:27:43
¿Sabemos cómo funciona el algoritmo de un robot?
00:27:48
Un robot está en un algoritmo infinito, dando vueltas, y va a coger la información de los sensores,
00:27:50
va a procesarla y luego va a actuar, ¿de acuerdo?
00:27:57
Bien, ¿cuál era el reto de Semana Santa entonces?
00:28:01
Vuelvo a compartiros la presentación.
00:28:03
vale, el reto de Semana Santa
00:28:07
era construir un robot
00:28:10
que hiciera lo siguiente
00:28:12
el robot es este que es el mismo que os acabo de enseñar
00:28:13
es el que tengo yo aquí en casa
00:28:15
le hice una foto en un momento
00:28:17
vale, entonces
00:28:19
tiene un sensor de distancia que es este frontal
00:28:20
que mira hacia adelante
00:28:24
y va a estar midiendo la distancia continuamente
00:28:25
y entonces
00:28:28
la distancia nos la va a dar en milímetros
00:28:29
entonces cuando reciba
00:28:31
la información
00:28:34
el número que me va a devolver va a ser la distancia
00:28:35
en milímetros.
00:28:38
¿Qué voy a hacer? Pues, si
00:28:39
luego además tengo dos motores, el motor de la rueda
00:28:41
izquierda y el motor de la rueda derecha.
00:28:44
¿Vale? Los motores tienen que ir
00:28:46
hacia adelante. Entonces, yo quiero que
00:28:47
el robot, si no tiene nada adelante,
00:28:49
si no tiene ningún obstáculo, pum, pum, pum, pum,
00:28:51
las dos ruedas estén moviendo hacia adelante.
00:28:53
¿Vale? Las ruedas se pueden mover
00:28:56
hacia atrás, también podrían moverse hacia atrás.
00:28:57
O las ruedas se pueden parar.
00:29:00
¿Vale? Son las acciones que puedo hacer sobre los
00:29:01
motores. Yo le puedo decir, anda,
00:29:03
retrocede
00:29:06
o para. Y además, cuando
00:29:07
le digo que ande o que retroceda, le puedo decir
00:29:09
si quiero que vaya al 0%, al 1%,
00:29:11
al 10%, al 100% de velocidad
00:29:13
máxima que tienen que me dar.
00:29:15
Vale. Entonces, bueno,
00:29:18
pues ahí os pongo unos ejemplos
00:29:19
de cómo funciona en este caso.
00:29:21
Y lo que os pido es que diseñéis un
00:29:23
algoritmo, ¿vale?
00:29:25
Que construya, para construir
00:29:27
un programa que podamos hacer que el
00:29:29
robot se comporte de la siguiente forma. Que avance
00:29:31
siempre a la máxima velocidad, pero que cuando la distancia medida por el sensor a un objeto
00:29:33
sea menor de 10 centímetros, como me está midiendo en milímetros, tiene que ser menor
00:29:37
de 100, ¿vale? Entonces tiene que echar marcha atrás haciendo un giro. ¿Cómo lo hago?
00:29:41
Haciendo que una rueda se mueva y la otra no. Entonces el robot gira como los tanques,
00:29:46
¿vale? Entonces, si muevo solo una de las ruedas, el robot lo que va a hacer es ir hacia
00:29:51
atrás girando, ¿vale? Y entonces echan para atrás haciendo un giro, así cambian la dirección
00:29:57
y cuando haya hecho un giro más o menos de un tercio de vuelta, pues que se irá hacia
00:30:04
adelante y tire, ¿vale? Para poder hacer eso vamos a hacer una secuencia de comandos
00:30:09
automática que vamos a, digamos, secuenciar a través de un comando que es el comando
00:30:15
esperar, ¿vale? El comando esperar me permite esperar durante un tiempo y eso quiere decir
00:30:21
no que se pare el robot y se quede estático, sino que si un motor está funcionando y yo
00:30:27
le digo que espere, el robot se queda sin hacer nada, es decir, el motor sigue funcionando,
00:30:31
¿vale? Si yo estoy con las ruedas paradas y le digo que espere, eso se queda parado,
00:30:36
con lo cual el robot va a seguir haciendo lo que está haciendo, ¿vale? Y luego, bueno,
00:30:43
Os ponía aquí un pequeño vídeo de cómo funcionaba ese robot, ¿vale? Lo hice ayer en el instituto en un momento y ahí lo podéis ver cómo funciona. Entonces, ¿cómo es el algoritmo para este robot?
00:30:46
Bien, voy a dejar esto por aquí a la izquierda y voy a poner aquí a la derecha un algoritmo, en este caso voy a poner el algoritmo de Lucía, que me lo ha mandado, y este algoritmo, aquí lo tenemos, un segundito, vale, entonces, el algoritmo de Lucía está casi bien, tiene algunos fallos, pero está casi, casi bien.
00:30:59
Entonces, pues lo voy a utilizar como ejemplo. ¿Vale? ¿Qué es lo que ha hecho Lucía? Bien, perfecto. Empezamos con un algoritmo con el nombre robot. Muy bien. Y ahora, mientras que es verdadero, vamos a hacer, con lo cual el robot va a estar infinitamente en este bucle. Perfecto. Hasta aquí estamos siguiendo lo que hemos visto que era necesario para hacer un algoritmo de un robot.
00:31:27
Bien, ¿y qué vamos a hacer?
00:31:48
Vamos a mover el motor 1 hacia adelante y vamos a mover el motor 2 hacia adelante.
00:31:50
Esto parece que está bien, pero ahora vamos a ver que tiene un pequeño problema.
00:31:53
¿Vale?
00:31:57
Movemos los motores hacia adelante.
00:31:57
Esto hace que el robot empiece a andar.
00:32:00
Y luego le decimos, ingresa la medida en milímetros.
00:32:02
Realmente yo no le voy a decir esto, lo que voy a hacer es leer, ¿vale?
00:32:05
Porque esto es un sensor.
00:32:09
entonces aquí realmente tendría que decirle leer el sensor de ultrasonidos y aquí le pongo
00:32:09
milímetros para indicar como yo lo estoy simulando pues entonces el usuario va a meter
00:32:19
lo que el sensor de ultrasonidos daría y leemos una variable que se llama mm perfecto luego si
00:32:24
os fijáis me dice escribir centímetros y hace milímetros entre 10 bueno yo en vez de hacer
00:32:31
esto así, os recomiendo que siempre utilicéis variables adicionales. Por ejemplo, una variable
00:32:37
que voy a llamar centímetros es igual a milímetros entre 10. ¿De acuerdo? Y a partir de ahora
00:32:42
ya, en vez de utilizar esto, voy a utilizar simplemente la variable centímetros. ¿Vale?
00:32:48
Y esto voy a utilizar la variable centímetros. ¿Por qué? Porque la variable centímetros
00:32:55
la voy a utilizar muchas veces. Entonces, en lugar de estar haciendo divisiones cada
00:33:01
vez que quiero utilizarla, ¿vale? Este es un programa muy sencillo, solo se usa dos
00:33:05
veces, pero en un programa más complejo es probable que lo
00:33:09
utilicemos 10-15 veces.
00:33:11
Entonces, si cada vez que quiero utilizarla
00:33:13
tengo que dividir por 10, estoy comiéndome
00:33:15
ciclos de CPU. Estoy comiendo
00:33:17
CPU. Entonces es más fácil hacer la cuenta
00:33:19
una sola vez, guardarlo en la variable y luego
00:33:21
ya simplemente utilizar esa variable. ¿De acuerdo?
00:33:23
Vale. Entonces,
00:33:25
esto lo voy a meter un poquito más allí.
00:33:27
Así se ve. Vale. Entonces,
00:33:29
empezamos leyendo la distancia
00:33:31
y vamos a meterlo en una variable.
00:33:33
Centímetros igual a milímetros partido por 10.
00:33:35
¿Vale? Esto no es así. Perdón.
00:33:37
Esto es así, como lo haría el PSI.
00:33:39
Ahora, centímetros es, le asignamos a la variable centímetros el milímetro centímetro.
00:33:47
Ahora decimos, escribir centímetros.
00:33:54
Un robot, evidentemente, a no ser que quiera que me informe a través de un display o lo que sea,
00:33:56
no tiene que escribir nada, ¿de acuerdo?
00:34:01
Un robot no tiene que escribir nada.
00:34:03
Por lo tanto, yo ya tengo almacenado en centímetros la variable correspondiente a la distancia en centímetros.
00:34:06
Y esa es la que voy a utilizar para tomar las decisiones.
00:34:11
Esto sería lo que yo he llamado aquí en este ciclo procesar la información.
00:34:13
Es decir, hemos leído los sensores, hemos asignado las lecturas a las variables, que es esta orden,
00:34:21
hemos procesado la información, he cogido la información que me ha leído los sensores y la he transformado en los valores correctos
00:34:28
Y luego he tomado las decisiones. Si los centímetros son menores que 10, hago una serie de cosas. Y si no, hago otra. Perfecto. Las actuaciones están en función de la decisión que he tomado si hago una cosa o la otra.
00:34:34
Vale, ¿qué problemas tengo aquí? Bien, fijaros, primero mueve el motor hacia adelante al 100% y mueve el motor hacia adelante al 100%.
00:34:48
Si yo estoy con una distancia mayor que 10 centímetros, me va a mover el motor hacia adelante y me va a mover el motor hacia adelante, pero cuando termine el bucle de metas lo va a volver a mover.
00:34:56
Si os fijáis, yo ejecuto este algoritmo y le digo, leer el sensor de ultrasonido, si le digo que estoy a 125, es decir, a más de 10 centímetros, me sale dos veces.
00:35:05
Mueve el motor 1 hacia delante y el 2 hacia delante y luego otra vez el motor 1 hacia delante y el motor 2 hacia delante.
00:35:19
Esto es absurdo, ¿vale? No es necesario lanzar dos veces la orden al sensor, al motor y de hecho se puede poder dar algún problema con algunos actuadores.
00:35:24
Entonces, estas dos primeras líneas sobran. ¿Por qué sobran? Sobran porque, fijaros, si yo directamente lo primero que hago es leer el sensor,
00:35:35
El sensor, ya os digo que es una cosa que tarda microsegundos, 125, ya solamente entra dentro de la rama del bucle que me dice que estoy a más distancia y me mueve el motor.
00:35:48
Si yo vuelvo a leer el sensor, 160 y estoy más lejos, pues el motor sigue moviéndose hacia delante, pero ya solo sale la orden una vez, lo cual es mejor, ¿vale?
00:35:59
Con lo cual, esa es la primera corrección que había que hacerle importante a este algoritmo.
00:36:11
Luego, la segunda corrección, ¿cuál es? Vale, ¿qué ocurre cuando la distancia es menor a 10 centímetros? Pues lo primero que voy a hacer es esperar un segundo. Pues hombre, si tengo un obstáculo a menos de 10 centímetros, estoy avanzando al 100% y me espero un segundo, pues me choco, ¿vale? Entonces no tengo que esperar nada. Si tengo un obstáculo a menos de 10 centímetros, tengo que actuar de forma inmediata, con lo cual no tengo que esperar nada, ¿vale?
00:36:17
¿Qué tengo que hacer? Inmediatamente parar los motores. ¿Por qué? Porque si no me choco. Entonces, tengo el obstáculo a menos de 10 centímetros, paro. Ahora, ¿qué hago? Perfecto, muevo el motor 2 hacia atrás 50%, ¿vale? Pues cojo una rueda y muevo hacia atrás. Y aquí sí, esperamos un segundo, ¿vale? Y luego ya movemos hacia adelante. Aquí ya estaría perfecto.
00:36:41
Bien, hay una cosa, ¿vale? Tenemos que recordar que estamos trabajando con dispositivos físicos reales. Entonces, a los que me habéis mandado el reto solucionado, os he dicho, tener en cuenta que si yo estoy moviendo un motor hacia una dirección y de repente cojo y le cambio bruscamente hacia la otra y le digo, anda hacia delante y cambia, puedo cargarme el mecanismo.
00:37:03
Entonces, normalmente, ¿vale? Esto además hay un comando aquí, esto lo voy a cambiar por, esto está bien, pero podríamos poner esperar un segundo, ¿vale?
00:37:27
Y entonces ahora el algoritmo va a esperar realmente un segundo y ahora le digo, escribe, escribir para motor 1 y escribir para motor 2.
00:37:39
vale entonces en esta parte de fijaros que parado los dos motores con lo cual al empezar a andar
00:38:04
hacia atrás ya he parado el movimiento de hacia adelante y lo he salvado el hecho que el motor
00:38:10
no sufra pero ahora para poder poner el motor uno está parado porque el que he hecho para atrás
00:38:15
esté parado simplemente el motor dos es el que están dando hacia atrás lo paro y ya los dos
00:38:20
tiro para adelante. Con lo cual ahora, fijaros lo que ocurre. Tengo mi algoritmo y digo leer el sensor de ultrasonidos, vale, 125, vale, pues hacia adelante, 123, 120, 110, me estoy acercando,
00:38:27
de momento sigo hacia adelante, siempre muevo los motores hacia adelante, 100 y ahora llego a 95. Entonces paro los motores, veis que ha esperado un segundo,
00:38:44
mueve el motor 2 hacia detrás
00:38:53
¿vale? para el motor
00:38:55
y
00:38:57
mueve, o sea, para el motor 2, perdón
00:38:58
a ver, para los motores
00:39:01
mueve el motor 2 hacia detrás
00:39:04
espera un segundo
00:39:05
¿de acuerdo? y luego para el motor 2 y los mueve
00:39:06
hacia detrás, con lo cual lo que ha hecho ha sido
00:39:09
una rueda la ha echado hacia detrás
00:39:11
durante un segundo y lo voy a hacer
00:39:13
¿bien? y se me queda esperando de nuevo
00:39:15
el sensor de ultrasonidos, esta secuencia
00:39:17
de aquí
00:39:19
la ha hecho del tirón
00:39:21
Y hemos utilizado la espera intermedia para poder hacerlo. Lo voy a repetir, imaginaros que ahora estoy a 90, ¿vale? Fijaros que después de mover el motor 2 hacia detrás, se queda esperando un segundo. ¿Veis? Se ha quedado esperando un segundo.
00:39:22
Voy a hacerlo más exagerado y le voy a poner que espere 5 segundos, ¿vale?
00:39:38
Esto haría que el robot estuviera girando sobre sí mismo, pero bueno, para el ejemplo me vale.
00:39:43
Entonces, esperad un segundo que no veo.
00:39:50
Entonces, le damos aquí, ejecutando el proceso robot, le damos el sensor 120, 110, perfecto, y llegamos a 100.
00:39:55
Cuando pasamos de A95, fijaros, mueve el motor 2 hacia atrás,
00:40:07
se queda con el motor 2 hacia atrás esperando durante un segundo
00:40:11
y luego tira para adelante.
00:40:14
Y se vuelve a leer el sensor de ultrasonido.
00:40:16
Y así continuamente.
00:40:18
Y esto es un algoritmo infinito, con lo cual el robot, ¿qué va a hacer?
00:40:20
Avanza.
00:40:22
Cuando se encuentra con un obstáculo, para.
00:40:24
Rueda hacia detrás y vuelve a avanzar.
00:40:27
Cuando se encuentra con otro obstáculo, para.
00:40:30
Rueda hacia detrás y vuelve a avanzar.
00:40:32
Y entonces evita los obstáculos.
00:40:34
Es un robot para evitar obstáculos.
00:40:35
¿De acuerdo? Bueno, pues esto es un poco como simulamos nosotros en PSEINT estos algoritmos para robots.
00:40:37
Entonces, abro la ronda de preguntas. ¿Vale? ¿Alguien tiene preguntas? ¿Alguno tenéis alguna pregunta? Contestadme sí o no por el chat.
00:40:45
¿Vale? ¿No hay preguntas? Perfecto. Entonces, ¿qué es lo que...? A ver, un segundo, voy a detener el uso compartido de todo esto para ponerme yo al grande.
00:41:03
Vale, entonces, ¿qué es lo que vamos a usar? Ya lo habéis visto, ya os lo he compartido y ya os he descubierto un poquito cuál es el siguiente paso, ¿vale? El siguiente paso va a ser utilizar Tinkercad, entonces, todos los que no tengáis usuario en Tinkercad os tenéis que sacar el usuario en Tinkercad, ¿vale?
00:41:13
Voy a cerrar esto. Voy a, vale, voy a salir de Tinkercad porque quiero que veáis cómo es el proceso, ¿vale? Entonces, entramos en Tinkercad.com, ¿de acuerdo? Os vais a Tinkercad.com y normalmente os va a pedir que entréis, a ver, un segundo, eh, que me quiero salir.
00:41:34
ah, vale, no, es que es
00:42:01
aquí y aquí
00:42:07
cerrar sesión, perdón
00:42:09
estaba al otro lado, me estaba liando
00:42:11
vale, entonces normalmente tú vas a
00:42:13
Tinkercad, entras aquí y si ya tenéis
00:42:16
usuario en Tinkercad, iniciáis la sesión
00:42:18
y si no, únete ya mismo
00:42:20
vale, le metéis una dirección de correo
00:42:22
electrónico, yo normalmente no utilizo ni Facebook
00:42:24
ni Google para
00:42:26
conectarme, voy a través de un registro
00:42:27
estándar, pero bueno
00:42:30
vosotros podéis utilizar también Google
00:42:31
por ejemplo, entonces
00:42:34
Entonces yo hago mi acceso, entro con mi correo electrónico, mi usuario, ¿vale? Y mi contraseña, ¿de acuerdo? Entro a Tinkercad y cuando entramos en Tinkercad tenemos aquí la opción de circuitos.
00:42:35
Tenemos para diseñar en 3D, que es lo que hemos hecho en otras partes de las asignaturas, ¿vale?
00:42:57
Pero aquí tenemos circuitos.
00:43:05
Pinchando en circuitos tenemos la opción de construir circuitos con nuestras placas Arduino.
00:43:08
Vamos a crear uno nuevo y lo primero que tengo que meter es mi placa Arduino, ¿de acuerdo?
00:43:13
Una placa Arduino, la voy a poner vertical, la puedo girar aquí con este icono de arriba a la izquierda.
00:43:24
veis y aquí tengo mi placa arduino entonces con mi placa arduino lo primero que tengo que ver son
00:43:30
que aquí tengo los pines desde el pin 0 al pin 13 son pines digitales lo veis aquí digital y
00:43:36
aquí tengo desde el acero al a5 pines analógicos de acuerdo entonces también tenemos protoboard
00:43:45
Tenemos por aquí una protoboard, que es la placa de pruebas, que también la puedo girar y la puedo poner aquí.
00:43:55
Y ahora puedo conectar cosas y puedo ir haciendo como si estuviéramos en el laboratorio todos mis diseños.
00:44:05
Entonces, ¿qué voy a hacer? Pues voy a hacer un diseño muy sencillito para que veáis cómo funciona.
00:44:11
La placa esta la voy a poner para no tener que andar girando todos los componentes porque los componentes se salen verticales.
00:44:17
¿Vale? Entonces, ¿qué voy a hacer? Voy a poner un LED, voy a poner una resistencia, ¿de acuerdo?
00:44:23
Esto me va a sobrar para este ejemplo y lo que voy a hacer es conectar el pin 11, ¿vale? El pin 11 al LED.
00:44:34
Pues yo pincho, es sobre el pin 11, veis que se pone en rojo, pincho, saco, pincho otra vez y me lo llevo aquí y conecto.
00:44:42
Entonces, ahora puedo mover esto si quiero, ¿vale? Lo pongo recto. Después conecto este aquí, pero lo voy a conectar bonito, haciendo una curva, ¿vale?
00:44:52
Y después, este terminal lo voy a conectar a tierra.
00:45:04
Para que no me confunda, el conector de tierra lo voy a poner negro.
00:45:13
El conector del sensor lo voy a poner en amarillo.
00:45:19
¿Vale?
00:45:25
Entonces, esto es como yo he hecho las conexiones.
00:45:26
Si os fijáis, es muy fácil.
00:45:28
Tengo un montón de cosas aquí para poder meter.
00:45:30
Tengo sensores de distancia, tengo tal.
00:45:32
¿Vale?
00:45:34
Entonces, lo que vamos a ir haciendo a partir de ahora son una serie de prácticas con esto que os iré poniendo para que vayamos haciendo una serie de ejercicios y podamos ir construyendo ciertas cosas.
00:45:35
Vamos a empezar por cosas muy básicas como un LED.
00:45:47
Ahora aquí en código, fijaros que tengo bloques, ¿vale?
00:45:51
Entonces, los bloques son justo lo mismo que teníamos en PSI.
00:45:56
Por ejemplo, tenemos entradas. Yo puedo leer un pin digital o un pin analógico. Si yo conecto aquí algo, un botón, o conecto aquí un sensor de distancia, yo puedo leer el valor de lo que está conectado a ese pin y almacenarlo en una variable.
00:46:02
¿De acuerdo? Entonces, leer los pasadores, los pines, pasador es lo mismo que pin o conexión, entonces leer los pines digitales y analógicos, los digitales son todos estos y los analógicos son todos estos.
00:46:20
Y eso me va a permitir leer la información de los sensores. ¿Vale? Entonces, básicamente estos dos son los que voy a utilizar, el resto de momento no se olvida.
00:46:35
Después, puedo actuar, puedo poner un pasador, un pin, cuando es digital lo puedo poner en alta, quiere decir a uno, o digamos activado, o en baja, que quiere decir que está desactivado, ¿vale?
00:46:43
Son los pines digitales que solo tienen dos opciones, o encendido o apagado, como las luces, que es lo que voy a hacer con el tablet.
00:47:03
Y luego también podemos ponerle un pin que sea analógico con un valor entre 0 y 1024, ¿vale? Para poderle generar esa diferencia, ¿de acuerdo? El resto me olvido de momento, ¿de acuerdo?
00:47:10
entonces solamente definir los pasadores, me va a poner los pines analógicos o digitales con los valores que yo indique.
00:47:26
Con lo cual ya puedo interactuar con sensores y con actuadores.
00:47:34
En este caso tengo solamente una luz, que es un pin, o sea, una salida, y sería un actuador.
00:47:38
Y luego tengo en control los mismos elementos que teníamos para trabajar con nuestros algoritmos.
00:47:45
Fijaros, esperar un número de segundos, puedes repetir un número de veces, esto es un bucle de los de tipo for, ¿vale? Un bucle de tipo repetir n veces, los repetir mientras o hasta, ¿vale? Podemos repetir mientras se cumpla una condición, que la pondré aquí, o repetir hasta que se cumpla una condición, que la pondré aquí.
00:47:51
si se cumple una condición
00:48:12
entonces haz algo
00:48:15
y si no se cumple, haz lo
00:48:17
contrario, estas son las bifurcaciones
00:48:19
son los rombos, ¿vale? con la salida
00:48:21
sí y no, y cuando
00:48:23
tenemos una decisión en la cual si
00:48:25
se cumple, ocurre algo
00:48:27
y si no, no hace nada
00:48:29
pues tenemos la opción resumida, que es este
00:48:30
si ocurre algo, entonces
00:48:33
haz esto y ya está, y si no
00:48:35
no hagas nada
00:48:37
y luego tenemos aquí una opción para
00:48:38
contadores, ¿vale? Que también es un bucle, pues
00:48:41
un repetir tantas veces, pues esto
00:48:43
es un contador, lo único que aquí me va llevando una
00:48:45
variable con ese contador, ¿vale?
00:48:47
Un contador 1, 2, 3, 4
00:48:49
o 10, 9, 8, 7, hasta
00:48:50
abajo. Y ya está, ¿vale?
00:48:53
Entonces, bueno, pues en principio
00:48:55
estos son los bloques. ¿Qué vamos
00:48:56
a hacer ahora, vale? Pues os voy a
00:48:59
dejar de momento con esta
00:49:01
información. Luego
00:49:03
aquí, bueno, en matemáticas esto es muy
00:49:05
parecido a Scratch, ¿vale? Tenemos pues las
00:49:07
relaciones, si es mayor
00:49:09
menor, igual o tal, aquí por las operaciones matemáticas, sumar, resta, multiplicar, división, ¿vale?
00:49:11
Y luego también tenemos las operaciones lógicas, is y os, ¿vale? O sea, si algo ocurre y algo ocurre o algo o cuando, ¿vale?
00:49:17
Las nos, ¿vale? Bueno, o sea, aquí tenemos un poco, esto es lo mismo que hemos visto en clase para la lógica normal de cosas que suceden sí o no, ¿vale?
00:49:24
lógica digital. Y luego aquí manejo las variables, aquí me puedo crear mis propias variables a las
00:49:35
cuales voy a asignar un valor. ¿Qué voy a hacer con este? Bueno, pues fijaros, lo que voy a hacer es un
00:49:41
programa, esto lo voy a borrar, ¿vale? Simplemente ya termino con esto, ¿vale? No os preocupéis.
00:49:46
Lo que voy a hacer es activar el pin 11, ¿vale? Entonces voy a ponerle una salida, voy a definir
00:49:56
el pasador digital 11 en alta, con lo cual estoy encendiéndolo, ¿vale?
00:50:02
Después voy a esperar un segundo y ahora voy a poner el pin digital 11 en baja
00:50:10
y ahora voy a esperar otro segundo.
00:50:22
Bien, este es el bucle, esto se va a repetir de forma infinita,
00:50:27
esto no hace falta ponerle el mientras infinito porque ya es un algoritmo
00:50:30
que se va a ejecutar de forma infinita en este robot, ¿vale?
00:50:33
esta resistencia la voy a definir de 220 ohmios
00:50:36
bueno, si no la pongo
00:50:39
me da una alarma, ¿vale?
00:50:40
esto ya lo veremos en la próxima clase
00:50:42
pero ved que yo pongo aquí
00:50:44
la resistencia adecuada para que esto funcione
00:50:46
y ahora cuando yo inicio la simulación
00:50:48
¿qué es lo que va a hacer?
00:50:51
pues fijaros
00:50:52
a ver, pi de 11, definir de alta
00:50:53
en baja, espera un segundo, ¿por qué no se entiende?
00:50:56
ah, claro, porque lo he conectado
00:51:05
del revés, que listo soy
00:51:06
que esto es un diodo, machote
00:51:08
este es el positivo
00:51:10
perdonad que he sido muy listo, ¿vale?
00:51:13
esto evidentemente ya hay que tener cuidado con ello
00:51:18
pero, vale, o sea, lo que tengo es que
00:51:21
es un diodo con lo cual le tengo que meter por la pata positiva
00:51:23
el activo
00:51:26
¿vale? vale, iniciamos la simulación
00:51:27
vale, y ahí lo tenemos
00:51:29
entonces, el LED, veis que parpadea
00:51:30
¿de acuerdo?
00:51:32
entonces, ¿qué es lo que está haciendo?
00:51:33
está, el robot está haciendo de forma infinita
00:51:35
leer sensores, no tengo ningún sensor
00:51:38
con lo cual no leo nada
00:51:40
activo el pin 11
00:51:41
con lo cual le meto voltios aquí, esto se enciende a través del circuito, espero un segundo, ahora lo apago y espero un segundo
00:51:43
y el LED, fijaros, que está parpadeando. ¿Qué pasa si yo aquí le pongo que espere cuatro segundos, vale, cuando está encendido
00:51:52
y uno cuando está, pues que va a hacer la del parpadeo, pero lo va a hacer desigual, es decir, se va a encender cuatro segundos,
00:52:00
luego se apaga uno y se vuelve a encender, pum, pum, ¿vale? Y cuatro segundos, ¿vale? Pum, pum, y cuatro segundos.
00:52:06
Entonces, si os fijáis, este programa lo que me está haciendo es ya actuando sobre los dispositivos de salida
00:52:15
y estoy utilizando mi placa de control, mi placa microcontroladora para actuar sobre elementos.
00:52:22
Si esto yo lo construyo con un arduino, perdonadme, ¿vale? Yo tengo aquí, esto es una placa arduino, ¿vale? Veis que las placas existen y es exactamente igual que lo que tenéis ahí, ¿vale?
00:52:27
Yo os lo estoy enseñando ahora por aquí, veis que tengo mis pines digitales, aquí estarían mis pines analógicos, luego cojo mis cables, ¿vale?
00:52:44
Me cojo un montón de cables, como estos, ¿vale? Cojo cablecitos, quedan un segundo, ¿vale?
00:52:53
Veis que es un cable con pines, entonces esos pines los pincho en los agujerillos, ¿vale?
00:53:02
y voy conectando, pues, exactamente igual que en el dibujo.
00:53:09
Con lo cual, realmente, bueno, con el simulador vamos a poder hacer
00:53:12
algo muy parecido a lo que haríamos en clase.
00:53:14
No va a ser tan chulo porque no va a haber cosas moviéndose por encima de las mesas.
00:53:17
Pero, bueno, al final vamos a intentar que sea más o menos similar.
00:53:20
¿De acuerdo?
00:53:24
Bueno, pues, entonces, terminamos aquí con el contenido.
00:53:25
Ya sé que ha sido un poco más largo.
00:53:30
Como no hemos tenido clase, vale, a las once y media ya sé que me he pasado un poco.
00:53:31
¿Vale?
00:53:36
No te preocupes que la semana que viene vamos a tener clase, os diré si es el martes o el jueves, pero vamos a intentar dar clase en nuestro horario, por lo menos mientras que vayamos haciendo la parte de teoría.
00:53:36
Entonces, vale, un segundito, los circuitos que vamos a hacernos los vas a decir por Tinkercad o por tu página de Gmail, vale, no, los circuitos yo os voy a dar unas instrucciones, vale, os daré algunas instrucciones y una de dos, os lo grabo en vídeo, os doy unas instrucciones en un documento, todo lo voy a hacer a través del blog, vale, toda la información yo os la paso a través del blog.
00:53:51
Entonces, el blog es el punto de referencia obligatorio para enteraros de qué es lo que yo os mando.
00:54:16
Aunque yo utilizo el correo para avisaros o lo pongo también en Twitter o lo pongo en otros sitios,
00:54:23
lo importante es que reviséis el blog con cierta frecuencia.
00:54:28
De momento, con la información que tenéis es suficiente.
00:54:31
Mañana probablemente o este fin de semana os ponga los ejercicios que quiero empezar a hacer muy sencillitos y muy guiados.
00:54:35
Y una vez que empecemos ya a hacer esos ejercicios,
00:54:42
vamos a empezar a complicarlo y vais a empezar vosotros a hacer
00:54:45
cosas de forma autónoma, sin que yo os diga la solución, ¿vale?
00:54:47
Entonces, quiero empezar a practicar un poco con Tinkercad.
00:54:51
Si queréis ir jugando, perfecto.
00:54:53
Y si no, pues, según os lo vaya pidiendo, ya lo hacéis.
00:54:54
¿Qué quieres, Fernando?
00:54:57
Cuéntame.
00:54:58
Vale, los de laos tenéis que ir, ¿vale?
00:55:03
No os preocupéis.
00:55:05
Si ya os habéis ido, fenomenal.
00:55:05
Ya nos hemos quedado 11 de 19, o sea que no os preocupéis.
00:55:07
¿Dónde vas a subir esto?
00:55:10
Al blog.
00:55:11
¿Vale?
00:55:12
Al blog.
00:55:13
Todo lo que estoy haciendo lo vamos a subir.
00:55:14
¿Vale? No os preocupéis.
00:55:17
¿De acuerdo?
00:55:19
Vale, pues nada, chicos.
00:55:20
Terminamos.
00:55:23
Muchas gracias por vuestra paciencia.
00:55:23
Sé que ha sido una clase un poco más larga de lo normal.
00:55:25
Las siguientes prometo que serán más cortas.
00:55:27
¿Vale?
00:55:30
Venga, cuidaros.
00:55:31
- Valoración:
- Eres el primero. Inicia sesión para valorar el vídeo.
- 1
- 2
- 3
- 4
- 5
- Idioma/s:
- Materias:
- Tecnología
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Educación Secundaria Obligatoria
- Ordinaria
- Primer Ciclo
- Primer Curso
- Segundo Curso
- Segundo Ciclo
- Tercer Curso
- Cuarto Curso
- Diversificacion Curricular 1
- Diversificacion Curricular 2
- Primer Ciclo
- Ordinaria
- Bachillerato
- Primer Curso
- Segundo Curso
- Autor/es:
- JUAN RAMÓN GARCÍA MONTES
- Subido por:
- Juan Ramã‼N G.
- Licencia:
- Reconocimiento - No comercial - Sin obra derivada
- Visualizaciones:
- 151
- Fecha:
- 17 de abril de 2020 - 9:13
- Visibilidad:
- Público
- Centro:
- IES ANTONIO GAUDI
- Duración:
- 55′ 38″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1366x768 píxeles
- Tamaño:
- 199.65 MBytes
Para publicar comentarios debes entrar con tu nombre de usuario de EducaMadrid.
Comentarios
Este vídeo todavía no tiene comentarios. Sé el primero en comentar.