1 00:00:01,090 --> 00:00:07,910 Hola, en esta primera práctica robótica vamos a dar los primeros pasos con la placa Arduino. 2 00:00:08,189 --> 00:00:15,410 En concreto vamos a hacer un ejercicio muy típico para empezar, que es hacer el encendido y apagado de un LED. 3 00:00:16,230 --> 00:00:19,329 Lo primero que vamos a buscar es la placa Arduino. 4 00:00:19,969 --> 00:00:27,050 Aquí en la biblioteca de componentes vamos a poner todos y si nos movemos hacia abajo en algún momento aparecerá la placa Arduino. 5 00:00:27,050 --> 00:00:30,629 aquí está, arduino uno 6 00:00:30,629 --> 00:00:32,689 entonces clico y arrastro 7 00:00:32,689 --> 00:00:33,350 aquí la tengo 8 00:00:33,350 --> 00:00:36,310 voy a traer también una placa protoboard 9 00:00:36,310 --> 00:00:37,350 para pinchar el led 10 00:00:37,350 --> 00:00:39,770 no es que sea estrictamente necesario 11 00:00:39,770 --> 00:00:41,990 pero vamos a traer una 12 00:00:41,990 --> 00:00:43,909 una pequeña nos vale 13 00:00:43,909 --> 00:00:46,090 porque para un LED no necesitamos más 14 00:00:46,090 --> 00:00:50,149 y luego vamos a traer el led 15 00:00:50,149 --> 00:00:51,310 perdón, si el led 16 00:00:51,310 --> 00:00:53,670 lo voy a dejar de momento 17 00:00:53,670 --> 00:00:54,530 no lo voy a pinchar 18 00:00:54,530 --> 00:00:57,250 no lo encuentro pero escribo LED 19 00:00:57,250 --> 00:00:58,990 si os acordáis del buscador, aquí está LED 20 00:00:58,990 --> 00:01:01,869 y voy a traer también una resistencia 21 00:01:01,869 --> 00:01:05,109 que de momento la dejo aquí sin pinchar 22 00:01:05,109 --> 00:01:07,370 luego las conectamos 23 00:01:07,370 --> 00:01:09,310 al Arduino y os explico como se hace 24 00:01:09,310 --> 00:01:10,989 de momento vamos a 25 00:01:10,989 --> 00:01:13,549 a echar un vistazo aquí a la placa Arduino 26 00:01:13,549 --> 00:01:17,650 y os explico los primeros 27 00:01:17,650 --> 00:01:19,170 no todos los conectores 28 00:01:19,170 --> 00:01:20,189 pero si alguno de ellos 29 00:01:20,189 --> 00:01:23,230 bueno, este esquema que aparece aquí 30 00:01:23,230 --> 00:01:30,250 es muy similar a un Arduino en la vida real mirándolo desde arriba. Este conector que 31 00:01:30,250 --> 00:01:36,569 hay aquí a la izquierda con un USB es de hecho el conector USB con el que conectamos 32 00:01:36,569 --> 00:01:43,609 la placa Arduino al ordenador. Uno programa, escribe un código en el ordenador normalmente 33 00:01:43,609 --> 00:01:49,310 y lo sube a través de un programa que se llama el IDE de Arduino. Os enseñaré en 34 00:01:49,310 --> 00:01:52,109 otra práctica con detalle cómo se hace esto, pero bueno, en cuanto os lo cuento así por 35 00:01:52,109 --> 00:01:54,049 encima, sube el programa a través 36 00:01:54,049 --> 00:01:54,870 del cable USB 37 00:01:54,870 --> 00:01:57,569 la placa Arduino, que es como 38 00:01:57,569 --> 00:01:59,930 es un microcontrolador, tiene su propia 39 00:01:59,930 --> 00:02:01,489 memoria, ahí guarda el programa 40 00:02:01,489 --> 00:02:03,650 y una vez que ya la tiene guardada en su memoria 41 00:02:03,650 --> 00:02:05,950 ya va a ejecutar siempre ese mismo 42 00:02:05,950 --> 00:02:07,430 programa hasta que no grabes otro 43 00:02:07,430 --> 00:02:09,770 entonces eso se hace a través de este cable USB 44 00:02:09,770 --> 00:02:12,090 ¿vale? lo debatías así al título 45 00:02:12,090 --> 00:02:13,310 de curiosidad 46 00:02:13,310 --> 00:02:15,770 de momento vamos a centrarnos en estos 47 00:02:15,770 --> 00:02:17,330 13 conectores que hay aquí 48 00:02:17,330 --> 00:02:19,969 y uno que hay al sur de derecha que pone GND 49 00:02:19,969 --> 00:02:21,990 ¿vale? el 13, 12, 11, 10 50 00:02:21,990 --> 00:02:26,370 y tal, tal, tal, tal, hasta el 0, bueno, serían 14, con el 0, y este que pone GNR. 51 00:02:27,150 --> 00:02:32,669 ¿Esos qué son? Esos conectores, bueno, pues lo tengo aquí en un esquemático para que lo veáis más fácil. 52 00:02:33,150 --> 00:02:36,250 Podéis imaginaros que cada uno de ellos son como si fuera una pila. 53 00:02:36,349 --> 00:02:39,430 El número 13 sería la pila, el terminal positivo de la pila 13, 54 00:02:39,729 --> 00:02:42,629 el conector 12 sería el terminal positivo de la pila 12, 55 00:02:43,050 --> 00:02:45,689 lo mismo para el 11, lo mismo para el 10, y así sucesivamente. 56 00:02:46,050 --> 00:02:49,849 Y luego todos los terminales negativos están conectados entre ellos, 57 00:02:49,849 --> 00:02:52,569 y salen a este terminal que se llama GND 58 00:02:52,569 --> 00:02:55,349 lo veis aquí en el Arduino 59 00:02:55,349 --> 00:02:57,669 voy a hacer esto un poquito más pequeño para que se vea mejor 60 00:02:57,669 --> 00:03:00,729 lo ponemos arriba uno hacia el otro y así se ve mejor 61 00:03:00,729 --> 00:03:03,849 13, 13, 12, 12 62 00:03:03,849 --> 00:03:08,909 y el GND que está aquí va conectado a los negativos de todos ellos 63 00:03:08,909 --> 00:03:12,889 así podemos imaginarnos que cada una de estas pilas 64 00:03:12,889 --> 00:03:16,169 podrían alimentar un circuito 65 00:03:16,169 --> 00:03:17,610 entonces, ¿nosotros qué es lo que queremos? 66 00:03:17,610 --> 00:03:19,409 bueno, pues como queremos conectar un LED 67 00:03:19,409 --> 00:03:21,150 un LED, pues lo 68 00:03:21,150 --> 00:03:23,629 clico y arrastro, lo pongo aquí por ejemplo 69 00:03:23,629 --> 00:03:27,930 entonces, fijaros que el LED tiene dos patitas 70 00:03:27,930 --> 00:03:29,669 el cátodo y el ánodo, el ánodo es este 71 00:03:29,669 --> 00:03:31,750 que tiene la patita así como retorcida 72 00:03:31,750 --> 00:03:33,490 pues bueno, pues el que tiene 73 00:03:33,490 --> 00:03:35,469 la patita retorcida, el ánodo es el que tiene que 74 00:03:35,469 --> 00:03:37,650 determinar positivo, en este caso lo voy a 75 00:03:37,650 --> 00:03:38,330 conectar al 76 00:03:38,330 --> 00:03:41,530 13 o al 12 mejor, ¿por qué al 12? 77 00:03:41,650 --> 00:03:43,090 pues porque quiero, ahora veremos a ver 78 00:03:43,090 --> 00:03:45,349 qué significa eso, y luego 79 00:03:45,349 --> 00:03:47,349 yo podría coger y llevármelo 80 00:03:47,349 --> 00:03:50,349 el terminal negativo a la tierra 81 00:03:50,349 --> 00:03:51,610 lo pongo a negro 82 00:03:51,610 --> 00:03:54,330 y esto en principio debería funcionar 83 00:03:54,330 --> 00:03:56,030 lo que pasa es que tiene un problema 84 00:03:56,030 --> 00:03:58,349 que es que estas pilas 85 00:03:58,349 --> 00:04:00,750 al ser valores digitales 86 00:04:00,750 --> 00:04:02,229 que lo son, lo he dicho antes, lo digo ahora 87 00:04:02,229 --> 00:04:04,409 suministran 0 o 5 voltios 88 00:04:04,409 --> 00:04:06,310 con 0 voltios no hay ningún problema 89 00:04:06,310 --> 00:04:07,729 el LED no luciría 90 00:04:07,729 --> 00:04:10,430 pero si suministra 5, suministra un voltaje 91 00:04:10,430 --> 00:04:12,330 demasiado grande que el LED 92 00:04:12,330 --> 00:04:14,330 no puede asumir y explotaría 93 00:04:14,330 --> 00:04:16,990 explotaría es que deja de funcionar 94 00:04:16,990 --> 00:04:18,970 No esperéis fuego, ni humo, ni nada por el estilo. 95 00:04:19,649 --> 00:04:22,629 Entonces, para evitar eso, lo que hace es que se conecta junto al LED 96 00:04:22,629 --> 00:04:25,009 lo que se llama una resistencia de protección. 97 00:04:25,129 --> 00:04:26,889 Por eso tenía aquí preparada una resistencia. 98 00:04:27,649 --> 00:04:32,730 Esas resistencias, teniendo en cuenta que el LED soporta unos 2 voltios, 99 00:04:33,230 --> 00:04:35,949 la resistencia que necesitamos para eso, 100 00:04:35,949 --> 00:04:41,189 aunque coja los otros 3 voltios, será una de 220 o 330 ohmios. 101 00:04:41,269 --> 00:04:42,189 Son los valores típicos. 102 00:04:42,329 --> 00:04:45,829 Entonces yo clico en ella y en vez de 1 kilohmio, que es lo que trae por defecto, 103 00:04:45,829 --> 00:04:48,649 pongo 220 ohmios 104 00:04:48,649 --> 00:04:50,589 no kilo ohmios, 220 ohmios 105 00:04:50,589 --> 00:04:51,970 entonces quito este cable 106 00:04:51,970 --> 00:04:55,050 pongo aquí esta resistencia 107 00:04:55,050 --> 00:04:56,930 y desde aquí 108 00:04:56,930 --> 00:04:58,370 tiro el cable al 12 109 00:04:58,370 --> 00:05:00,750 entonces ya está, ya tengo 110 00:05:00,750 --> 00:05:02,930 cerrado mi circuito, el terminal positivo 111 00:05:02,930 --> 00:05:04,569 pasa por la resistencia de protección 112 00:05:04,569 --> 00:05:06,889 va al LD y vuelve al terminal 113 00:05:06,889 --> 00:05:08,230 negativo que se llama GND 114 00:05:08,230 --> 00:05:10,069 entonces ya tengo mi circuito ahí 115 00:05:10,069 --> 00:05:12,209 entonces, ¿qué es lo que yo necesito ahora? 116 00:05:13,310 --> 00:05:14,550 eléctricamente ya lo tengo todo 117 00:05:14,550 --> 00:05:22,910 Lo que es el hardware, el equipo, está ya todo conectado. Me falta programarlo. Fijaros que tenemos aquí un botón que pone código, que hasta ahora no lo habíamos usado nunca. 118 00:05:23,370 --> 00:05:34,769 Este código permite, es ahí donde vamos a escribir el código para programar el Arduino. Si yo lo abro, lo despliego, me aparecen unos bloques por defecto. 119 00:05:34,769 --> 00:05:36,589 Este no nos interesa, este código. 120 00:05:37,430 --> 00:05:39,670 Clicamos, arrastramos y así lo hemos borrado. 121 00:05:40,129 --> 00:05:44,610 A mí me interesa definir mi propio programa. 122 00:05:45,370 --> 00:05:46,430 Entonces, ¿qué es lo que quiero? 123 00:05:46,709 --> 00:05:50,750 Fijaros que tengo distintas librerías, distintas bibliotecas de distintos colores. 124 00:05:51,230 --> 00:05:52,850 Cada una sirve para una cosa distinta. 125 00:05:53,509 --> 00:05:58,170 Nosotros vamos a empezar de momento con los bloques azules, que son los de salida. 126 00:05:58,610 --> 00:06:02,029 Voy a coger este que pone definir pasador en alta. 127 00:06:02,449 --> 00:06:03,189 ¿Qué es el pasador? 128 00:06:03,189 --> 00:06:07,769 Bueno, pues es una mala traducción de cada uno de estos conectores, lo llama pasadores, no sé muy bien por qué. 129 00:06:08,170 --> 00:06:14,709 Entonces, ¿qué pasador es el que yo estoy usando? 12. Bueno, pues pongo definir pasador 12 en alta. 130 00:06:15,329 --> 00:06:22,370 Yo lo que quiero es que se encienda, que esté durante un segundo encendido, que se apague y que esté durante un segundo apagado. 131 00:06:22,449 --> 00:06:29,490 ¿Eso cómo lo consigo? Bueno, pues primero necesitaré un pasador 12, un bloque como esto, que diga definir pasador 12 en alta. 132 00:06:29,490 --> 00:06:49,709 Se pone en alta. Para que esté encendido durante un segundo, necesito un bloque de estos de control, que es el de esperar. Esperar un segundo. ¿Por qué? Porque de esa manera, antes de poner el pasador 12 en baja, que sería mi siguiente paso, ya he estado esperando durante un segundo. 133 00:06:49,709 --> 00:06:53,029 es decir, se pone en alta, se queda sin hacer nada durante un segundo 134 00:06:53,029 --> 00:06:54,949 y el siguiente paso es ponerse en baja 135 00:06:54,949 --> 00:06:59,389 y de nuevo quiero que esté en baja durante un segundo 136 00:06:59,389 --> 00:07:01,790 pues añado otro esperar un segundo 137 00:07:01,790 --> 00:07:06,449 entonces estos códigos están programando el Arduino 138 00:07:06,449 --> 00:07:07,870 el comportamiento del Arduino 139 00:07:07,870 --> 00:07:11,430 y harían a su vez que el LED se encendiera 140 00:07:11,430 --> 00:07:13,730 estuviera un segundo encendido, se apagara 141 00:07:13,730 --> 00:07:16,170 estuviera un segundo apagado y volvería a empezar 142 00:07:16,170 --> 00:07:18,730 estos bloques están dentro de un bucle 143 00:07:18,730 --> 00:07:20,970 y cuando termina el bloque vuelve a empezar 144 00:07:20,970 --> 00:07:23,550 y termina y vuelve a empezar 145 00:07:23,550 --> 00:07:24,569 y así sucesivamente 146 00:07:24,569 --> 00:07:27,089 esto se parece un montón a los que habéis hecho 147 00:07:27,089 --> 00:07:28,269 programación con Scratch 148 00:07:28,269 --> 00:07:30,189 os acordaréis de los bloques 149 00:07:30,189 --> 00:07:32,689 bueno pues la idea es lo mismo 150 00:07:32,689 --> 00:07:33,889 estos bloques 151 00:07:33,889 --> 00:07:36,550 es una manera muy fácil de programar 152 00:07:36,550 --> 00:07:38,350 si tenéis un poquito de curiosidad 153 00:07:38,350 --> 00:07:40,730 y desplegáis este menú que pone bloques 154 00:07:40,730 --> 00:07:42,430 podemos poner bloques más texto 155 00:07:42,430 --> 00:07:44,250 esto que quiere decir 156 00:07:44,250 --> 00:07:46,329 esto es que estos cuatro bloques 157 00:07:46,329 --> 00:07:48,029 que hemos traído nosotros 158 00:07:48,029 --> 00:07:50,649 aquí a la derecha me los ha traducido 159 00:07:50,649 --> 00:07:52,290 a un código 160 00:07:52,290 --> 00:07:54,029 este código, si yo no quise 161 00:07:54,029 --> 00:07:56,389 programar con bloques, tendría que haberlo escrito 162 00:07:56,389 --> 00:07:58,569 tendría que haber escrito, estas cuatro instrucciones 163 00:07:58,569 --> 00:08:00,449 corresponden en concreto a estas cuatro líneas 164 00:08:00,449 --> 00:08:02,069 por ejemplo, definir pasados 12 en alta 165 00:08:02,069 --> 00:08:03,889 es lo que pone, digital write 166 00:08:03,889 --> 00:08:06,129 12 height, esperar 1 167 00:08:06,129 --> 00:08:07,769 es delay 1000 168 00:08:07,769 --> 00:08:10,490 12 en baja es digital write 169 00:08:10,490 --> 00:08:11,610 12 low 170 00:08:11,610 --> 00:08:13,550 y esperar 1 es delay 1000 171 00:08:13,550 --> 00:08:16,449 hay una equivalencia entre los bloques 172 00:08:16,449 --> 00:08:18,529 y el código, y fijaros lo que os he dicho antes 173 00:08:18,529 --> 00:08:19,810 que esto venía dentro de un bucle 174 00:08:19,810 --> 00:08:21,689 bueno, fijaos que viene dentro de un loop 175 00:08:21,689 --> 00:08:24,769 eso es un bucle, y se va repitiendo 176 00:08:24,769 --> 00:08:26,769 luego cuando uno escribe en código 177 00:08:26,769 --> 00:08:28,269 pues hay cosas más complejas 178 00:08:28,269 --> 00:08:30,310 como el setup este por aquí 179 00:08:30,310 --> 00:08:32,149 pero bueno, no os preocupéis 180 00:08:32,149 --> 00:08:34,850 nosotros vamos a hacerlo con bloques, que es mucho más fácil 181 00:08:34,850 --> 00:08:36,590 hay una opción que es solo texto 182 00:08:36,590 --> 00:08:38,669 pero si lo ponéis, os borra lo que habéis hecho 183 00:08:38,669 --> 00:08:40,490 con bloques, entonces no lo deis 184 00:08:40,490 --> 00:08:42,809 nos quedamos solo con los bloques 185 00:08:42,809 --> 00:08:44,070 aunque si queréis curiosear 186 00:08:44,070 --> 00:08:46,950 podéis hacer lo que es más texto para echar un vistazo 187 00:08:46,950 --> 00:08:50,029 entonces muy bien, ya tenemos 188 00:08:50,029 --> 00:08:52,590 nuestro Arduino programado 189 00:08:52,590 --> 00:08:55,230 el Arduino en su memoria tiene este código 190 00:08:55,230 --> 00:08:57,610 que hemos generado a partir de los bloques 191 00:08:57,610 --> 00:09:01,210 entonces, ¿qué nos faltaría por hacer? pues simplemente simular 192 00:09:01,210 --> 00:09:04,350 ¿cómo se simula? bueno, ya lo sabéis, le dais a iniciar simulación 193 00:09:04,350 --> 00:09:08,070 y el LED se enciende y se apaga 194 00:09:08,070 --> 00:09:11,070 que es lo que debe hacer para lo que lo hemos programado 195 00:09:11,070 --> 00:09:16,149 programado. El programa es muy fácil, el ejercicio es muy sencillo, es que repitáis 196 00:09:16,149 --> 00:09:23,490 esto mismo. Solo una cosita, fijaros que estoy programando el conector 12 y lo tengo conectado 197 00:09:23,490 --> 00:09:28,509 al 12. Si yo lo conectara al 11, ¿lo podría hacer? Sí, lo único que tendría que poner 198 00:09:28,509 --> 00:09:34,669 es estar controlando el 11, y lo mismo si quisiera el 10, el 9 y tal. Os he comentado 199 00:09:34,669 --> 00:09:38,789 muy de pasado, repito, que como lo estamos usando como salidas digitales, solo hay dos 200 00:09:38,789 --> 00:09:41,190 posibilidades, alta o baja, o 0 voltios 201 00:09:41,190 --> 00:09:42,389 o 5 voltios 202 00:09:42,389 --> 00:09:45,009 lo que en digital veíamos como 0,1 203 00:09:45,009 --> 00:09:46,870 pues ya está, pues este es 204 00:09:46,870 --> 00:09:49,169 mi ejercicio, vais a reproducir esto que yo he hecho 205 00:09:49,169 --> 00:09:50,269 y me vais a mandar el código 206 00:09:50,269 --> 00:09:52,809 de la simulación como habéis hecho 207 00:09:52,809 --> 00:09:54,490 otras veces, pues nada 208 00:09:54,490 --> 00:09:55,330 facilísimo