Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Estructuras condicionales y Puentes H - 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:
Vale, lo primero, quiero enseñaros el nuevo procedimiento para que me paséis los circuitos de Tinkercad.
00:00:01
Os voy a compartir, por lo tanto, mi navegador.
00:00:11
Ahí estamos, ahora lo tendréis que ver.
00:00:18
Perfecto.
00:00:20
Y entonces, si me voy a Tinkercad, a ver un segundito.
00:00:22
Si entramos en Tinkercad, vamos a circuitos, pues cualquier circuito que tengáis hecho, este del sensor de aparcamiento por ultrasonidos, o cualquiera que tengáis vosotros, entráis al diseño, le dais a modificar, con lo cual entráis a vuestro diseño.
00:00:26
O si lo estáis haciendo, pues cuando lo estéis terminando de hacer.
00:01:00
Y una vez que lo tengáis abierto, aquí arriba a la derecha hay un cuadrito que pone compartir.
00:01:04
¿Lo veis? Este cuadrito.
00:01:09
Pues al darle, decís que invitar a personas a compartir, ¿vale?
00:01:11
Para compartir el diseño conmigo.
00:01:16
Y entonces copiáis este enlace que os pone aquí.
00:01:18
Todo eso, tenéis aquí el botón de copiar.
00:01:21
Chimpun.
00:01:24
Y ya está.
00:01:25
¿Vale? Y entonces me ponéis un correo y me decís,
00:01:25
profe, ¿el circuito del
00:01:28
asesor de aparcamiento por ultrasonido?
00:01:30
Y me ponéis el enlace, ¿vale?
00:01:32
Yo ya en el correo pincho en el enlace
00:01:34
y voy directo a vuestro circuito
00:01:36
con lo cual no hay problema, ¿vale?
00:01:38
A mí me sale que es vuestro, o sea, yo puedo
00:01:40
darle información del circuito y comprobar
00:01:42
que es el vuestro y no me voy a hacer
00:01:44
pasar el enlace en el vecino, ¿vale?
00:01:45
Así que, nada, eso.
00:01:48
Es un procedimiento sencillo, lo único que tenéis
00:01:50
que hacerlo para cada circuito que tengáis hecho.
00:01:52
Entonces, todos los circuitos que tengáis hechos
00:01:54
me los pasáis con este método, ¿vale? Para asegurarnos que yo lo puedo poner.
00:01:56
Sí, os estoy grabando, ¿vale? Estoy grabando la clase.
00:02:05
Entonces, más cositas. Vamos a ver hoy tres aspectos, ¿vale?
00:02:09
Primero, quiero hacer un poco de hincapié en la estructura condicional, en cómo funcionan las condicionales.
00:02:16
puesto que ya hemos visto los bloques que tenemos en TickerCAD para poder construir nuestros robots,
00:02:23
vamos a ver cómo funciona el condicionador.
00:02:28
Y vamos a entenderlo bien para poderlo utilizar con sentido.
00:02:30
Y luego, ¿vale? Pues vamos a hacer algún ejemplo
00:02:33
y por último vamos a terminar viendo lo de los puentes H,
00:02:35
que, bueno, es ese gran misterio que solo algunos habéis visto.
00:02:39
Por lo tanto, lo que voy a hacer es compartiros una presentación
00:02:42
que tengo aquí preparada.
00:02:46
Bien, ahora deberéis estar viendo la presentación y nada, simplemente voy a tratar tres cositas en esta presentación.
00:02:49
La primera de ellas es la estructura condicional, cómo tomamos decisiones.
00:03:02
La segunda, un ejemplo de los circuitos que hemos propuesto para que veáis un poco cómo se enlaza, ¿vale?
00:03:07
La toma de decisiones y los bloques que hemos visto con los circuitos que os he propuesto.
00:03:13
vamos a resolver desde el sensor de aparcamiento y luego pues vamos a ver el puente H.
00:03:19
Y nada, pues simplemente empezamos por la toma de decisiones.
00:03:23
Este esquema que tenemos aquí es un esquema sencillo de cómo se toman las decisiones.
00:03:28
Cuando yo tengo que tomar una decisión, ¿qué es lo que hago?
00:03:33
Normalmente tengo unas condiciones, unas condiciones que se han de cumplir
00:03:35
y en función de si se cumplen o no, yo lo que voy a hacer es tomar diferentes caminos.
00:03:39
Si la condición se cumple, pues ejecuto unas acciones
00:03:45
Y si no se cumple, ejecuto otras acciones
00:03:49
Alguno de esos caminos puede ser no hacer nada
00:03:52
Pero normalmente tengo acciones en ambos caminos
00:03:54
Entonces, yo estoy haciendo mis cosas
00:03:58
Y llega un momento en el que tengo que tomar una decisión
00:04:01
¿Vale? Lo hemos representado aquí con un rombo
00:04:03
Y este rombo tiene dos posibles salidas
00:04:06
La salida verdadera, que es cuando se cumple la condición
00:04:08
Y la salida de falso, cuando no se cumple
00:04:11
Entonces, yo, por ejemplo, en un algoritmo de un robot estoy midiendo la distancia con el sensor de ultrasonidos, que es el ejemplo que voy a poner luego.
00:04:13
Yo estoy midiendo la distancia y entonces la decisión que tengo que tomar de qué depende, de que esa distancia tenga un valor menor que un determinado parámetro,
00:04:23
que es un determinado número que me han dado. En este caso podemos tomar 10 centímetros, 15 centímetros, 20 centímetros, lo que sea.
00:04:33
Entonces, imaginaos, yo tengo un robot con un motor que mueve la rueda
00:04:41
y yo el motor quiero pararlo si la distancia al objeto más cercano es menor que 10 centímetros.
00:04:45
Entonces, ¿la condición cuál sería en este caso?
00:04:52
La condición sería, pues si yo estoy midiendo la distancia con el sensor de ultrasonidos,
00:04:55
pues esa distancia la comparo con 10, que son los centímetros que quiero utilizar.
00:04:59
Si la distancia que está midiendo el sensor es menor que 10 centímetros, ¿qué acciones tengo que hacer? Parar los motores.
00:05:05
Y en caso de que la distancia no sea menor, si la condición no se cumple, si es algo por la rama del falso, entonces tengo que seguir avanzando.
00:05:14
Los motores tienen que estar encendidos, con lo cual debes encender los motores.
00:05:23
Por lo tanto, yo ya tengo aquí una decisión. La decisión de si se cumple algo, ejecuto ciertas cosas.
00:05:26
Y si no se cumple, me voy por el otro camino y ejecuto las órdenes. Y luego, puedo seguir haciendo más órdenes que ya no dependen de la condición, es decir, más cosas después que pueden ser comunes, vaya por donde vaya, desembojo a la siguiente.
00:05:33
Y esto es parte del flujo, digamos, de ejecución de las órdenes en un programa. En un punto del programa, yo voy a tomar una decisión y voy a tomar diferentes caminos en función del resultado de esa condición.
00:05:46
y luego vuelvo a ejecutar mi camino
00:06:01
y continúo
00:06:03
¿de acuerdo? eso es como funcionan
00:06:04
las condiciones
00:06:07
en programación y como funcionan
00:06:09
en la vida real, yo llego a una puerta
00:06:11
y entonces tengo que tomar una decisión
00:06:12
quiero atravesar la puerta, ¿está la puerta cerrada?
00:06:14
esa es la condición, si la puerta está cerrada
00:06:17
tengo que abrirla
00:06:19
y si no está cerrada
00:06:21
entonces simplemente paso
00:06:23
no hago nada, en este caso veis
00:06:25
una de las ramas tendría la salida
00:06:27
que es no hacer nada
00:06:29
¿de acuerdo? entonces, ¿aquí cómo sería? órdenes previas, pues voy andando
00:06:30
condición, ¿vale? llego a la puerta, condición
00:06:35
si la puerta está cerrada
00:06:39
¿vale? o la condición que podría hacer la pregunta es si la puerta está cerrada
00:06:42
¿puerta igual a cerrado? verdadero, si la puerta está cerrada
00:06:47
entonces abrir puerta, falso, la puerta no está cerrada por lo tanto
00:06:50
no hago nada y luego los dos caminos en este caso no haríamos nada y confluiríamos
00:06:54
a atravieso, ¿de acuerdo?
00:06:59
¿Vale? Paso. ¿De acuerdo?
00:07:01
Eso sería un poco como funcionan las
00:07:03
decisiones. Y quiero que quede muy claro porque
00:07:05
esta estructura
00:07:06
en Tinkertag,
00:07:09
esta estructura de
00:07:11
condición, acciones si se cumple, acciones
00:07:12
si no se cumple, la estamos
00:07:15
representando con este bloque.
00:07:16
El bloque sí, entonces, si no.
00:07:18
¿Vale? Entonces,
00:07:21
este bloque
00:07:23
va a albergar dentro de este
00:07:24
hexágono
00:07:27
Una condición. Si la condición se cumple, entonces va a ejecutar los bloques que se encuentran en este primer espacio, es decir, va a ejecutar este tramo, el verdadero.
00:07:28
Y si no se cumple esta condición, va a ejecutar los bloques que se encuentran en este otro hueco, las que si no se cumplen.
00:07:42
Por lo tanto, esta estructura, este bloque que tenemos en Tinkercad, me representa las condiciones.
00:07:50
Dentro de ese hexágono, como digo, hay que meter algo que tiene forma de hexágono.
00:07:56
En este caso, en matemáticas, tenemos las comparaciones, que puede ser menor, menor o igual, igual, distinto, mayor o mayor o igual.
00:08:00
Y aquí tendré que poner algo comparándolo con algo. Esa es la decisión que tengo que tomar.
00:08:08
¿vale? normalmente aquí voy a poner una variable
00:08:13
y aquí a la derecha voy a poner un valor
00:08:16
que es con el que lo quiero comparar
00:08:20
y aquí indicaré que relación es la que quiero que
00:08:22
evaluar, entonces si se cumple esa condición
00:08:25
entraré en el primer conjunto
00:08:29
en el primer espacio de esta estructura y si no se
00:08:31
cumple la condición entraré en el segundo espacio y estaría
00:08:34
haciendo exactamente esto, una condición verdadero y falso
00:08:37
y dos caminos diferentes, de forma que solamente uno de ellos se va a ejecutar.
00:08:40
También podemos meter dentro de este espacio una estructura que es una combinación de varias condiciones.
00:08:46
Por lo tanto, si se cumple una cosa y además se cumple otra.
00:08:53
O si se cumple una o otra.
00:08:59
Entonces ahí tengo las dos opciones.
00:09:02
Tengo relaciones entre condiciones, entonces puedo decir que se cumplan dos cosas.
00:09:04
o que se cumplan tres, puedo ir indicando que se cumplan varias cosas en función de esas relaciones
00:09:09
y, o alternativamente, una relación O, ¿de acuerdo?
00:09:15
Y esas son las condiciones.
00:09:20
Así es como nosotros vamos a utilizar las estructuras de condiciones.
00:09:23
Y esto es lo que nos va a valer para cuando estamos en un robot,
00:09:27
coger los valores de los sensores, meterlos en variables,
00:09:31
y una vez que los meto en variables tengo que utilizar una de estas estructuras para dividir el camino.
00:09:34
Si yo considero que se cumplen unas ciertas condiciones y esas variables me reflejan unos valores que yo he considerado que me desembocan en una serie de acciones,
00:09:38
pues entonces tendré que reflejar la condición aquí en esta estructura y después decirle qué acciones tiene que ejecutar en caso de que se cumpla en este primer bloque.
00:09:51
Y si no se cumple la condición, entonces se va a ejecutar el segundo bloque.
00:10:02
Hay otro bloque que es igual que este en Tinkercad que no tiene la parte de si no. Ese bloque lo utilizaremos para cuando en una de las ramas no hay acciones. Como he dicho, hay veces que simplemente si no se cumple la condición no hago nada.
00:10:06
Pues entonces hay un bloque que solamente tiene el sí, entonces, y luego ya termina. Por tanto, si se cumple la condición, se ejecuta el código y si no, no se ejecuta nada, simplemente continúa, ¿vale? Y luego detrás, pues, puede haber más acciones y antes puede haber más acciones.
00:10:20
las anteriores y las anteriores
00:10:36
¿está claro cómo funciona
00:10:38
una condición?
00:10:41
¿vale? abro turno del chat
00:10:43
y me decís
00:10:45
¿vale?
00:10:47
si está claro cómo funcionan las condiciones
00:10:49
es como nosotros mismos
00:10:51
funcionamos, o sea, es como las personas
00:10:53
normales
00:10:55
funcionamos, ¿vale? me decís por el chat
00:10:56
si seguís vivos
00:10:59
y si os habéis enterado o si tenéis alguna duda
00:11:01
o me levantáis la mano
00:11:03
y yo pongo el micro
00:11:05
¿vale?
00:11:07
Nadie se anima ni a contestar
00:11:10
ni a volver, pues nada, sigo pues
00:11:12
venga
00:11:14
entonces, esta estructura
00:11:15
condicional ahora la vamos a llevar
00:11:18
a un ejemplo, por ejemplo vamos a utilizar
00:11:19
el sensor de aparcamiento que es el
00:11:22
tercero de los problemas que teníamos
00:11:23
¿vale? esos complejos problemas
00:11:26
que teníamos, bien
00:11:28
pues vamos a ello, si nos vamos
00:11:29
a uno de los
00:11:33
circuitos propuestos, nosotros tenemos un sensor de aparcamiento. ¿Cómo sería si lo
00:11:35
hago con el diagrama este raro, el que se llama diagrama de flujo y realmente se utiliza
00:11:39
en informática? ¿Vale? ¿Qué es lo que estaríamos haciendo? Bien, pues si cojo
00:11:45
este flujo de acciones, que es el que yo voy a repetir infinitamente, ¿vale? Dentro de
00:11:50
Tinkercad, pues voy a coger ya la variable distancia a una variable, una cajita vacía
00:11:56
donde yo meto valores, le voy a meter el qué, la lectura de la información que me devuelve el sensor de distancia.
00:12:03
Y esa lectura está en centímetros. Por lo tanto, aquí voy a meter una distancia en centímetros, ¿vale?
00:12:11
Voy a meter un número que me representa qué distancia tengo hasta el objeto más cercano en centímetros.
00:12:16
Y eso es lo que me está detectando el sensor.
00:12:22
Bien. Lo meto dentro de una variable. Es distancia.
00:12:25
Y ahora tengo dos posibilidades, que esa distancia sea mayor de 10 o que esa distancia sea menor de 10.
00:12:28
Yo he puesto como condición que la distancia sea mayor que 10.
00:12:38
Si la distancia es más de 10 centímetros, si yo tengo más de 10 centímetros al objeto más cercano, considero que no tengo riesgo de colisión.
00:12:41
Y entonces avanzo.
00:12:50
Por lo tanto, apago el sonido, apago el LED, no tengo que avisar, no tengo problemas de aparcamiento y puedo avanzar con el coche.
00:12:51
¿De acuerdo?
00:13:01
Entonces, tanto el sonido como el LED, en el caso de que hayamos hecho el reto extra que era ponerle sonido, ¿vale?
00:13:02
O si no solamente será el LED, lo apagamos.
00:13:08
No hay peligro.
00:13:10
Puede seguir tirando y aparcar.
00:13:12
Ahora, ¿qué ocurre cuando ese sensor de distancia, de repente, la distancia que está midiendo, mide que es menor?
00:13:14
10 o 10 centímetros en este caso menor o igual a 10 entonces voy a salir por la rama del falso
00:13:21
es decir la condición distancia mayor que 10 se cumple no estamos más cerca entonces salimos por
00:13:28
la rama del falso y el código que se va a ejecutar es este que es pita enciende el sonido y enciende
00:13:34
con la luz de alarma y haz que suene el sonido vale y después espera 100 milisegundos y volvemos
00:13:41
a ejecutar, leemos la distancia, comprobamos si la distancia es mayor de 10 centímetros,
00:13:47
si sigue siendo más pequeña que 10 centímetros, sigo quitando, sigo encendiendo el LED, espero
00:13:52
100 milisegundos, vuelvo a leer la distancia, vuelvo a comprobar. Si la persona que está
00:13:56
conduciendo reacciona, mete primera y acelera y avanza, la distancia de repente va a empezar
00:14:01
a crecer más grande y va a haber un momento en una de esas vueltas en las que la distancia
00:14:07
que se lea va a ser mayor de 10 centímetros. En ese momento saldremos por la rama de la
00:14:11
derecha, puesto que la condición se cumplirá, se apagará el sonido, se apagará el leer y no le
00:14:16
faltará más. Esperaremos 10 milisegundos, con lo cual dejará de sonar y dejará de pitar y dejará
00:14:23
de encender el teléfono. Vuelvo a sacar la distancia y de nuevo, y aquí estaremos el
00:14:28
núcleo infinito. Eso es como funciona un sensor de aparcamiento, pero veis que es muy fácil,
00:14:32
solamente tengo que coger el bloque del lector de distancia, del sensor de ultrasonidos, tengo que
00:14:36
leer su lectura y luego tengo que coger los bloques de tanto el LED o el sonido, que funcionan
00:14:43
igual, y utilizarlos para encender o apagar, es decir, activar o desactivar. ¿Cómo lo
00:14:50
resolvemos en Tinkercad? Pues vamos a verlo. En Tinkercad lo que vamos a hacer es primero
00:14:56
resolver el circuito con nuestra placa controladora. Entonces tenemos nuestra luz conectada al
00:15:03
pin número 13, tenemos nuestro
00:15:12
zumbador
00:15:14
conectado al pin número 12, estos son
00:15:15
estructuras y conexiones
00:15:18
que ya hemos visto, con lo cual no las voy a volver a explicar
00:15:20
simplemente me pongo mi bloque
00:15:22
del LED y lo construyo
00:15:24
me pongo mi bloque del zumbador y lo
00:15:26
construyo, me pongo mi bloque de mi sensor
00:15:28
de ultrasonidos y lo construyo
00:15:30
y lo pincho en los pines, que eso
00:15:32
si puede ser cualquiera, pero yo
00:15:34
tengo que saber en donde he pinchado cada cosa
00:15:36
en este caso, pues nuestro sensor de ultrasonidos
00:15:38
Nuestro trigger verde va al 7, nuestro eco azul va al 4.
00:15:40
Hemos utilizado una protoboard, podemos conectarlos de forma directa o sin la protoboard, da igual.
00:15:45
La cosa es que yo tengo conectado, lo que a mí me importa es que el trigger lo tengo en el 7,
00:15:50
el eco lo tengo en el 4, y luego el zumbador lo tengo en el 12 y la luz en el 3.
00:15:56
Por lo tanto, lo que vamos a hacer es ver cómo quedaría el código dentro de mi TinkerCAD, que quedaría un programa así.
00:16:03
Utilizamos un primer bloque que es, una vez que yo he construido, he creado, he definido mi variable distancia,
00:16:16
que es donde voy a almacenar esa distancia que mido con el sensor, pues yo lo que hago que es, pongo a la variable distancia,
00:16:24
El valor de leer el sensor de distancia ultrasonico que tengo en el desencadenador 7 y en el ECO 4 con el centímetro.
00:16:33
Fijaros que es lo mismo que estaba haciendo aquí.
00:16:41
Leer la información del sensor y meterlo en la variable distancia.
00:16:43
Perfecto.
00:16:47
Entonces, esto está cambiando, ¿vale?
00:16:49
Estos dos bloques son al revés, ¿vale?
00:16:53
En este caso, pues hay que cambiar estos bloques.
00:16:55
Me he equivocado al hacerlo, pero bueno, ahora lo entendéis.
00:16:57
Si la distancia, vamos a poner aquí un menor para que funcione bien, si la distancia es menor que 10 centímetros, entonces me activas el pin 13 y me activas el pin 12.
00:17:00
Al activar el pin 12 empieza a sonar esto y al activar el pin 13 se enciende la luz, con lo cual estamos en, enciende el sonido, enciende la luz, ¿vale?
00:17:13
Si la distancia es menor de 10 centímetros.
00:17:22
Si lo tenemos con distancia mayor de 10 centímetros, tendríamos que ponerlos en baja, que es lo que pone aquí, ¿vale?
00:17:25
Apagar, apagar, apagar, pero bueno, entendéis cómo funciona.
00:17:30
Entonces, si la distancia es menor, cambiar esto aquí a un menor, ¿vale?
00:17:36
Menor de 10 centímetros, entonces enciendo el zumbador, enciendo el lagun.
00:17:41
Y si no, si no es menor de 10 centímetros, ¿qué es lo que hago? Apago el sumador, apago la luz, espero 100 milisegundos, que es lo que hacemos aquí y ya está, y volvemos y ya está, ya está hecho el programa y con eso funciona perfectamente, tan fácil como eso.
00:17:48
Por lo tanto, todos los programas de robots tienen el mismo formato. Primero, cogemos los valores de los sensores y los metemos dentro de variables. Después, decidimos con estas condiciones si ejecutamos o no ciertos bloques de código en función de las condiciones que yo quiera.
00:18:05
Esas son las que yo ponga. Por ejemplo, si estoy leyendo un botón, pues si el botón está pulsado, hago algo, y si no está pulsado, hago otra cosa.
00:18:28
Si estoy leyendo un sensor de luminosidad, un LDR, pues si el LDR me indica que hay un valor de luminosidad por encima de un determinado número, pues hago ciertas cosas, y si no, si está por debajo, hago otras.
00:18:37
si estoy leyendo un sensor de humedad
00:18:51
pues si la humedad está por encima
00:18:54
de un cierto número, lo que hago es
00:18:56
hacer ciertas cosas y si está por debajo
00:18:58
hago otra, al final
00:18:59
lo que tengo son sensores que
00:19:01
recogen números, que recogen valores
00:19:03
de lo que están midiendo, de aquello a lo que
00:19:05
son sensibles, veis un hombre
00:19:08
un sensor de temperatura
00:19:09
es sensible a la temperatura
00:19:11
y en función de que la temperatura sea mayor o menor
00:19:13
me va a devolver un valor
00:19:16
y yo ese número que me está devolviendo
00:19:17
el sensor, lo puedo comparar a través de una comparación que me tendría en una estructura
00:19:19
de condición. Si ese valor es mayor de un determinado número, hago cosas y si no, hago
00:19:25
otras cosas diferentes y luego continúa el programa. Normalmente cuando termino de ejecutar
00:19:32
o de comprobar todas las variables y de hacer las acciones correspondientes, vuelvo al inicio
00:19:37
con lo cual releo de nuevo otra vez todas las variables con los valores nuevos que me
00:19:42
me devuelvan mis sensores.
00:19:48
Vuelvo a cargar las variables
00:19:51
con los nuevos valores de los sensores y vuelvo
00:19:52
a actuar las decisiones. Y eso
00:19:54
se repite muchas veces por
00:19:56
segundo de forma íntima.
00:19:58
¿Vale? ¿Entendéis cómo funcionan
00:20:01
los programas de robots? ¿Entendéis
00:20:03
cómo funciona la programación de este tipo
00:20:05
de
00:20:06
aparatejos?
00:20:07
A ver, voy al chat.
00:20:10
¿Lo entendéis?
00:20:13
Contestadme, por favor, que así sé que
00:20:14
estáis vivos todos.
00:20:16
no veo manos
00:20:18
Carla dice, buf, eso es que te acabas de despertar
00:20:22
o que te parece complicado
00:20:26
dime Carla
00:20:29
que es complicado, no, no es nada complicado
00:20:40
es al final muy sencillo, es siempre lo mismo
00:20:43
o sea, lo que tenéis que entender es que siempre es lo mismo
00:20:47
yo tengo que buscar
00:20:49
qué variables necesito para almacenar los valores
00:20:52
que voy a leer
00:20:56
que va a llegar
00:20:57
yo tengo que definir
00:20:59
unas variables
00:21:01
luego tengo que leer
00:21:02
la información de los sensores
00:21:05
y meterlo en esas variables
00:21:06
cada variable tendrá la información de un sensor
00:21:08
y luego a través de condiciones
00:21:10
si, entonces
00:21:12
si no, tengo que ir decidiendo
00:21:15
si ejecuto o no cosas
00:21:17
los bloques ya los enseñé
00:21:18
es muy fácil, ¿cómo se lee un botón?
00:21:20
os lo dije, tenemos ya esa pieza
00:21:22
que es una pieza muy sencillita
00:21:25
tenemos como se lee un botón, tenemos como se enciende
00:21:26
una luz, tenemos como se ejecuta
00:21:29
o como suena un sonido
00:21:31
en un botón, tenemos como se lee
00:21:33
una distancia, como se lee un LED
00:21:35
tenemos ya varias piezas y ahora lo único
00:21:36
que tengo que hacer es ponerlas todas juntas
00:21:39
y utilizar esta estructura de condición
00:21:41
para tomar decisiones
00:21:43
¿vale?
00:21:46
¿de acuerdo?
00:21:47
es un poco difícil el código
00:21:50
no, el código no es complicado porque al final
00:21:52
la estructura es bastante sencilla
00:21:54
Si volvemos a la transparencia anterior, fíjate que la estructura se parece bastante a lo que de forma normal tú vas a pensar.
00:21:56
Si ocurre una condición, entonces ejecutamos esto y si no, ejecutamos lo otro.
00:22:04
Yo creo que los bloques de código son bastante sencillos.
00:22:10
Si te vas a matemáticas y coges esto, pues aquí puedes meter el valor de una variable, que es igual, mayor, menor o distinto a un valor.
00:22:13
entonces si se cumple esa condición
00:22:21
ejecutaremos esto y si no lo otro
00:22:24
yo creo que el código es bastante
00:22:25
bastante sencillo
00:22:27
el cómo se colocan los pines
00:22:29
y el cómo se colocan los bloques
00:22:31
ya lo he explicado siete veces
00:22:33
y eso hay que
00:22:35
tenerlo apuntado en un cuaderno
00:22:37
o tenerlo en algún sitio
00:22:40
o aprenderlo de memoria
00:22:41
yo me lo sé de memoria porque lo he hecho mil veces
00:22:43
si vosotros no sois capaces de memorizar
00:22:45
seis dispositivos que hemos estudiado
00:22:47
tres sensores y tres actuadores y saber cómo se conectan y saber cómo se activan y se desactivan
00:22:50
o cómo se lee la información en caso de que sea un sensor, pues si no sois capaces de eso,
00:22:56
es tan fácil como cogerte un cuadernito, un folio y hacerte un resumen con seis apartados.
00:23:01
Primero, luz. Esta es la estructura. El positivo tiene que ir aquí a la patilla doblada.
00:23:06
Este es el activo, el que yo pongo como señal de control.
00:23:14
Y el negativo, que es la patilla de masa doblada, con una resistencia de 220 ohmios a masa, a ground, a GND.
00:23:17
Y eso hay que sabérselo.
00:23:26
¿Por dónde lo llevo a ground? Me da igual que yo esta patilla la conecte aquí, que esto ya está conectado a ground,
00:23:29
o me lleve este cable y directamente lo conecte a este pin de aquí, que es ground, o me lo lleve a este pin de aquí, que también es ground.
00:23:35
Es decir, yo, la cosa es que esto vaya a cero vueltas, a GND.
00:23:42
Vaya por el trayecto que vaya, tiene que llegar a GND.
00:23:46
Y este, del otro lado, tiene que estar en el pin de control, donde yo activo o desactivo la señal.
00:23:49
Si eso lo colocas así, ya me da igual del pin que lo pinches.
00:23:55
Si lo pinches en el 13, en el 12, en el 11, en el 10, ya eso lo controlas con el programa.
00:23:58
¿Vale? Es lo único que cambia, pero el resto es todo sotacar y reír.
00:24:04
entonces, el sensor de distancia
00:24:08
siempre va a tener cuatro pines
00:24:10
va a tener un A positivo, va a tener
00:24:12
un GND y va a tener
00:24:14
dos pines de control, que tengo que
00:24:16
pincharlos en dos pines
00:24:18
de aquí, siete o cuatro
00:24:20
el LDR, pues tiene la estructura
00:24:21
que tiene, con la resistencia, con el positivo
00:24:24
con el pin de control
00:24:26
y el pin de control hay que tener cuidado que hay que meterlo
00:24:28
analógico, porque es un sensor
00:24:30
analógico, ya está
00:24:31
solo hay que hacer eso
00:24:33
¿vale? solo hay que hacer
00:24:35
Eso solo hay que saber si los bloques, ponerlos juntos y luego en función del pin en el que están es activarlo o desactivarlo normalmente y leer los sensores para almacenar en las variables sus valores y ya está.
00:24:38
Y con eso tenéis hecho cualquier circuito de cualquier robot del mundo.
00:24:54
Con eso podéis hacer un robot muy complicado.
00:25:00
Los robots que son muy complicados, lo único que tienen son miles de sensores,
00:25:03
y miles de cables, miles de pines, y hacen miles de comprobaciones por segundo.
00:25:09
¿Vale? Eso es lo único que tiene un robot muy complicado.
00:25:14
Las decisiones son más complicadas que si esto es mayor que esto o menor que esto.
00:25:18
A lo mejor son conjuntos de decisiones muy complejos, a lo mejor son decisiones que se toman en una estructura más compleja, como una red neuronal, como que ahora muy de moda, pero al final las decisiones son si se cumple la condición o algo y si no, no.
00:25:22
Y eso es lo que hacemos nosotros todos los días. ¿Vale? Esto es fácil, de verdad. Y solamente hay que saber si son seis bloques. Y cuando sepáis esos seis bloques y los manejéis, va a ser muy fácil. ¿De acuerdo? De todas formas, tranquilos que no está la cosa tan lejos ya de que tengáis éxito.
00:25:44
Bien, puente H, el trabajo que había que hacer. ¿Qué es un puente H? Cuando estudiamos los motores, os dije, voy a pasar de nuevo a mi navegador, entonces, dime Carla, voy a dejar de compartir esto un segundito para que vayamos al navegador.
00:26:06
Dime, mientras tanto, ¿qué pasa?
00:26:31
El trabajo de los viejos hoy, deberíais, ¿vale?
00:26:41
Deberíais haberlo mandado antes de hoy, pero bueno.
00:26:45
Entonces, si yo me voy a mis circuitos y cojo un circuito de un motor, que lo tenía por aquí,
00:26:48
estas, ¿vale?
00:26:55
Si cogemos el circuito...
00:27:03
Sí, estoy grabando, qué cansina.
00:27:06
Lo he dicho ya tres veces que estoy grabando.
00:27:09
Venga, este es un motor, ¿vale? Y un motor simplemente tiene dos cables, el que yo utilizo para activarlo o desactivarlo y el que utilizo para el negativo, positivo y negativo, el positivo si lo pongo activo se me enciende el motor y si no, y esto cuando hacemos la simulación aquí tengo simplemente un parpadeo, ¿vale?
00:27:13
Con lo cual, veis que si el pin 6, o sea, pongo el pin 6 en alta, es decir, activo el motor,
00:27:34
espero un segundo, desactivo el motor y paro.
00:27:41
Entonces, pero el motor, la pregunta del millón es, vale, pero ¿cómo hago que avance
00:27:43
y en un momento determinado que vaya para atrás?
00:27:48
Porque si yo quiero que este motor vaya para atrás, eso también lo hemos visto,
00:27:51
lo que tengo que hacer es cambiarle la polaridad a los cables, es decir,
00:27:54
Le tengo que meter el positivo por el negro y sacarle el negativo por el rojo.
00:27:59
Y entonces iría al revés.
00:28:04
Iría haciendo, te haría las vueltas al revés.
00:28:06
Con lo cual, para que un motor vaya marcha adelante o marcha atrás, ¿vale?
00:28:09
Lo que ocurre, ¿vale?
00:28:14
Lo que ocurre es que tendría que cambiar los cables de posición.
00:28:20
Y eso es imposible en un robot.
00:28:24
No puedo estar cambiando los cables de posición.
00:28:26
Entonces, para solucionar ese problema, para solucionar el problema de que podamos alimentar a un motor primero en una dirección y luego en otra, es para lo que valen los puentes H.
00:28:27
Entonces, el puente H tiene esta pinta. Es un circuito que tiene esta pinta. ¿Vale? Esta pinta que tenéis aquí.
00:28:40
El motor estaría colocado conectado aquí y aquí, no está conectado directamente a la fuente de potencia, estos de aquí abajo son del ground y esto de aquí arriba sería el pin de señal, ¿de acuerdo?
00:28:49
Entonces imaginemos que yo la señal la meto por arriba, es como está puesta aquí la pila, los 5 voltios los conectaría aquí arriba y el 0 voltios los conectaría aquí abajo.
00:29:03
Entonces, ¿qué pasa? Fijaros, si yo cierro el interruptor 1 y el interruptor 4, los 5 voltios que están aquí vienen por este camino, pasarían por aquí, este está abierto, con lo cual aquí no pasa nada.
00:29:13
Aquí está abierto, con lo cual tiene que atravesar el motor y atraviesa el motor, si os fijáis, de izquierda a derecha.
00:29:27
Y entonces, lo que ocurre es que el motor gira en un sentido.
00:29:33
¿no? Ahora, ¿qué pasa si yo abro el S1 y el S4 y cierro el S2 y el S3? Pues entonces los 5 voltios
00:29:36
que están en el mismo sitio, ahora ya no entran por aquí porque está el circuito abierto, entrarían
00:29:47
por este que está cerrado por S3 y entrarían en el motor pero entraría de derecha a izquierda y
00:29:51
saldría por S2, con lo cual que está cerrado, este está abierto, con lo cual el circuito que hace
00:29:57
los voltios, el circuito que hacen los electrones, es a través del motor, pero en este caso entran de derecha.
00:30:02
Con lo cual es el efecto de haberle cambiado los cables. Si os dais cuenta, antes la tensión iba en una dirección
00:30:09
y ahora va en la dirección contraria. Con lo cual el motor gira en una dirección o gira en la otra.
00:30:14
Y este es el invento que se utiliza en robótica para que con un motor de corriente continua, un motor normal,
00:30:19
podamos hacer que gire en las dos
00:30:25
direcciones. Si
00:30:27
cerramos S1 y S4
00:30:29
girará en una dirección
00:30:31
y giramos S3 y S2
00:30:33
girará en la otra dirección
00:30:35
y cerramos S3 y S2
00:30:37
girará en la otra dirección.
00:30:39
Ese es el truco para que el botón avance
00:30:41
y vuelva.
00:30:43
Entonces, cuando yo compro
00:30:45
un puente H en la tienda
00:30:47
¿vale? El puente H
00:30:48
tiene esta pinta
00:30:51
es un circuitito
00:30:52
donde tengo, en este caso es para dos motores
00:30:54
¿vale? estos son los controladores
00:30:57
del motor, esto es lo que hace
00:30:58
esto, todos los
00:31:00
switches están metidos dentro de este
00:31:02
chip ¿vale? que tiene
00:31:05
transistores, en lugar de interruptores
00:31:06
tiene transistores, entonces
00:31:08
aquí tengo 6 pines
00:31:10
tengo dos motores, con lo cual
00:31:13
tengo 6 pines, uno es
00:31:14
GND, como podéis ver aquí, y otro es
00:31:16
tensión, 5 voltios
00:31:18
Estos van a estar a 5 voltios y a 0 siempre. Y luego aquí tengo los pines correspondientes B1A, B1B, A1A, A1B. Entonces estos pines corresponden a esta salida.
00:31:20
Y aquí es donde yo le voy a decir si quiero que tengan 5 voltios o 0 en función de las señales que yo le mando desde la placa de arduino.
00:31:37
Entonces, estos dos pines van a estar conectados a una placa de arduino, estos otros dos pines van a estar conectados a otros pines de la placa de arduino
00:31:45
y estos van a estar simplemente a una fuente de alimentación, a ground y a 5 voltios fijos.
00:31:55
Por lo tanto, cuando yo le ponga la orden correspondiente, active o desactive estos dos pines en el orden correcto, el motor avanzará, retrocederá, separará, irá más lento o irá más rápido en función de las señales que yo le vaya indicando por aquí, el motor irá respondiendo de diferentes formas.
00:32:01
Y esa inteligencia la hace para cada uno de estos dos motores uno de estos chips, ¿vale?
00:32:22
Entonces, esto es lo que se llama un puente H y normalmente tienen esta pinta las placas de verdad.
00:32:28
Las hay para un motor, las hay para dos y las hay para cuatro, ¿de acuerdo?
00:32:33
Depende del tipo de robot que yo quiera montar, pues tenemos puentes H hasta para cuatro motores.
00:32:36
Y entonces tendríamos un motor con cuatro motores, que acciona las cuatro ruedas, ¿vale?
00:32:41
Y que puede hacer cosas diferentes con cada rueda en función de las decisiones que tenga.
00:32:46
¿De acuerdo?
00:32:50
Entonces, preguntas sobre el puente H. Perfecto. Preguntas sobre el tema de Arduino. ¿Cómo se haría la tabla de los valores? Vale, la tabla de los valores te la da el fabricante.
00:32:54
Cuando tú coges un puente H, entonces ya te dice el fabricante cómo tienes tú que poner la tensión en esos pines y simplemente nosotros a través de las órdenes estas, de poner los pasadores en alta y en baja, los cables que hemos conectado ahí los pondremos en alta o en baja y le iremos mandando órdenes para que el motor vaya haciendo lo que yo quiera.
00:33:25
lo que hago es utilizar precisamente dos conexiones a través de dos pines de mi placa de arduino
00:33:47
y entonces si me dice que por ejemplo con el valor 1,0
00:33:55
eso quiere decir que el motor va a ir hacia adelante
00:33:59
pues entonces yo si pongo el pin, por ejemplo si los he conectado en el 12 y en el 13
00:34:02
pues si pongo el 12 en 0 y el 13 en 1
00:34:07
entonces me va hacia adelante
00:34:10
si lo pongo en 1, 1
00:34:12
eso quiere decir que el motor
00:34:14
tiene que parar, pero tiene que parar lento
00:34:15
o sea, tiene que parar sin dar un golpe, sino suave
00:34:17
pues entonces, cuando yo active
00:34:20
los dos pines, el motor parará
00:34:22
lento, y cuando haga
00:34:23
si 1, 0 era para ir hacia delante
00:34:25
0, 1 será para ir hacia atrás
00:34:27
entonces, yo le voy a ir activando o desactivando
00:34:29
y el motor va a ir haciendo lo que yo le pido
00:34:32
¿vale?
00:34:34
y la transformación entre
00:34:35
esos valores que yo le pongo de activo
00:34:36
o desactivado
00:34:40
y el que el motor se funcione de una forma o de otra es lo que hace, como os he dicho antes, este chip de aquí.
00:34:40
Este chip para el motor que conecte en el primer conector este verde y este chip de aquí para el que conecte en este segundo.
00:34:50
Los dos pines de un lado activan y desactivan el motor que tengo en un lado y los dos pines que están en el otro lado activan y desactivan o controlan el motor que tengo en el otro lado.
00:34:57
Entonces yo puedo decirle que un motor avance y el otro retroceda y entonces lo que va a hacer es girar sobre sí mismo el robot. O que los dos avancen a la vez, por lo cual el robot avanza, o que los dos retrocedan a la vez. O puedo hacer que uno esté parado y el otro ande, con lo cual el robot, o que uno vaya más rápido que el otro, con lo cual hace una curva abierta, no hace un giro sobre sí mismo.
00:35:07
ya el control del robot
00:35:26
yo lo hago en función de como voy
00:35:29
activando o desactivando esos pins
00:35:31
¿de acuerdo?
00:35:33
y eso es lo que, la gracia de los robots
00:35:35
¿vale? entonces con esto
00:35:37
que os he explicado, ya tendréis
00:35:39
todas las herramientas para construiros un robot en casa
00:35:41
tan fácil
00:35:43
como esto es hacer un robot con una placa
00:35:45
de control, como son las de
00:35:47
arduino, ¿vale?
00:35:49
con los dispositivos adecuados
00:35:50
motores, sensores, actuadores
00:35:52
que esto en un kit, los kits de
00:35:55
arduino, para que os hagáis una idea, un kit que te viene
00:35:57
con un montón de cosas, que suele
00:35:59
costar 15 o 20 euros, o sea
00:36:01
son realmente baratas
00:36:02
¿vale? un sensor de
00:36:04
distancia como este, vale
00:36:07
1 euro, en cualquier tienda
00:36:08
los LED valen 30 céntimos
00:36:10
las resistencias valen 50
00:36:12
céntimos o 30 céntimos, o sea son cosas muy
00:36:14
baratas, la electrónica es muy barata
00:36:16
entonces tú te montas un robot y te haces
00:36:18
cosas súper chulas con muy poco dinero
00:36:20
¿vale? y esto ya os digo, es que
00:36:22
lo podéis comprar por Amazon y
00:36:25
en 24 horas, 48 horas
00:36:27
lo tenéis en casa. Entonces, bueno,
00:36:29
pues si os gusta,
00:36:31
pues esto es lo que
00:36:33
quería contaros. ¿Qué
00:36:34
os tengo que decir? Bien,
00:36:36
os tengo que decir que
00:36:40
los trabajos que me han dado hasta ahora
00:36:40
son todos los trabajos que hay que hacer en el
00:36:43
momento. ¿Vale?
00:36:45
Entonces, voy a parar yo la
00:36:47
grabación
00:36:48
y ahora os cuento.
00:36:49
¿Vale? Un segundito...
00:37:01
- Valoración:
- Eres el primero. Inicia sesión para valorar el vídeo.
- 1
- 2
- 3
- 4
- 5
- Idioma/s:
- Materias:
- Tecnología, Tecnologías de la Información
- 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:
- 78
- Fecha:
- 7 de mayo de 2020 - 10:48
- Visibilidad:
- Público
- Centro:
- IES ANTONIO GAUDI
- Duración:
- 37′ 03″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1866x1050 píxeles
- Tamaño:
- 113.63 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.