1 00:00:01,649 --> 00:00:06,929 hola en el ejercicio de hoy en la práctica de hoy os voy a enseñar cómo se 2 00:00:06,929 --> 00:00:14,189 programa de un arduino real vais a ver imágenes de una placa arduino real de 3 00:00:14,189 --> 00:00:19,149 momento he empezado montando el circuito que voy a montar luego real lo he empezado 4 00:00:19,149 --> 00:00:24,629 montando en tinkercad tengo aquí como podéis comprobar tres diodos led 5 00:00:24,629 --> 00:00:30,750 conectados a las salidas 12 y 11 cada uno de ellos con su resistencia de 6 00:00:30,750 --> 00:00:34,890 protección y a su vez las ciencias de protección conectados a tierra a través 7 00:00:34,890 --> 00:00:37,549 de esta línea horizontal 8 00:00:38,509 --> 00:00:43,570 ese es el circuito que tenemos en la realidad tenemos esto mira esto es un 9 00:00:43,570 --> 00:00:47,969 arduino de verdad fijaos que se parece un pero muchísimo 10 00:00:47,969 --> 00:00:52,509 visto desde arriba es prácticamente igual 11 00:00:52,509 --> 00:00:56,710 a la imagen que tenemos en él el simulador con sus conectores 12 00:00:56,710 --> 00:01:01,929 digitales ahí arriba. Ahora mismo están conectados el cable negro que es el de 13 00:01:01,929 --> 00:01:07,269 tierra, el cable verde que es el que va a 13, el amarillo que es el que va a 12 y el 14 00:01:07,269 --> 00:01:16,980 rojo que es el que va a 11. Voy a acercar un poco más. Tierra, 13, 12 y 11 en el mismo orden que en el simulador. 15 00:01:16,980 --> 00:01:22,540 Y luego estas tres están conectadas, cada uno de los cables. Pero bueno, primero aquí 16 00:01:22,540 --> 00:01:25,920 tenemos la tierra que está conectada a una línea horizontal igual que en el 17 00:01:25,920 --> 00:01:31,379 dibujo, igual que en la simulación, de la línea horizontal salen las tres resistencias 18 00:01:31,379 --> 00:01:37,379 de protección, cada una resistencia conectado al LED de cada color, igual que en la simulación 19 00:01:37,379 --> 00:01:41,500 y luego aquí tenemos que de cada uno de ellos sale su cable, ¿vale? O sea, veis que aquí 20 00:01:41,500 --> 00:01:46,599 en la realidad tengo el mismo conexionado que tengo en el simulador. Vale, muy bien, 21 00:01:46,760 --> 00:01:54,620 estupendo. Vamos ahora a ver qué es lo que quiero hacer. Lo que quiero hacer es el mismo 22 00:01:54,620 --> 00:01:56,920 ejercicio que hicimos en la práctica anterior 23 00:01:56,920 --> 00:01:58,299 la secuencia 24 00:01:58,299 --> 00:02:01,099 entonces yo ya lo tengo programado 25 00:02:01,099 --> 00:02:02,840 si clico en código aparece aquí el código 26 00:02:02,840 --> 00:02:04,780 y lo que hago es eso, os acordáis del anterior 27 00:02:04,780 --> 00:02:07,079 13 en alta, espero un segundo y cuando pasa ese segundo 28 00:02:07,079 --> 00:02:08,300 apago el que tenía en alta 29 00:02:08,300 --> 00:02:10,860 lo pongo en baja y hago 30 00:02:10,860 --> 00:02:12,699 lo propio con el siguiente, 12 en alta 31 00:02:12,699 --> 00:02:14,460 un segundo lo apago y justo en ese momento 32 00:02:14,460 --> 00:02:16,240 hago lo propio con el 11 33 00:02:16,240 --> 00:02:18,919 y así vuelvo a empezar, entonces esta es 34 00:02:18,919 --> 00:02:21,240 mi simulación, yo con estas instrucciones 35 00:02:21,240 --> 00:02:23,099 y conectado así al circuito 36 00:02:23,099 --> 00:02:30,099 Voy a ver si funciona el circuito. Eso es lo útil de las simulaciones, ver si todo funciona como yo quiero que funcione. 37 00:02:30,680 --> 00:02:37,460 Le doy al botón y efectivamente ahí tenemos mi secuencia. Luego está funcionando como debería. 38 00:02:38,360 --> 00:02:43,639 Muy bien, y ahora, ¿qué pasa con el Arduino real? ¿Cómo lo programo yo? 39 00:02:43,639 --> 00:02:46,340 bueno, para eso necesitamos 40 00:02:46,340 --> 00:02:47,560 dos cosas, perdón 41 00:02:47,560 --> 00:02:48,960 primero el 42 00:02:48,960 --> 00:02:52,219 necesitamos primero 43 00:02:52,219 --> 00:02:53,460 donde lo tengo aquí 44 00:02:53,460 --> 00:02:55,860 un programa que se llama Arduino IDE 45 00:02:55,860 --> 00:02:57,379 yo ya lo tengo abierto 46 00:02:57,379 --> 00:02:59,780 ah si, está aquí, lo tengo abierto 47 00:02:59,780 --> 00:03:02,340 este es el IDE de Arduino, tiene este aspecto 48 00:03:02,340 --> 00:03:04,180 vale, lo podéis 49 00:03:04,180 --> 00:03:05,960 descargar si alguien tiene un Arduino de verdad 50 00:03:05,960 --> 00:03:08,000 y quiere programarlo, pues puede ir a esta página 51 00:03:08,000 --> 00:03:09,580 arduino.cc 52 00:03:09,580 --> 00:03:11,360 y se lo puede descargar este programita 53 00:03:11,360 --> 00:03:14,159 cuando lo hables tiene este aspecto 54 00:03:14,159 --> 00:03:15,840 suele aparecer aquí un programa de prueba 55 00:03:15,840 --> 00:03:17,199 lo que haces es borrarlo 56 00:03:17,199 --> 00:03:19,340 entonces una vez que tengo este programa 57 00:03:19,340 --> 00:03:21,240 este programa es el que va a hacer 58 00:03:21,240 --> 00:03:22,080 que 59 00:03:22,080 --> 00:03:25,460 el ordenador mande 60 00:03:25,460 --> 00:03:27,759 las instrucciones al Arduino a través 61 00:03:27,759 --> 00:03:29,759 de este cable, esto está conectado a un puerto USB 62 00:03:29,759 --> 00:03:30,659 del ordenador, vale 63 00:03:30,659 --> 00:03:33,840 entonces este es el cable que conecta 64 00:03:33,840 --> 00:03:36,139 al ordenador y este de aquí a mi izquierda 65 00:03:36,139 --> 00:03:37,879 el Arduino IDE es el programa 66 00:03:37,879 --> 00:03:39,659 que conecta el ordenador 67 00:03:39,659 --> 00:03:41,719 al Arduino. Necesitamos 68 00:03:41,719 --> 00:03:43,599 el cable físico para hacer la conexión 69 00:03:43,599 --> 00:03:45,080 y un programa, que es el Arduino IDE. 70 00:03:45,520 --> 00:03:47,199 Pues una vez que yo tengo esa conexión, 71 00:03:47,699 --> 00:03:49,620 necesito un programa que puede subir aquí. 72 00:03:50,199 --> 00:03:51,639 Bueno, pues eso lo puedo sacar del propio 73 00:03:51,639 --> 00:03:53,560 simulador. Yo tengo aquí 74 00:03:53,560 --> 00:03:55,439 bloques. Estoy programando con bloques. ¿Por qué? 75 00:03:55,500 --> 00:03:57,080 Porque los bloques son muy fáciles de usar. 76 00:03:57,479 --> 00:03:59,439 Muy fácil programar. Pero el Arduino 77 00:03:59,439 --> 00:04:01,599 se podría programar también con texto. 78 00:04:02,139 --> 00:04:03,419 Si yo despliego esto y elijo 79 00:04:03,419 --> 00:04:05,599 bloques más texto, me aparece 80 00:04:05,599 --> 00:04:07,639 una nueva ventana. ¿Qué significa? 81 00:04:07,780 --> 00:04:09,560 Bueno, pues esto es el equivalente en texto 82 00:04:09,560 --> 00:04:11,400 de estos bloques que tengo aquí 83 00:04:11,400 --> 00:04:13,300 y si echáis un vistazo lo veis, por ejemplo 84 00:04:13,300 --> 00:04:15,280 definir pasado 13 en alta 85 00:04:15,280 --> 00:04:18,139 es lo que se llama digital write 13 high 86 00:04:18,139 --> 00:04:20,160 el esperar un segundo es delay 87 00:04:20,160 --> 00:04:22,500 1000, 1000, 1000, que son de 1000 milisegundos 88 00:04:22,500 --> 00:04:23,519 veis, lo pone 89 00:04:23,519 --> 00:04:25,459 digital write 13 low 90 00:04:25,459 --> 00:04:28,220 pone 12 en alta, espera, 12 en baja 91 00:04:28,220 --> 00:04:30,379 11 en alta, delay a 1000 92 00:04:30,379 --> 00:04:32,139 y low, veis que coincide 93 00:04:32,139 --> 00:04:33,319 esta parte coincide 94 00:04:33,319 --> 00:04:36,439 instrucción a instrucción coincide con estos bloques 95 00:04:36,439 --> 00:04:37,959 y eso que siempre os digo yo 96 00:04:37,959 --> 00:04:39,220 de que esto está dentro de un bucle 97 00:04:39,220 --> 00:04:41,120 aquí se ve muy bien esto que llama void loop 98 00:04:41,120 --> 00:04:43,079 esto es un bucle que siempre se está repitiendo 99 00:04:43,079 --> 00:04:45,879 luego hay una correspondencia entre estos bloques 100 00:04:45,879 --> 00:04:47,120 y este programa 101 00:04:47,120 --> 00:04:49,879 ¿por qué? porque hacer simulador es traducir los bloques 102 00:04:49,879 --> 00:04:51,699 a un programa, que es el que de verdad 103 00:04:51,699 --> 00:04:52,680 yo subo al Arduino 104 00:04:52,680 --> 00:04:55,699 ¿cómo lo subo? bueno, por ejemplo, puedo seleccionar el código 105 00:04:55,699 --> 00:04:57,500 copiarlo 106 00:04:57,500 --> 00:04:59,600 me lo llevo al 107 00:04:59,600 --> 00:05:00,360 IDE de Arduino 108 00:05:00,360 --> 00:05:03,399 lo pego aquí 109 00:05:03,399 --> 00:05:05,500 y tengo el mismo código 110 00:05:05,500 --> 00:05:07,379 que me ha generado el 111 00:05:07,379 --> 00:05:08,740 el Tinkercad lo tengo ahí 112 00:05:08,740 --> 00:05:11,019 entonces este código es el que yo quiero subir 113 00:05:11,019 --> 00:05:13,259 usando el IDE de Arduino y físicamente 114 00:05:13,259 --> 00:05:15,000 este cable, bueno pues lo voy a hacer 115 00:05:15,000 --> 00:05:17,399 lo primero que tengo que hacer es verificar o compilar 116 00:05:17,399 --> 00:05:19,220 verificar quiere decir que no hay 117 00:05:19,220 --> 00:05:20,839 ningún error al haber escrito el programa 118 00:05:20,839 --> 00:05:23,259 como me lo ha hecho Tinkercad, ya os digo yo que no 119 00:05:23,259 --> 00:05:25,139 entonces lo voy a verificar, me dice 120 00:05:25,139 --> 00:05:26,639 compilado, no ha dado ningún error 121 00:05:26,639 --> 00:05:29,240 pero imaginaos por ejemplo que lo hubiera hecho esto escrito a mano 122 00:05:29,240 --> 00:05:30,959 porque esto se puede escribir a mano y que me he comido 123 00:05:30,959 --> 00:05:33,180 ese punto y coma, vamos a ver si 124 00:05:33,180 --> 00:05:35,259 compila ahora, me dice un error 125 00:05:35,259 --> 00:05:36,720 dice que se esperaba esto 126 00:05:36,720 --> 00:05:37,839 antes del delay 127 00:05:37,839 --> 00:05:40,500 compilar es necesario 128 00:05:40,500 --> 00:05:42,439 chequear que no hay errores, vuelvo a compilar 129 00:05:42,439 --> 00:05:43,980 efectivamente, ya no hay errores 130 00:05:43,980 --> 00:05:46,060 una vez que he hecho el verificado 131 00:05:46,060 --> 00:05:48,180 lo único que hace el IDE de Arduino es ver que no hay errores 132 00:05:48,180 --> 00:05:50,600 lo voy a subir, le voy a dar a subir 133 00:05:50,600 --> 00:05:53,060 y ya en este momento le está subiendo 134 00:05:53,060 --> 00:05:54,500 a la placa de Arduino, veis que se han encendido 135 00:05:54,500 --> 00:05:56,779 por ahí unas luces, bueno, ¿y qué está haciendo? 136 00:05:57,259 --> 00:05:58,620 pues está haciendo lo esperado 137 00:05:58,620 --> 00:05:59,899 está haciendo la secuencia 138 00:05:59,899 --> 00:06:02,519 lo mismo que hacía el simulador cuando le hemos dado a simular 139 00:06:02,519 --> 00:06:04,399 ¿lo veis? luego efectivamente 140 00:06:04,399 --> 00:06:06,459 hemos programado un 141 00:06:06,459 --> 00:06:08,240 IDE de Arduino, perdón, un Arduino real 142 00:06:08,240 --> 00:06:09,319 utilizando ese programa 143 00:06:09,319 --> 00:06:11,680 el cable este del 144 00:06:11,680 --> 00:06:14,379 ordenador, que viene del ordenador 145 00:06:14,379 --> 00:06:15,579 y ya está 146 00:06:15,579 --> 00:06:18,560 esto puedes hacer 147 00:06:18,560 --> 00:06:19,720 si alguien tiene un Arduino 148 00:06:19,720 --> 00:06:22,459 todo lo que hacemos nosotros en el simulador 149 00:06:22,459 --> 00:06:24,500 podría probarlo en su Arduino de verdad 150 00:06:24,500 --> 00:06:26,560 entonces una cosa 151 00:06:26,560 --> 00:06:27,920 más quiero enseñaros 152 00:06:27,920 --> 00:06:32,339 quiero que entendáis 153 00:06:32,339 --> 00:06:33,740 que estas instrucciones 154 00:06:33,740 --> 00:06:36,199 se han guardado en la memoria del Arduino 155 00:06:36,199 --> 00:06:37,920 una vez que esas instrucciones se cargan 156 00:06:37,920 --> 00:06:40,279 el Arduino ya no necesita el ordenador para nada 157 00:06:40,279 --> 00:06:41,600 entonces alguno diría 158 00:06:41,600 --> 00:06:44,040 bueno, pues lo que puedo hacer es 159 00:06:44,040 --> 00:06:46,560 desconectar el cable del ordenador y funcionará igual 160 00:06:46,560 --> 00:06:47,560 vamos a hacer la prueba 161 00:06:47,560 --> 00:06:49,600 desconecto, a ver si se deja 162 00:06:49,600 --> 00:06:52,379 está un poco durillo 163 00:06:52,379 --> 00:06:53,199 pero si tiene que dejar 164 00:06:53,199 --> 00:06:58,259 ya está, se ha dejado 165 00:06:58,259 --> 00:07:01,300 se ha apagado, y uno diría, pues no es verdad 166 00:07:01,300 --> 00:07:02,500 no está guardado en la memoria 167 00:07:02,500 --> 00:07:05,300 no, está guardado, lo que pasa es que me falta alimentación 168 00:07:05,300 --> 00:07:07,199 me falta algo que suministre 169 00:07:07,199 --> 00:07:09,379 energía al arduo 170 00:07:09,379 --> 00:07:11,279 entonces, veis este cable 171 00:07:11,279 --> 00:07:13,399 que yo tengo aquí, pues es otra posibilidad 172 00:07:13,399 --> 00:07:15,000 para alimentar, porque este 173 00:07:15,000 --> 00:07:17,259 conector USB que viene del USB del ordenador 174 00:07:17,259 --> 00:07:19,259 no solo servía para cargar las 175 00:07:19,259 --> 00:07:20,920 instrucciones, sino que también le sume esta energía 176 00:07:20,920 --> 00:07:23,420 pero si yo le conecto a esta fuente de alimentación 177 00:07:23,420 --> 00:07:25,019 que fijaos por la forma 178 00:07:25,019 --> 00:07:27,459 podría ser el cargador de un móvil 179 00:07:27,459 --> 00:07:29,360 o algo así, es más gordito, pero bueno, podría ser 180 00:07:29,360 --> 00:07:30,439 y lo conecto aquí 181 00:07:30,439 --> 00:07:32,160 ¿qué ocurre? 182 00:07:32,839 --> 00:07:35,220 vuelve a funcionar, efectivamente esas instrucciones 183 00:07:35,220 --> 00:07:36,560 se han quedado aquí guardadas en el chip 184 00:07:36,560 --> 00:07:48,560 Ahora solo estoy suministrando energía y el programa está funcionando independientemente del ordenador, lo cual demuestra que el Arduino es un dispositivo con su propia memoria capaz de ejecutar su propio programa. 185 00:07:48,920 --> 00:07:59,779 Este chip de Arduino podría ir, por ejemplo, sobre un cochecito electrónico, un pequeño robot, conectado, por ejemplo, a través de este cable a unas pilas que querían dentro del coche y esto controlaría el robot. 186 00:07:59,779 --> 00:08:01,259 sería un dispositivo autónomo 187 00:08:01,259 --> 00:08:02,939 y así es como 188 00:08:02,939 --> 00:08:04,839 muchas veces se utiliza 189 00:08:04,839 --> 00:08:06,300 para controlar robots 190 00:08:06,300 --> 00:08:11,180 ¿qué más voy a contar? 191 00:08:11,319 --> 00:08:13,519 bueno, lo de las resistencias, fijaros que hay tres resistencias 192 00:08:13,519 --> 00:08:14,920 cada una con su propio 193 00:08:14,920 --> 00:08:16,279 con su propio LED 194 00:08:16,279 --> 00:08:19,480 conectar su propio LED, en el ejercicio de la secuencia 195 00:08:19,480 --> 00:08:21,560 en el simulador pusimos una sola y funcionaba 196 00:08:21,560 --> 00:08:23,620 igual, o sea que quiero que veáis 197 00:08:23,620 --> 00:08:24,360 que 198 00:08:24,360 --> 00:08:27,420 el planteamiento para este circuito 199 00:08:27,420 --> 00:08:28,939 en concreto es 200 00:08:28,939 --> 00:08:31,199 el mismo, puedes poner tres o puedes 201 00:08:31,199 --> 00:08:33,679 poner solo una, ahora, ¿por qué es eso? 202 00:08:33,840 --> 00:08:35,139 que es lo que quiero que me contestéis 203 00:08:35,139 --> 00:08:36,820 muchos no me lo contestasteis en el anterior 204 00:08:36,820 --> 00:08:38,919 pues quiero que me lo contestéis ahora, ¿vale? 205 00:08:40,600 --> 00:08:41,799 entonces, en este ejercicio 206 00:08:41,799 --> 00:08:43,179 no tenéis que simular nada 207 00:08:43,179 --> 00:08:45,659 porque si no tenéis un Arduino de verdad, pues no hay nada que hacer 208 00:08:45,659 --> 00:08:47,500 lo que sí quiero es que me contestéis a unas preguntas 209 00:08:47,500 --> 00:08:48,840 que voy a dejar en el aula virtual, ¿vale? 210 00:08:49,679 --> 00:08:50,899 veréis que son muy fáciles 211 00:08:50,899 --> 00:08:51,960 hasta ahora