1 00:00:01,389 --> 00:00:10,570 Vale, lo primero, quiero enseñaros el nuevo procedimiento para que me paséis los circuitos de Tinkercad. 2 00:00:11,050 --> 00:00:15,810 Os voy a compartir, por lo tanto, mi navegador. 3 00:00:18,050 --> 00:00:20,149 Ahí estamos, ahora lo tendréis que ver. 4 00:00:20,769 --> 00:00:21,449 Perfecto. 5 00:00:22,449 --> 00:00:26,670 Y entonces, si me voy a Tinkercad, a ver un segundito. 6 00:00:26,670 --> 00:01:00,579 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. 7 00:01:00,960 --> 00:01:03,420 O si lo estáis haciendo, pues cuando lo estéis terminando de hacer. 8 00:01:04,239 --> 00:01:09,239 Y una vez que lo tengáis abierto, aquí arriba a la derecha hay un cuadrito que pone compartir. 9 00:01:09,659 --> 00:01:10,799 ¿Lo veis? Este cuadrito. 10 00:01:11,359 --> 00:01:16,180 Pues al darle, decís que invitar a personas a compartir, ¿vale? 11 00:01:16,200 --> 00:01:17,799 Para compartir el diseño conmigo. 12 00:01:18,439 --> 00:01:20,640 Y entonces copiáis este enlace que os pone aquí. 13 00:01:21,120 --> 00:01:22,900 Todo eso, tenéis aquí el botón de copiar. 14 00:01:24,099 --> 00:01:24,540 Chimpun. 15 00:01:25,040 --> 00:01:25,540 Y ya está. 16 00:01:25,859 --> 00:01:28,299 ¿Vale? Y entonces me ponéis un correo y me decís, 17 00:01:28,299 --> 00:01:30,200 profe, ¿el circuito del 18 00:01:30,200 --> 00:01:31,879 asesor de aparcamiento por ultrasonido? 19 00:01:32,140 --> 00:01:34,040 Y me ponéis el enlace, ¿vale? 20 00:01:34,420 --> 00:01:36,459 Yo ya en el correo pincho en el enlace 21 00:01:36,459 --> 00:01:38,739 y voy directo a vuestro circuito 22 00:01:38,739 --> 00:01:40,219 con lo cual no hay problema, ¿vale? 23 00:01:40,659 --> 00:01:42,540 A mí me sale que es vuestro, o sea, yo puedo 24 00:01:42,540 --> 00:01:44,700 darle información del circuito y comprobar 25 00:01:44,700 --> 00:01:45,980 que es el vuestro y no me voy a hacer 26 00:01:45,980 --> 00:01:48,040 pasar el enlace en el vecino, ¿vale? 27 00:01:48,439 --> 00:01:49,680 Así que, nada, eso. 28 00:01:50,540 --> 00:01:52,459 Es un procedimiento sencillo, lo único que tenéis 29 00:01:52,459 --> 00:01:54,340 que hacerlo para cada circuito que tengáis hecho. 30 00:01:54,659 --> 00:01:56,439 Entonces, todos los circuitos que tengáis hechos 31 00:01:56,439 --> 00:02:04,780 me los pasáis con este método, ¿vale? Para asegurarnos que yo lo puedo poner. 32 00:02:05,319 --> 00:02:08,159 Sí, os estoy grabando, ¿vale? Estoy grabando la clase. 33 00:02:09,379 --> 00:02:16,000 Entonces, más cositas. Vamos a ver hoy tres aspectos, ¿vale? 34 00:02:16,340 --> 00:02:23,159 Primero, quiero hacer un poco de hincapié en la estructura condicional, en cómo funcionan las condicionales. 35 00:02:23,159 --> 00:02:27,740 puesto que ya hemos visto los bloques que tenemos en TickerCAD para poder construir nuestros robots, 36 00:02:28,199 --> 00:02:30,219 vamos a ver cómo funciona el condicionador. 37 00:02:30,659 --> 00:02:32,960 Y vamos a entenderlo bien para poderlo utilizar con sentido. 38 00:02:33,580 --> 00:02:35,960 Y luego, ¿vale? Pues vamos a hacer algún ejemplo 39 00:02:35,960 --> 00:02:39,120 y por último vamos a terminar viendo lo de los puentes H, 40 00:02:39,340 --> 00:02:42,159 que, bueno, es ese gran misterio que solo algunos habéis visto. 41 00:02:42,979 --> 00:02:46,800 Por lo tanto, lo que voy a hacer es compartiros una presentación 42 00:02:46,800 --> 00:02:49,340 que tengo aquí preparada. 43 00:02:49,340 --> 00:03:01,689 Bien, ahora deberéis estar viendo la presentación y nada, simplemente voy a tratar tres cositas en esta presentación. 44 00:03:02,370 --> 00:03:07,370 La primera de ellas es la estructura condicional, cómo tomamos decisiones. 45 00:03:07,990 --> 00:03:13,770 La segunda, un ejemplo de los circuitos que hemos propuesto para que veáis un poco cómo se enlaza, ¿vale? 46 00:03:13,770 --> 00:03:19,069 La toma de decisiones y los bloques que hemos visto con los circuitos que os he propuesto. 47 00:03:19,069 --> 00:03:23,110 vamos a resolver desde el sensor de aparcamiento y luego pues vamos a ver el puente H. 48 00:03:23,990 --> 00:03:27,889 Y nada, pues simplemente empezamos por la toma de decisiones. 49 00:03:28,669 --> 00:03:33,310 Este esquema que tenemos aquí es un esquema sencillo de cómo se toman las decisiones. 50 00:03:33,449 --> 00:03:35,330 Cuando yo tengo que tomar una decisión, ¿qué es lo que hago? 51 00:03:35,789 --> 00:03:39,990 Normalmente tengo unas condiciones, unas condiciones que se han de cumplir 52 00:03:39,990 --> 00:03:45,610 y en función de si se cumplen o no, yo lo que voy a hacer es tomar diferentes caminos. 53 00:03:45,610 --> 00:03:49,430 Si la condición se cumple, pues ejecuto unas acciones 54 00:03:49,430 --> 00:03:52,449 Y si no se cumple, ejecuto otras acciones 55 00:03:52,449 --> 00:03:54,729 Alguno de esos caminos puede ser no hacer nada 56 00:03:54,729 --> 00:03:58,030 Pero normalmente tengo acciones en ambos caminos 57 00:03:58,030 --> 00:04:01,030 Entonces, yo estoy haciendo mis cosas 58 00:04:01,030 --> 00:04:03,150 Y llega un momento en el que tengo que tomar una decisión 59 00:04:03,150 --> 00:04:06,009 ¿Vale? Lo hemos representado aquí con un rombo 60 00:04:06,009 --> 00:04:08,650 Y este rombo tiene dos posibles salidas 61 00:04:08,650 --> 00:04:11,110 La salida verdadera, que es cuando se cumple la condición 62 00:04:11,110 --> 00:04:13,750 Y la salida de falso, cuando no se cumple 63 00:04:13,750 --> 00:04:22,870 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. 64 00:04:23,389 --> 00:04:33,149 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, 65 00:04:33,149 --> 00:04:40,790 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. 66 00:04:41,509 --> 00:04:45,490 Entonces, imaginaos, yo tengo un robot con un motor que mueve la rueda 67 00:04:45,490 --> 00:04:52,149 y yo el motor quiero pararlo si la distancia al objeto más cercano es menor que 10 centímetros. 68 00:04:52,350 --> 00:04:54,410 Entonces, ¿la condición cuál sería en este caso? 69 00:04:55,089 --> 00:04:59,589 La condición sería, pues si yo estoy midiendo la distancia con el sensor de ultrasonidos, 70 00:04:59,589 --> 00:05:05,350 pues esa distancia la comparo con 10, que son los centímetros que quiero utilizar. 71 00:05:05,350 --> 00:05:13,410 Si la distancia que está midiendo el sensor es menor que 10 centímetros, ¿qué acciones tengo que hacer? Parar los motores. 72 00:05:14,829 --> 00:05:23,029 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. 73 00:05:23,129 --> 00:05:26,209 Los motores tienen que estar encendidos, con lo cual debes encender los motores. 74 00:05:26,689 --> 00:05:33,810 Por lo tanto, yo ya tengo aquí una decisión. La decisión de si se cumple algo, ejecuto ciertas cosas. 75 00:05:33,810 --> 00:05:45,769 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. 76 00:05:46,649 --> 00:06:01,129 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. 77 00:06:01,129 --> 00:06:03,589 y luego vuelvo a ejecutar mi camino 78 00:06:03,589 --> 00:06:04,689 y continúo 79 00:06:04,689 --> 00:06:07,529 ¿de acuerdo? eso es como funcionan 80 00:06:07,529 --> 00:06:09,269 las condiciones 81 00:06:09,269 --> 00:06:11,509 en programación y como funcionan 82 00:06:11,509 --> 00:06:12,930 en la vida real, yo llego a una puerta 83 00:06:12,930 --> 00:06:14,529 y entonces tengo que tomar una decisión 84 00:06:14,529 --> 00:06:17,329 quiero atravesar la puerta, ¿está la puerta cerrada? 85 00:06:17,629 --> 00:06:19,649 esa es la condición, si la puerta está cerrada 86 00:06:19,649 --> 00:06:21,430 tengo que abrirla 87 00:06:21,430 --> 00:06:23,689 y si no está cerrada 88 00:06:23,689 --> 00:06:25,170 entonces simplemente paso 89 00:06:25,170 --> 00:06:27,250 no hago nada, en este caso veis 90 00:06:27,250 --> 00:06:29,329 una de las ramas tendría la salida 91 00:06:29,329 --> 00:06:30,689 que es no hacer nada 92 00:06:30,689 --> 00:06:35,329 ¿de acuerdo? entonces, ¿aquí cómo sería? órdenes previas, pues voy andando 93 00:06:35,329 --> 00:06:39,209 condición, ¿vale? llego a la puerta, condición 94 00:06:39,209 --> 00:06:42,610 si la puerta está cerrada 95 00:06:42,610 --> 00:06:47,089 ¿vale? o la condición que podría hacer la pregunta es si la puerta está cerrada 96 00:06:47,089 --> 00:06:50,949 ¿puerta igual a cerrado? verdadero, si la puerta está cerrada 97 00:06:50,949 --> 00:06:54,949 entonces abrir puerta, falso, la puerta no está cerrada por lo tanto 98 00:06:54,949 --> 00:06:59,029 no hago nada y luego los dos caminos en este caso no haríamos nada y confluiríamos 99 00:06:59,029 --> 00:07:00,629 a atravieso, ¿de acuerdo? 100 00:07:01,089 --> 00:07:02,649 ¿Vale? Paso. ¿De acuerdo? 101 00:07:03,209 --> 00:07:05,009 Eso sería un poco como funcionan las 102 00:07:05,009 --> 00:07:06,910 decisiones. Y quiero que quede muy claro porque 103 00:07:06,910 --> 00:07:09,050 esta estructura 104 00:07:09,050 --> 00:07:10,509 en Tinkertag, 105 00:07:11,490 --> 00:07:12,810 esta estructura de 106 00:07:12,810 --> 00:07:15,050 condición, acciones si se cumple, acciones 107 00:07:15,050 --> 00:07:16,790 si no se cumple, la estamos 108 00:07:16,790 --> 00:07:18,509 representando con este bloque. 109 00:07:18,850 --> 00:07:21,089 El bloque sí, entonces, si no. 110 00:07:21,790 --> 00:07:23,230 ¿Vale? Entonces, 111 00:07:23,569 --> 00:07:24,490 este bloque 112 00:07:24,490 --> 00:07:27,230 va a albergar dentro de este 113 00:07:27,910 --> 00:07:28,750 hexágono 114 00:07:28,750 --> 00:07:41,769 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. 115 00:07:42,430 --> 00:07:50,230 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. 116 00:07:50,230 --> 00:07:55,269 Por lo tanto, esta estructura, este bloque que tenemos en Tinkercad, me representa las condiciones. 117 00:07:56,370 --> 00:08:00,569 Dentro de ese hexágono, como digo, hay que meter algo que tiene forma de hexágono. 118 00:08:00,709 --> 00:08:07,689 En este caso, en matemáticas, tenemos las comparaciones, que puede ser menor, menor o igual, igual, distinto, mayor o mayor o igual. 119 00:08:08,370 --> 00:08:13,209 Y aquí tendré que poner algo comparándolo con algo. Esa es la decisión que tengo que tomar. 120 00:08:13,209 --> 00:08:16,810 ¿vale? normalmente aquí voy a poner una variable 121 00:08:16,810 --> 00:08:20,029 y aquí a la derecha voy a poner un valor 122 00:08:20,029 --> 00:08:22,110 que es con el que lo quiero comparar 123 00:08:22,110 --> 00:08:25,509 y aquí indicaré que relación es la que quiero que 124 00:08:25,509 --> 00:08:29,170 evaluar, entonces si se cumple esa condición 125 00:08:29,170 --> 00:08:31,290 entraré en el primer conjunto 126 00:08:31,290 --> 00:08:34,690 en el primer espacio de esta estructura y si no se 127 00:08:34,690 --> 00:08:37,570 cumple la condición entraré en el segundo espacio y estaría 128 00:08:37,570 --> 00:08:40,690 haciendo exactamente esto, una condición verdadero y falso 129 00:08:40,690 --> 00:08:44,850 y dos caminos diferentes, de forma que solamente uno de ellos se va a ejecutar. 130 00:08:46,669 --> 00:08:53,769 También podemos meter dentro de este espacio una estructura que es una combinación de varias condiciones. 131 00:08:53,769 --> 00:08:58,210 Por lo tanto, si se cumple una cosa y además se cumple otra. 132 00:08:59,470 --> 00:09:01,769 O si se cumple una o otra. 133 00:09:02,049 --> 00:09:03,629 Entonces ahí tengo las dos opciones. 134 00:09:04,190 --> 00:09:09,389 Tengo relaciones entre condiciones, entonces puedo decir que se cumplan dos cosas. 135 00:09:09,389 --> 00:09:15,649 o que se cumplan tres, puedo ir indicando que se cumplan varias cosas en función de esas relaciones 136 00:09:15,649 --> 00:09:20,309 y, o alternativamente, una relación O, ¿de acuerdo? 137 00:09:20,870 --> 00:09:22,769 Y esas son las condiciones. 138 00:09:23,590 --> 00:09:27,009 Así es como nosotros vamos a utilizar las estructuras de condiciones. 139 00:09:27,289 --> 00:09:30,649 Y esto es lo que nos va a valer para cuando estamos en un robot, 140 00:09:31,330 --> 00:09:34,129 coger los valores de los sensores, meterlos en variables, 141 00:09:34,750 --> 00:09:38,990 y una vez que los meto en variables tengo que utilizar una de estas estructuras para dividir el camino. 142 00:09:38,990 --> 00:09:50,750 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, 143 00:09:51,470 --> 00:10:01,450 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. 144 00:10:02,350 --> 00:10:06,990 Y si no se cumple la condición, entonces se va a ejecutar el segundo bloque. 145 00:10:06,990 --> 00:10:20,870 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. 146 00:10:20,870 --> 00:10:36,129 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. 147 00:10:36,129 --> 00:10:38,590 las anteriores y las anteriores 148 00:10:38,590 --> 00:10:41,190 ¿está claro cómo funciona 149 00:10:41,190 --> 00:10:42,210 una condición? 150 00:10:43,830 --> 00:10:45,450 ¿vale? abro turno del chat 151 00:10:45,450 --> 00:10:47,549 y me decís 152 00:10:47,549 --> 00:10:49,309 ¿vale? 153 00:10:49,450 --> 00:10:51,470 si está claro cómo funcionan las condiciones 154 00:10:51,470 --> 00:10:53,269 es como nosotros mismos 155 00:10:53,269 --> 00:10:55,429 funcionamos, o sea, es como las personas 156 00:10:55,429 --> 00:10:56,090 normales 157 00:10:56,090 --> 00:10:59,549 funcionamos, ¿vale? me decís por el chat 158 00:10:59,549 --> 00:11:01,269 si seguís vivos 159 00:11:01,269 --> 00:11:03,509 y si os habéis enterado o si tenéis alguna duda 160 00:11:03,509 --> 00:11:05,250 o me levantáis la mano 161 00:11:05,250 --> 00:11:07,009 y yo pongo el micro 162 00:11:07,009 --> 00:11:09,210 ¿vale? 163 00:11:10,610 --> 00:11:12,190 Nadie se anima ni a contestar 164 00:11:12,190 --> 00:11:14,210 ni a volver, pues nada, sigo pues 165 00:11:14,210 --> 00:11:15,049 venga 166 00:11:15,049 --> 00:11:18,070 entonces, esta estructura 167 00:11:18,070 --> 00:11:19,830 condicional ahora la vamos a llevar 168 00:11:19,830 --> 00:11:22,090 a un ejemplo, por ejemplo vamos a utilizar 169 00:11:22,090 --> 00:11:23,730 el sensor de aparcamiento que es el 170 00:11:23,730 --> 00:11:26,230 tercero de los problemas que teníamos 171 00:11:26,230 --> 00:11:28,250 ¿vale? esos complejos problemas 172 00:11:28,250 --> 00:11:29,789 que teníamos, bien 173 00:11:29,789 --> 00:11:33,789 pues vamos a ello, si nos vamos 174 00:11:33,789 --> 00:11:35,629 a uno de los 175 00:11:35,629 --> 00:11:39,830 circuitos propuestos, nosotros tenemos un sensor de aparcamiento. ¿Cómo sería si lo 176 00:11:39,830 --> 00:11:45,169 hago con el diagrama este raro, el que se llama diagrama de flujo y realmente se utiliza 177 00:11:45,169 --> 00:11:50,850 en informática? ¿Vale? ¿Qué es lo que estaríamos haciendo? Bien, pues si cojo 178 00:11:50,850 --> 00:11:56,889 este flujo de acciones, que es el que yo voy a repetir infinitamente, ¿vale? Dentro de 179 00:11:56,889 --> 00:12:03,370 Tinkercad, pues voy a coger ya la variable distancia a una variable, una cajita vacía 180 00:12:03,370 --> 00:12:11,289 donde yo meto valores, le voy a meter el qué, la lectura de la información que me devuelve el sensor de distancia. 181 00:12:11,929 --> 00:12:16,529 Y esa lectura está en centímetros. Por lo tanto, aquí voy a meter una distancia en centímetros, ¿vale? 182 00:12:16,549 --> 00:12:22,070 Voy a meter un número que me representa qué distancia tengo hasta el objeto más cercano en centímetros. 183 00:12:22,590 --> 00:12:24,370 Y eso es lo que me está detectando el sensor. 184 00:12:25,289 --> 00:12:28,590 Bien. Lo meto dentro de una variable. Es distancia. 185 00:12:28,590 --> 00:12:36,629 Y ahora tengo dos posibilidades, que esa distancia sea mayor de 10 o que esa distancia sea menor de 10. 186 00:12:38,070 --> 00:12:40,870 Yo he puesto como condición que la distancia sea mayor que 10. 187 00:12:41,789 --> 00:12:49,389 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. 188 00:12:50,309 --> 00:12:51,610 Y entonces avanzo. 189 00:12:51,610 --> 00:13:00,990 Por lo tanto, apago el sonido, apago el LED, no tengo que avisar, no tengo problemas de aparcamiento y puedo avanzar con el coche. 190 00:13:01,509 --> 00:13:01,850 ¿De acuerdo? 191 00:13:02,429 --> 00:13:08,330 Entonces, tanto el sonido como el LED, en el caso de que hayamos hecho el reto extra que era ponerle sonido, ¿vale? 192 00:13:08,610 --> 00:13:10,769 O si no solamente será el LED, lo apagamos. 193 00:13:10,970 --> 00:13:11,750 No hay peligro. 194 00:13:12,029 --> 00:13:13,690 Puede seguir tirando y aparcar. 195 00:13:14,129 --> 00:13:21,389 Ahora, ¿qué ocurre cuando ese sensor de distancia, de repente, la distancia que está midiendo, mide que es menor? 196 00:13:21,610 --> 00:13:28,090 10 o 10 centímetros en este caso menor o igual a 10 entonces voy a salir por la rama del falso 197 00:13:28,090 --> 00:13:34,929 es decir la condición distancia mayor que 10 se cumple no estamos más cerca entonces salimos por 198 00:13:34,929 --> 00:13:41,250 la rama del falso y el código que se va a ejecutar es este que es pita enciende el sonido y enciende 199 00:13:41,250 --> 00:13:47,429 con la luz de alarma y haz que suene el sonido vale y después espera 100 milisegundos y volvemos 200 00:13:47,429 --> 00:13:51,809 a ejecutar, leemos la distancia, comprobamos si la distancia es mayor de 10 centímetros, 201 00:13:52,070 --> 00:13:56,730 si sigue siendo más pequeña que 10 centímetros, sigo quitando, sigo encendiendo el LED, espero 202 00:13:56,730 --> 00:14:01,769 100 milisegundos, vuelvo a leer la distancia, vuelvo a comprobar. Si la persona que está 203 00:14:01,769 --> 00:14:07,870 conduciendo reacciona, mete primera y acelera y avanza, la distancia de repente va a empezar 204 00:14:07,870 --> 00:14:11,250 a crecer más grande y va a haber un momento en una de esas vueltas en las que la distancia 205 00:14:11,250 --> 00:14:16,070 que se lea va a ser mayor de 10 centímetros. En ese momento saldremos por la rama de la 206 00:14:16,070 --> 00:14:23,309 derecha, puesto que la condición se cumplirá, se apagará el sonido, se apagará el leer y no le 207 00:14:23,309 --> 00:14:28,029 faltará más. Esperaremos 10 milisegundos, con lo cual dejará de sonar y dejará de pitar y dejará 208 00:14:28,029 --> 00:14:32,590 de encender el teléfono. Vuelvo a sacar la distancia y de nuevo, y aquí estaremos el 209 00:14:32,590 --> 00:14:36,710 núcleo infinito. Eso es como funciona un sensor de aparcamiento, pero veis que es muy fácil, 210 00:14:36,830 --> 00:14:43,289 solamente tengo que coger el bloque del lector de distancia, del sensor de ultrasonidos, tengo que 211 00:14:43,289 --> 00:14:50,610 leer su lectura y luego tengo que coger los bloques de tanto el LED o el sonido, que funcionan 212 00:14:50,610 --> 00:14:56,750 igual, y utilizarlos para encender o apagar, es decir, activar o desactivar. ¿Cómo lo 213 00:14:56,750 --> 00:15:03,870 resolvemos en Tinkercad? Pues vamos a verlo. En Tinkercad lo que vamos a hacer es primero 214 00:15:03,870 --> 00:15:12,549 resolver el circuito con nuestra placa controladora. Entonces tenemos nuestra luz conectada al 215 00:15:12,549 --> 00:15:14,990 pin número 13, tenemos nuestro 216 00:15:14,990 --> 00:15:15,970 zumbador 217 00:15:15,970 --> 00:15:18,470 conectado al pin número 12, estos son 218 00:15:18,470 --> 00:15:20,509 estructuras y conexiones 219 00:15:20,509 --> 00:15:22,629 que ya hemos visto, con lo cual no las voy a volver a explicar 220 00:15:22,629 --> 00:15:24,490 simplemente me pongo mi bloque 221 00:15:24,490 --> 00:15:26,090 del LED y lo construyo 222 00:15:26,090 --> 00:15:28,529 me pongo mi bloque del zumbador y lo 223 00:15:28,529 --> 00:15:30,710 construyo, me pongo mi bloque de mi sensor 224 00:15:30,710 --> 00:15:32,149 de ultrasonidos y lo construyo 225 00:15:32,149 --> 00:15:34,490 y lo pincho en los pines, que eso 226 00:15:34,490 --> 00:15:36,450 si puede ser cualquiera, pero yo 227 00:15:36,450 --> 00:15:38,269 tengo que saber en donde he pinchado cada cosa 228 00:15:38,269 --> 00:15:40,889 en este caso, pues nuestro sensor de ultrasonidos 229 00:15:40,889 --> 00:15:44,909 Nuestro trigger verde va al 7, nuestro eco azul va al 4. 230 00:15:45,710 --> 00:15:50,210 Hemos utilizado una protoboard, podemos conectarlos de forma directa o sin la protoboard, da igual. 231 00:15:50,529 --> 00:15:56,190 La cosa es que yo tengo conectado, lo que a mí me importa es que el trigger lo tengo en el 7, 232 00:15:56,809 --> 00:16:03,330 el eco lo tengo en el 4, y luego el zumbador lo tengo en el 12 y la luz en el 3. 233 00:16:03,330 --> 00:16:16,210 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í. 234 00:16:16,809 --> 00:16:24,730 Utilizamos un primer bloque que es, una vez que yo he construido, he creado, he definido mi variable distancia, 235 00:16:24,730 --> 00:16:33,129 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, 236 00:16:33,330 --> 00:16:41,169 El valor de leer el sensor de distancia ultrasonico que tengo en el desencadenador 7 y en el ECO 4 con el centímetro. 237 00:16:41,330 --> 00:16:42,970 Fijaros que es lo mismo que estaba haciendo aquí. 238 00:16:43,210 --> 00:16:46,850 Leer la información del sensor y meterlo en la variable distancia. 239 00:16:47,570 --> 00:16:48,090 Perfecto. 240 00:16:49,230 --> 00:16:53,230 Entonces, esto está cambiando, ¿vale? 241 00:16:53,230 --> 00:16:55,690 Estos dos bloques son al revés, ¿vale? 242 00:16:55,690 --> 00:16:57,730 En este caso, pues hay que cambiar estos bloques. 243 00:16:57,889 --> 00:17:00,509 Me he equivocado al hacerlo, pero bueno, ahora lo entendéis. 244 00:17:00,509 --> 00:17:13,210 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. 245 00:17:13,509 --> 00:17:22,589 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? 246 00:17:22,589 --> 00:17:24,710 Si la distancia es menor de 10 centímetros. 247 00:17:25,190 --> 00:17:29,789 Si lo tenemos con distancia mayor de 10 centímetros, tendríamos que ponerlos en baja, que es lo que pone aquí, ¿vale? 248 00:17:30,069 --> 00:17:35,269 Apagar, apagar, apagar, pero bueno, entendéis cómo funciona. 249 00:17:36,049 --> 00:17:40,750 Entonces, si la distancia es menor, cambiar esto aquí a un menor, ¿vale? 250 00:17:41,089 --> 00:17:48,910 Menor de 10 centímetros, entonces enciendo el zumbador, enciendo el lagun. 251 00:17:48,910 --> 00:18:05,170 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. 252 00:18:05,170 --> 00:18:28,009 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. 253 00:18:28,009 --> 00:18:36,130 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. 254 00:18:37,170 --> 00:18:51,089 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. 255 00:18:51,089 --> 00:18:54,109 si estoy leyendo un sensor de humedad 256 00:18:54,109 --> 00:18:56,109 pues si la humedad está por encima 257 00:18:56,109 --> 00:18:58,029 de un cierto número, lo que hago es 258 00:18:58,029 --> 00:18:59,930 hacer ciertas cosas y si está por debajo 259 00:18:59,930 --> 00:19:01,990 hago otra, al final 260 00:19:01,990 --> 00:19:03,990 lo que tengo son sensores que 261 00:19:03,990 --> 00:19:05,750 recogen números, que recogen valores 262 00:19:05,750 --> 00:19:08,109 de lo que están midiendo, de aquello a lo que 263 00:19:08,109 --> 00:19:09,869 son sensibles, veis un hombre 264 00:19:09,869 --> 00:19:11,990 un sensor de temperatura 265 00:19:11,990 --> 00:19:13,410 es sensible a la temperatura 266 00:19:13,410 --> 00:19:16,289 y en función de que la temperatura sea mayor o menor 267 00:19:16,289 --> 00:19:17,289 me va a devolver un valor 268 00:19:17,289 --> 00:19:19,990 y yo ese número que me está devolviendo 269 00:19:19,990 --> 00:19:25,170 el sensor, lo puedo comparar a través de una comparación que me tendría en una estructura 270 00:19:25,170 --> 00:19:32,529 de condición. Si ese valor es mayor de un determinado número, hago cosas y si no, hago 271 00:19:32,529 --> 00:19:37,349 otras cosas diferentes y luego continúa el programa. Normalmente cuando termino de ejecutar 272 00:19:37,349 --> 00:19:42,809 o de comprobar todas las variables y de hacer las acciones correspondientes, vuelvo al inicio 273 00:19:42,809 --> 00:19:48,670 con lo cual releo de nuevo otra vez todas las variables con los valores nuevos que me 274 00:19:48,670 --> 00:19:50,650 me devuelvan mis sensores. 275 00:19:51,930 --> 00:19:52,990 Vuelvo a cargar las variables 276 00:19:52,990 --> 00:19:54,990 con los nuevos valores de los sensores y vuelvo 277 00:19:54,990 --> 00:19:56,450 a actuar las decisiones. Y eso 278 00:19:56,450 --> 00:19:58,910 se repite muchas veces por 279 00:19:58,910 --> 00:20:00,029 segundo de forma íntima. 280 00:20:01,029 --> 00:20:03,029 ¿Vale? ¿Entendéis cómo funcionan 281 00:20:03,029 --> 00:20:05,069 los programas de robots? ¿Entendéis 282 00:20:05,069 --> 00:20:06,950 cómo funciona la programación de este tipo 283 00:20:06,950 --> 00:20:07,930 de 284 00:20:07,930 --> 00:20:09,349 aparatejos? 285 00:20:10,869 --> 00:20:12,250 A ver, voy al chat. 286 00:20:13,910 --> 00:20:14,430 ¿Lo entendéis? 287 00:20:14,710 --> 00:20:16,670 Contestadme, por favor, que así sé que 288 00:20:16,670 --> 00:20:17,750 estáis vivos todos. 289 00:20:18,670 --> 00:20:22,069 no veo manos 290 00:20:22,069 --> 00:20:26,730 Carla dice, buf, eso es que te acabas de despertar 291 00:20:26,730 --> 00:20:29,289 o que te parece complicado 292 00:20:29,289 --> 00:20:40,579 dime Carla 293 00:20:40,579 --> 00:20:43,960 que es complicado, no, no es nada complicado 294 00:20:43,960 --> 00:20:47,339 es al final muy sencillo, es siempre lo mismo 295 00:20:47,339 --> 00:20:49,440 o sea, lo que tenéis que entender es que siempre es lo mismo 296 00:20:49,440 --> 00:20:52,980 yo tengo que buscar 297 00:20:52,980 --> 00:20:56,319 qué variables necesito para almacenar los valores 298 00:20:56,319 --> 00:20:57,039 que voy a leer 299 00:20:57,039 --> 00:20:59,079 que va a llegar 300 00:20:59,079 --> 00:21:01,380 yo tengo que definir 301 00:21:01,380 --> 00:21:02,079 unas variables 302 00:21:02,079 --> 00:21:05,240 luego tengo que leer 303 00:21:05,240 --> 00:21:06,940 la información de los sensores 304 00:21:06,940 --> 00:21:08,279 y meterlo en esas variables 305 00:21:08,279 --> 00:21:10,740 cada variable tendrá la información de un sensor 306 00:21:10,740 --> 00:21:12,740 y luego a través de condiciones 307 00:21:12,740 --> 00:21:15,079 si, entonces 308 00:21:15,079 --> 00:21:17,420 si no, tengo que ir decidiendo 309 00:21:17,420 --> 00:21:18,980 si ejecuto o no cosas 310 00:21:18,980 --> 00:21:20,920 los bloques ya los enseñé 311 00:21:20,920 --> 00:21:22,900 es muy fácil, ¿cómo se lee un botón? 312 00:21:22,900 --> 00:21:25,299 os lo dije, tenemos ya esa pieza 313 00:21:25,299 --> 00:21:26,680 que es una pieza muy sencillita 314 00:21:26,680 --> 00:21:29,539 tenemos como se lee un botón, tenemos como se enciende 315 00:21:29,539 --> 00:21:31,819 una luz, tenemos como se ejecuta 316 00:21:31,819 --> 00:21:33,599 o como suena un sonido 317 00:21:33,599 --> 00:21:35,539 en un botón, tenemos como se lee 318 00:21:35,539 --> 00:21:36,880 una distancia, como se lee un LED 319 00:21:36,880 --> 00:21:39,559 tenemos ya varias piezas y ahora lo único 320 00:21:39,559 --> 00:21:41,119 que tengo que hacer es ponerlas todas juntas 321 00:21:41,119 --> 00:21:43,500 y utilizar esta estructura de condición 322 00:21:43,500 --> 00:21:45,599 para tomar decisiones 323 00:21:46,440 --> 00:21:46,700 ¿vale? 324 00:21:47,720 --> 00:21:48,400 ¿de acuerdo? 325 00:21:50,660 --> 00:21:52,019 es un poco difícil el código 326 00:21:52,019 --> 00:21:54,819 no, el código no es complicado porque al final 327 00:21:54,819 --> 00:21:56,339 la estructura es bastante sencilla 328 00:21:56,339 --> 00:22:03,640 Si volvemos a la transparencia anterior, fíjate que la estructura se parece bastante a lo que de forma normal tú vas a pensar. 329 00:22:04,579 --> 00:22:10,740 Si ocurre una condición, entonces ejecutamos esto y si no, ejecutamos lo otro. 330 00:22:10,960 --> 00:22:13,180 Yo creo que los bloques de código son bastante sencillos. 331 00:22:13,579 --> 00:22:21,539 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. 332 00:22:21,539 --> 00:22:24,000 entonces si se cumple esa condición 333 00:22:24,000 --> 00:22:25,779 ejecutaremos esto y si no lo otro 334 00:22:25,779 --> 00:22:27,400 yo creo que el código es bastante 335 00:22:27,400 --> 00:22:29,559 bastante sencillo 336 00:22:29,559 --> 00:22:31,220 el cómo se colocan los pines 337 00:22:31,220 --> 00:22:33,700 y el cómo se colocan los bloques 338 00:22:33,700 --> 00:22:35,960 ya lo he explicado siete veces 339 00:22:35,960 --> 00:22:37,579 y eso hay que 340 00:22:37,579 --> 00:22:40,359 tenerlo apuntado en un cuaderno 341 00:22:40,359 --> 00:22:41,759 o tenerlo en algún sitio 342 00:22:41,759 --> 00:22:43,180 o aprenderlo de memoria 343 00:22:43,180 --> 00:22:45,519 yo me lo sé de memoria porque lo he hecho mil veces 344 00:22:45,519 --> 00:22:47,980 si vosotros no sois capaces de memorizar 345 00:22:47,980 --> 00:22:50,119 seis dispositivos que hemos estudiado 346 00:22:50,119 --> 00:22:56,640 tres sensores y tres actuadores y saber cómo se conectan y saber cómo se activan y se desactivan 347 00:22:56,640 --> 00:23:01,420 o cómo se lee la información en caso de que sea un sensor, pues si no sois capaces de eso, 348 00:23:01,519 --> 00:23:06,359 es tan fácil como cogerte un cuadernito, un folio y hacerte un resumen con seis apartados. 349 00:23:06,539 --> 00:23:14,079 Primero, luz. Esta es la estructura. El positivo tiene que ir aquí a la patilla doblada. 350 00:23:14,720 --> 00:23:17,559 Este es el activo, el que yo pongo como señal de control. 351 00:23:17,559 --> 00:23:25,920 Y el negativo, que es la patilla de masa doblada, con una resistencia de 220 ohmios a masa, a ground, a GND. 352 00:23:26,579 --> 00:23:27,859 Y eso hay que sabérselo. 353 00:23:29,140 --> 00:23:35,299 ¿Por dónde lo llevo a ground? Me da igual que yo esta patilla la conecte aquí, que esto ya está conectado a ground, 354 00:23:35,900 --> 00:23:42,319 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. 355 00:23:42,319 --> 00:23:45,640 Es decir, yo, la cosa es que esto vaya a cero vueltas, a GND. 356 00:23:46,640 --> 00:23:48,880 Vaya por el trayecto que vaya, tiene que llegar a GND. 357 00:23:49,579 --> 00:23:54,759 Y este, del otro lado, tiene que estar en el pin de control, donde yo activo o desactivo la señal. 358 00:23:55,119 --> 00:23:58,200 Si eso lo colocas así, ya me da igual del pin que lo pinches. 359 00:23:58,400 --> 00:24:03,599 Si lo pinches en el 13, en el 12, en el 11, en el 10, ya eso lo controlas con el programa. 360 00:24:04,240 --> 00:24:08,240 ¿Vale? Es lo único que cambia, pero el resto es todo sotacar y reír. 361 00:24:08,240 --> 00:24:10,859 entonces, el sensor de distancia 362 00:24:10,859 --> 00:24:12,579 siempre va a tener cuatro pines 363 00:24:12,579 --> 00:24:14,480 va a tener un A positivo, va a tener 364 00:24:14,480 --> 00:24:16,599 un GND y va a tener 365 00:24:16,599 --> 00:24:18,559 dos pines de control, que tengo que 366 00:24:18,559 --> 00:24:20,180 pincharlos en dos pines 367 00:24:20,180 --> 00:24:21,960 de aquí, siete o cuatro 368 00:24:21,960 --> 00:24:24,420 el LDR, pues tiene la estructura 369 00:24:24,420 --> 00:24:26,660 que tiene, con la resistencia, con el positivo 370 00:24:26,660 --> 00:24:28,059 con el pin de control 371 00:24:28,059 --> 00:24:30,039 y el pin de control hay que tener cuidado que hay que meterlo 372 00:24:30,039 --> 00:24:31,920 analógico, porque es un sensor 373 00:24:31,920 --> 00:24:33,579 analógico, ya está 374 00:24:33,579 --> 00:24:35,980 solo hay que hacer eso 375 00:24:35,980 --> 00:24:38,000 ¿vale? solo hay que hacer 376 00:24:38,000 --> 00:24:54,660 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á. 377 00:24:54,660 --> 00:24:59,119 Y con eso tenéis hecho cualquier circuito de cualquier robot del mundo. 378 00:25:00,000 --> 00:25:02,900 Con eso podéis hacer un robot muy complicado. 379 00:25:03,539 --> 00:25:08,220 Los robots que son muy complicados, lo único que tienen son miles de sensores, 380 00:25:09,099 --> 00:25:13,680 y miles de cables, miles de pines, y hacen miles de comprobaciones por segundo. 381 00:25:14,740 --> 00:25:17,680 ¿Vale? Eso es lo único que tiene un robot muy complicado. 382 00:25:18,400 --> 00:25:22,640 Las decisiones son más complicadas que si esto es mayor que esto o menor que esto. 383 00:25:22,640 --> 00:25:44,269 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. 384 00:25:44,269 --> 00:26:06,150 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. 385 00:26:06,150 --> 00:26:31,720 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. 386 00:26:31,720 --> 00:26:35,950 Dime, mientras tanto, ¿qué pasa? 387 00:26:41,940 --> 00:26:45,119 El trabajo de los viejos hoy, deberíais, ¿vale? 388 00:26:45,180 --> 00:26:47,299 Deberíais haberlo mandado antes de hoy, pero bueno. 389 00:26:48,240 --> 00:26:53,460 Entonces, si yo me voy a mis circuitos y cojo un circuito de un motor, que lo tenía por aquí, 390 00:26:55,900 --> 00:27:03,049 estas, ¿vale? 391 00:27:03,630 --> 00:27:05,950 Si cogemos el circuito... 392 00:27:06,730 --> 00:27:08,930 Sí, estoy grabando, qué cansina. 393 00:27:09,849 --> 00:27:12,529 Lo he dicho ya tres veces que estoy grabando. 394 00:27:13,950 --> 00:27:34,109 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? 395 00:27:34,109 --> 00:27:40,670 Con lo cual, veis que si el pin 6, o sea, pongo el pin 6 en alta, es decir, activo el motor, 396 00:27:41,150 --> 00:27:43,430 espero un segundo, desactivo el motor y paro. 397 00:27:43,529 --> 00:27:48,049 Entonces, pero el motor, la pregunta del millón es, vale, pero ¿cómo hago que avance 398 00:27:48,049 --> 00:27:50,130 y en un momento determinado que vaya para atrás? 399 00:27:51,029 --> 00:27:54,430 Porque si yo quiero que este motor vaya para atrás, eso también lo hemos visto, 400 00:27:54,930 --> 00:27:59,450 lo que tengo que hacer es cambiarle la polaridad a los cables, es decir, 401 00:27:59,450 --> 00:28:04,390 Le tengo que meter el positivo por el negro y sacarle el negativo por el rojo. 402 00:28:04,890 --> 00:28:06,049 Y entonces iría al revés. 403 00:28:06,549 --> 00:28:09,130 Iría haciendo, te haría las vueltas al revés. 404 00:28:09,430 --> 00:28:13,289 Con lo cual, para que un motor vaya marcha adelante o marcha atrás, ¿vale? 405 00:28:14,130 --> 00:28:19,950 Lo que ocurre, ¿vale? 406 00:28:20,089 --> 00:28:24,170 Lo que ocurre es que tendría que cambiar los cables de posición. 407 00:28:24,630 --> 00:28:25,890 Y eso es imposible en un robot. 408 00:28:26,009 --> 00:28:27,710 No puedo estar cambiando los cables de posición. 409 00:28:27,710 --> 00:28:40,210 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. 410 00:28:40,890 --> 00:28:49,809 Entonces, el puente H tiene esta pinta. Es un circuito que tiene esta pinta. ¿Vale? Esta pinta que tenéis aquí. 411 00:28:49,809 --> 00:29:02,890 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? 412 00:29:03,650 --> 00:29:12,609 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. 413 00:29:13,329 --> 00:29:26,609 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. 414 00:29:27,710 --> 00:29:32,910 Aquí está abierto, con lo cual tiene que atravesar el motor y atraviesa el motor, si os fijáis, de izquierda a derecha. 415 00:29:33,950 --> 00:29:36,789 Y entonces, lo que ocurre es que el motor gira en un sentido. 416 00:29:36,789 --> 00:29:47,210 ¿no? Ahora, ¿qué pasa si yo abro el S1 y el S4 y cierro el S2 y el S3? Pues entonces los 5 voltios 417 00:29:47,210 --> 00:29:51,650 que están en el mismo sitio, ahora ya no entran por aquí porque está el circuito abierto, entrarían 418 00:29:51,650 --> 00:29:57,549 por este que está cerrado por S3 y entrarían en el motor pero entraría de derecha a izquierda y 419 00:29:57,549 --> 00:30:02,589 saldría por S2, con lo cual que está cerrado, este está abierto, con lo cual el circuito que hace 420 00:30:02,589 --> 00:30:08,529 los voltios, el circuito que hacen los electrones, es a través del motor, pero en este caso entran de derecha. 421 00:30:09,170 --> 00:30:14,950 Con lo cual es el efecto de haberle cambiado los cables. Si os dais cuenta, antes la tensión iba en una dirección 422 00:30:14,950 --> 00:30:19,309 y ahora va en la dirección contraria. Con lo cual el motor gira en una dirección o gira en la otra. 423 00:30:19,869 --> 00:30:25,109 Y este es el invento que se utiliza en robótica para que con un motor de corriente continua, un motor normal, 424 00:30:25,109 --> 00:30:27,910 podamos hacer que gire en las dos 425 00:30:27,910 --> 00:30:29,589 direcciones. Si 426 00:30:29,589 --> 00:30:31,450 cerramos S1 y S4 427 00:30:31,450 --> 00:30:33,569 girará en una dirección 428 00:30:33,569 --> 00:30:35,750 y giramos S3 y S2 429 00:30:35,750 --> 00:30:37,410 girará en la otra dirección 430 00:30:37,410 --> 00:30:39,549 y cerramos S3 y S2 431 00:30:39,549 --> 00:30:40,890 girará en la otra dirección. 432 00:30:41,549 --> 00:30:43,930 Ese es el truco para que el botón avance 433 00:30:43,930 --> 00:30:45,269 y vuelva. 434 00:30:45,849 --> 00:30:47,670 Entonces, cuando yo compro 435 00:30:47,670 --> 00:30:48,910 un puente H en la tienda 436 00:30:48,910 --> 00:30:51,750 ¿vale? El puente H 437 00:30:51,750 --> 00:30:52,569 tiene esta pinta 438 00:30:52,569 --> 00:30:54,869 es un circuitito 439 00:30:54,869 --> 00:30:57,009 donde tengo, en este caso es para dos motores 440 00:30:57,009 --> 00:30:58,970 ¿vale? estos son los controladores 441 00:30:58,970 --> 00:31:00,869 del motor, esto es lo que hace 442 00:31:00,869 --> 00:31:02,769 esto, todos los 443 00:31:02,769 --> 00:31:05,269 switches están metidos dentro de este 444 00:31:05,269 --> 00:31:06,809 chip ¿vale? que tiene 445 00:31:06,809 --> 00:31:08,710 transistores, en lugar de interruptores 446 00:31:08,710 --> 00:31:10,490 tiene transistores, entonces 447 00:31:10,490 --> 00:31:13,049 aquí tengo 6 pines 448 00:31:13,049 --> 00:31:14,809 tengo dos motores, con lo cual 449 00:31:14,809 --> 00:31:16,750 tengo 6 pines, uno es 450 00:31:16,750 --> 00:31:18,849 GND, como podéis ver aquí, y otro es 451 00:31:18,849 --> 00:31:20,369 tensión, 5 voltios 452 00:31:20,369 --> 00:31:37,210 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. 453 00:31:37,210 --> 00:31:45,130 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. 454 00:31:45,789 --> 00:31:55,990 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 455 00:31:55,990 --> 00:32:01,470 y estos van a estar simplemente a una fuente de alimentación, a ground y a 5 voltios fijos. 456 00:32:01,470 --> 00:32:22,990 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. 457 00:32:22,990 --> 00:32:27,769 Y esa inteligencia la hace para cada uno de estos dos motores uno de estos chips, ¿vale? 458 00:32:28,069 --> 00:32:32,609 Entonces, esto es lo que se llama un puente H y normalmente tienen esta pinta las placas de verdad. 459 00:32:33,109 --> 00:32:35,990 Las hay para un motor, las hay para dos y las hay para cuatro, ¿de acuerdo? 460 00:32:36,390 --> 00:32:41,150 Depende del tipo de robot que yo quiera montar, pues tenemos puentes H hasta para cuatro motores. 461 00:32:41,569 --> 00:32:46,430 Y entonces tendríamos un motor con cuatro motores, que acciona las cuatro ruedas, ¿vale? 462 00:32:46,490 --> 00:32:49,750 Y que puede hacer cosas diferentes con cada rueda en función de las decisiones que tenga. 463 00:32:50,609 --> 00:32:51,230 ¿De acuerdo? 464 00:32:54,940 --> 00:33:25,460 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. 465 00:33:25,460 --> 00:33:47,259 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. 466 00:33:47,259 --> 00:33:55,900 lo que hago es utilizar precisamente dos conexiones a través de dos pines de mi placa de arduino 467 00:33:55,900 --> 00:33:59,799 y entonces si me dice que por ejemplo con el valor 1,0 468 00:33:59,799 --> 00:34:02,819 eso quiere decir que el motor va a ir hacia adelante 469 00:34:02,819 --> 00:34:07,160 pues entonces yo si pongo el pin, por ejemplo si los he conectado en el 12 y en el 13 470 00:34:07,160 --> 00:34:10,300 pues si pongo el 12 en 0 y el 13 en 1 471 00:34:10,300 --> 00:34:12,139 entonces me va hacia adelante 472 00:34:12,139 --> 00:34:14,000 si lo pongo en 1, 1 473 00:34:14,000 --> 00:34:15,820 eso quiere decir que el motor 474 00:34:15,820 --> 00:34:17,719 tiene que parar, pero tiene que parar lento 475 00:34:17,719 --> 00:34:20,039 o sea, tiene que parar sin dar un golpe, sino suave 476 00:34:20,039 --> 00:34:22,000 pues entonces, cuando yo active 477 00:34:22,000 --> 00:34:23,900 los dos pines, el motor parará 478 00:34:23,900 --> 00:34:25,820 lento, y cuando haga 479 00:34:25,820 --> 00:34:27,960 si 1, 0 era para ir hacia delante 480 00:34:27,960 --> 00:34:29,840 0, 1 será para ir hacia atrás 481 00:34:29,840 --> 00:34:32,400 entonces, yo le voy a ir activando o desactivando 482 00:34:32,400 --> 00:34:34,480 y el motor va a ir haciendo lo que yo le pido 483 00:34:34,480 --> 00:34:35,320 ¿vale? 484 00:34:35,679 --> 00:34:36,980 y la transformación entre 485 00:34:36,980 --> 00:34:40,179 esos valores que yo le pongo de activo 486 00:34:40,179 --> 00:34:40,880 o desactivado 487 00:34:40,880 --> 00:34:49,619 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í. 488 00:34:50,280 --> 00:34:57,000 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. 489 00:34:57,320 --> 00:35:07,139 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. 490 00:35:07,139 --> 00:35:26,079 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. 491 00:35:26,079 --> 00:35:29,099 ya el control del robot 492 00:35:29,099 --> 00:35:31,179 yo lo hago en función de como voy 493 00:35:31,179 --> 00:35:33,059 activando o desactivando esos pins 494 00:35:33,059 --> 00:35:34,579 ¿de acuerdo? 495 00:35:35,280 --> 00:35:37,159 y eso es lo que, la gracia de los robots 496 00:35:37,159 --> 00:35:39,260 ¿vale? entonces con esto 497 00:35:39,260 --> 00:35:41,139 que os he explicado, ya tendréis 498 00:35:41,139 --> 00:35:43,199 todas las herramientas para construiros un robot en casa 499 00:35:43,199 --> 00:35:45,199 tan fácil 500 00:35:45,199 --> 00:35:47,079 como esto es hacer un robot con una placa 501 00:35:47,079 --> 00:35:49,059 de control, como son las de 502 00:35:49,059 --> 00:35:50,460 arduino, ¿vale? 503 00:35:50,880 --> 00:35:52,960 con los dispositivos adecuados 504 00:35:52,960 --> 00:35:55,099 motores, sensores, actuadores 505 00:35:55,099 --> 00:35:57,039 que esto en un kit, los kits de 506 00:35:57,039 --> 00:35:59,079 arduino, para que os hagáis una idea, un kit que te viene 507 00:35:59,079 --> 00:36:01,179 con un montón de cosas, que suele 508 00:36:01,179 --> 00:36:02,940 costar 15 o 20 euros, o sea 509 00:36:02,940 --> 00:36:04,500 son realmente baratas 510 00:36:04,500 --> 00:36:07,039 ¿vale? un sensor de 511 00:36:07,039 --> 00:36:08,619 distancia como este, vale 512 00:36:08,619 --> 00:36:10,940 1 euro, en cualquier tienda 513 00:36:10,940 --> 00:36:12,760 los LED valen 30 céntimos 514 00:36:12,760 --> 00:36:14,960 las resistencias valen 50 515 00:36:14,960 --> 00:36:16,960 céntimos o 30 céntimos, o sea son cosas muy 516 00:36:16,960 --> 00:36:18,940 baratas, la electrónica es muy barata 517 00:36:18,940 --> 00:36:20,980 entonces tú te montas un robot y te haces 518 00:36:20,980 --> 00:36:22,719 cosas súper chulas con muy poco dinero 519 00:36:22,719 --> 00:36:25,079 ¿vale? y esto ya os digo, es que 520 00:36:25,079 --> 00:36:27,159 lo podéis comprar por Amazon y 521 00:36:27,159 --> 00:36:29,079 en 24 horas, 48 horas 522 00:36:29,079 --> 00:36:30,980 lo tenéis en casa. Entonces, bueno, 523 00:36:31,079 --> 00:36:32,880 pues si os gusta, 524 00:36:33,059 --> 00:36:34,940 pues esto es lo que 525 00:36:34,940 --> 00:36:36,960 quería contaros. ¿Qué 526 00:36:36,960 --> 00:36:38,820 os tengo que decir? Bien, 527 00:36:40,000 --> 00:36:40,940 os tengo que decir que 528 00:36:40,940 --> 00:36:43,039 los trabajos que me han dado hasta ahora 529 00:36:43,039 --> 00:36:45,000 son todos los trabajos que hay que hacer en el 530 00:36:45,000 --> 00:36:46,280 momento. ¿Vale? 531 00:36:47,440 --> 00:36:48,920 Entonces, voy a parar yo la 532 00:36:48,920 --> 00:36:49,440 grabación 533 00:36:49,440 --> 00:36:52,679 y ahora os cuento. 534 00:37:01,340 --> 00:37:02,940 ¿Vale? Un segundito...