1 00:00:01,139 --> 00:00:26,640 Bien, buenos días a todos, espero que estéis todos bien y bueno pues nos encontramos con una clase un poquito especial, vamos a ver una, vamos a asistir a una mini clase, dado que la situación tan extraordinaria que estamos viviendo nos obliga a tomar unas medidas extraordinarias como es en este caso una clase grabada con mi audio, pero bueno, en cualquier caso espero que podamos hacerlo sin ningún problema. 2 00:00:26,640 --> 00:00:36,340 El objetivo de esta mini clase es daros un poco las instrucciones que a partir de ahora vais a tener que seguir 3 00:00:36,340 --> 00:00:41,859 para poder hacer las actividades que quedaban pendientes, que en esta tercera evaluación 4 00:00:41,859 --> 00:00:52,219 que era básicamente la programación en código Arduino y para ello he preparado un par de elementos que vais a necesitar 5 00:00:52,219 --> 00:00:55,000 que en este caso por un lado va a ser un pdf 6 00:00:55,000 --> 00:00:59,000 un pdf que podéis descargar por supuesto en el aula virtual 7 00:00:59,000 --> 00:01:02,500 siempre estará dentro de las famosas etiquetas rojas 8 00:01:02,500 --> 00:01:05,700 que indican un poquito lo que se tiene que hacer de manera extraordinaria 9 00:01:05,700 --> 00:01:11,640 y para poder aprender a programar en código arduino 10 00:01:11,640 --> 00:01:15,540 pues además de seguir este pdf vamos a simularlo virtualmente 11 00:01:15,540 --> 00:01:18,959 a través de este famoso simulador que ya conocéis todos 12 00:01:18,959 --> 00:01:20,299 que es Tinkercad Circuit 13 00:01:20,299 --> 00:01:43,640 Si alguno no lo conoce, el uso es muy intuitivo, la interfaz es muy habitual, una ventana lateral con todos los elementos disponibles, aquí podéis sacar los básicos o todos los componentes que dispone y luego una serie de construcciones ya hechas, de montajes ya hechos con la tarjeta Arduino. 14 00:01:43,640 --> 00:01:52,560 En este caso, vamos primero con la parte del PDF. Este PDF tiene licencia Creative Commons, por lo tanto lo podéis utilizar sin ningún problema. 15 00:01:53,420 --> 00:02:00,299 Y bueno, pues realmente es muy interesante porque en la primera parte cuenta un poco con lo que es la parte de la electrónica, que vosotros ya conocéis. 16 00:02:01,260 --> 00:02:09,539 Los elementos de la electrónica y demás. Bueno, pues un poco cuenta de dónde sale, qué cosas podemos hacer, en fin, las características tecnológicas, 17 00:02:09,539 --> 00:02:11,419 electrónica y digital, bueno, todo muy interesante 18 00:02:11,419 --> 00:02:13,439 y conveniente que le echéis un vistazo 19 00:02:13,439 --> 00:02:15,099 pero a la página 20 00:02:15,099 --> 00:02:17,159 a partir de la 33 21 00:02:17,159 --> 00:02:19,360 del tema 5, el capítulo 5 22 00:02:19,360 --> 00:02:21,599 pues es donde realmente nos interesa a nosotros 23 00:02:21,599 --> 00:02:23,300 empezar las actividades 24 00:02:23,300 --> 00:02:25,439 en esta primera parte pues cuento un poquito 25 00:02:25,439 --> 00:02:27,400 lo que serían los lenguajes de programación 26 00:02:27,400 --> 00:02:29,639 las diferencias entre lenguaje de alto nivel 27 00:02:29,639 --> 00:02:31,520 de bajo nivel, código máquina 28 00:02:31,520 --> 00:02:32,479 lenguaje ensamblador 29 00:02:32,479 --> 00:02:35,479 esto le echáis como siempre un vistazo y lo veis 30 00:02:35,479 --> 00:02:36,719 y bueno, vamos a lo que nos interesa 31 00:02:36,719 --> 00:02:39,180 para programar en código Arduino 32 00:02:39,180 --> 00:02:41,259 pues ahora ya sabéis que necesitáis el IDE de Arduino 33 00:02:41,259 --> 00:02:46,180 y de hecho lo habéis utilizado porque para las prácticas de Arduino Blocks 34 00:02:46,180 --> 00:02:49,419 habéis copiado el código y lo habéis metido dentro del IDE de Arduino 35 00:02:49,419 --> 00:02:53,199 de este entorno de desarrollo integrado para poder programar y descargar la placa 36 00:02:53,199 --> 00:02:58,180 esto no era necesario pero ya sabéis con los programas que habíamos tenido en el aula virtual 37 00:02:58,180 --> 00:03:03,819 pues al final tuvimos que hacer este pequeño paso intermedio para poder programar las placas 38 00:03:03,819 --> 00:03:07,120 ahora directamente nos vamos a centrar no en el IDE de Arduino 39 00:03:07,120 --> 00:03:11,199 sino en el propio simulador que tiene una pequeña pestaña 40 00:03:11,199 --> 00:03:12,379 donde podemos dejar el código 41 00:03:12,379 --> 00:03:15,860 y para aprender un poco las características del código 42 00:03:15,860 --> 00:03:19,120 pues aquí te cuento un poquito en qué consiste 43 00:03:19,120 --> 00:03:23,569 bien, si por ejemplo abrimos el IDE de Arduino 44 00:03:23,569 --> 00:03:26,389 nos encontramos con que efectivamente la estructura básica 45 00:03:26,389 --> 00:03:28,490 de un programa escrito en Arduino tiene dos funciones 46 00:03:28,490 --> 00:03:30,129 VOYSETUP y VOYLOOK 47 00:03:30,129 --> 00:03:33,930 la función VOYSETUP está dividida entre llaves igual que la de VOYLOOK 48 00:03:33,930 --> 00:03:37,710 y lo que hace fundamentalmente esta primera función 49 00:03:37,710 --> 00:03:38,969 que solo se ejecuta una vez 50 00:03:38,969 --> 00:03:41,150 es la de configurar 51 00:03:41,150 --> 00:03:43,409 la característica, por ejemplo, de variables 52 00:03:43,409 --> 00:03:45,310 de los mariféricos que vamos a 53 00:03:45,310 --> 00:03:47,469 utilizar en el programa 54 00:03:47,469 --> 00:03:49,150 etcétera, y luego Boilook 55 00:03:49,150 --> 00:03:51,409 es el programa principal, por decirlo de alguna manera 56 00:03:51,409 --> 00:03:53,349 y es que se está ejecutando constantemente 57 00:03:53,349 --> 00:03:55,449 ¿vale? entonces, aquí tenemos 58 00:03:55,449 --> 00:03:56,610 un poquito las características 59 00:03:56,610 --> 00:03:59,110 de la estructura 60 00:03:59,110 --> 00:04:00,830 de este código Arduino, como hemos dicho 61 00:04:00,830 --> 00:04:03,449 Boilook y los elementos 62 00:04:03,449 --> 00:04:05,409 y las instrucciones, pues las vamos 63 00:04:05,409 --> 00:04:05,949 a ver ahora 64 00:04:05,949 --> 00:04:17,990 En código Arduino tenemos que declarar el tipo de variable, es decir, el espacio de almacenamiento en la tarjeta Arduino y el tipo de elemento que vamos a almacenar en ese espacio. 65 00:04:18,529 --> 00:04:26,629 Puede ser simplemente un valor entero, puede ser un código o un carácter, puede ser simplemente que sea verdadero o falso. 66 00:04:26,629 --> 00:04:34,230 también podemos emplear operadores para operar esas variables, por ejemplo que sean operadores booleanos 67 00:04:34,230 --> 00:04:38,269 es decir, que por ejemplo se cumpla una condición y otra, una variable y otra 68 00:04:38,269 --> 00:04:43,470 en el caso de operadores por ejemplo de comparación, fijaros las estructuras para los operadores booleanos 69 00:04:43,470 --> 00:04:48,089 serían con estos símbolos que veis aquí, en el caso de operaciones de comparación 70 00:04:48,089 --> 00:04:52,730 pues tenéis otros símbolos, el doble igual, el signo de exclamación el igual, menor o igual que 71 00:04:52,730 --> 00:04:57,790 y simplemente para comparar en este caso e introducirla dentro de las funciones condicionales. 72 00:04:59,069 --> 00:05:05,089 También podemos emplear estructuras, bueno, para ver en matemáticos, para hacer operaciones, 73 00:05:05,189 --> 00:05:11,569 si quisiéramos hacerlo en variables o en valores concretos, y las estructuras básicas de control de cualquier programa, 74 00:05:11,709 --> 00:05:16,670 ya sea en Arduino o en cualquier código, pues son las típicas que veis aquí, las condicionales, 75 00:05:16,670 --> 00:05:18,329 if, case, for, while 76 00:05:18,329 --> 00:05:20,850 son estructuras de control 77 00:05:20,850 --> 00:05:22,750 que nos permiten que el programa 78 00:05:22,750 --> 00:05:24,329 siga un camino o siga otro 79 00:05:24,329 --> 00:05:26,029 dependiendo de que se cumpla una condición 80 00:05:26,029 --> 00:05:28,269 o que no se cumpla esa condición 81 00:05:28,269 --> 00:05:30,790 en el caso de que quisiéramos 82 00:05:30,790 --> 00:05:32,569 realizar contadores y demás 83 00:05:32,569 --> 00:05:33,350 dentro del programa 84 00:05:33,350 --> 00:05:36,069 para ir sumando elementos o demás 85 00:05:36,069 --> 00:05:38,290 tendríamos dos estructuras básicas 86 00:05:38,290 --> 00:05:40,889 dos instrucciones básicas que serían for y while 87 00:05:40,889 --> 00:05:42,709 y luego tendríamos 88 00:05:42,709 --> 00:05:44,610 ya instrucciones 89 00:05:44,610 --> 00:05:46,529 propias del código 90 00:05:46,529 --> 00:05:53,610 Arduino que permiten ejecutar una serie de tareas. Por ejemplo, en el caso de las instrucciones 91 00:05:53,610 --> 00:05:59,550 como por ejemplo PinMode, lo que nos permite es declarar un pin de Arduino como entrada 92 00:05:59,550 --> 00:06:03,649 o como salida, numerar el pin y decirle si va a ser entrada o salida. En el caso de que 93 00:06:03,649 --> 00:06:11,970 sea un pin digital, lo podemos declarar de esta manera. También podemos leer un valor 94 00:06:11,970 --> 00:06:13,389 de entrada de ese pin 95 00:06:13,389 --> 00:06:15,709 digital o analógico y en este caso 96 00:06:15,709 --> 00:06:17,610 pues sería digital 97 00:06:17,610 --> 00:06:19,810 read, disculpad como siempre mi pronunciación 98 00:06:19,810 --> 00:06:21,910 inglesa, si quisiéramos 99 00:06:21,910 --> 00:06:23,209 escribir la salida 100 00:06:23,209 --> 00:06:25,769 digital de un pin, pues sería 101 00:06:25,769 --> 00:06:26,949 con esta instrucción, etc. 102 00:06:27,649 --> 00:06:28,769 En fin, hay muchas instrucciones 103 00:06:28,769 --> 00:06:31,370 evidentemente no las vamos a aprender ahora todas 104 00:06:31,370 --> 00:06:33,589 pero sí que vamos a ir haciendo 105 00:06:33,589 --> 00:06:35,370 prácticas poco a poco que nos va a permitir 106 00:06:35,370 --> 00:06:37,389 ir conociendo algunas de las más utilizadas 107 00:06:37,389 --> 00:06:39,449 y aquí tenéis una referencia rápida 108 00:06:39,449 --> 00:06:41,370 de todas esas instrucciones que estaba 109 00:06:41,370 --> 00:06:45,949 comentando de las diferentes tipos de estructuras de control, diferentes operadores 110 00:06:45,949 --> 00:06:52,910 y funciones habituales y típicas que podemos encontrar, que en realidad ya las habéis visto muchas de ellas 111 00:06:52,910 --> 00:06:58,149 cuando habéis pasado el código de Arduino Block al IDE de Arduino, aunque muchos no os fijasteis 112 00:06:58,149 --> 00:07:03,050 pero algunos sí que os fijabais en las instrucciones y muchas de esas instrucciones eran estas que estáis aquí 113 00:07:03,050 --> 00:07:10,269 Bueno, pues una vez que tenemos claro un poquito como serían las características de un programa escrito en Arduino 114 00:07:10,269 --> 00:07:12,689 pues vamos realmente a buscarlas 115 00:07:12,689 --> 00:07:13,810 bueno aquí cuenta un poquito 116 00:07:13,810 --> 00:07:16,310 qué tipo de placas existen y demás 117 00:07:16,310 --> 00:07:18,790 luego cuenta aquí un poquito el paquete básico 118 00:07:18,790 --> 00:07:20,670 que deberías disponer, que nosotros lo vamos a tener 119 00:07:20,670 --> 00:07:22,709 virtualmente y nos vamos directamente 120 00:07:22,709 --> 00:07:24,069 ya a 121 00:07:24,069 --> 00:07:25,269 las 122 00:07:25,269 --> 00:07:28,389 prácticas propiamente dichas 123 00:07:28,389 --> 00:07:30,550 la estructura de las prácticas siempre son las mismas 124 00:07:30,550 --> 00:07:32,509 tienes los elementos que vas a utilizar, los conocimientos 125 00:07:32,509 --> 00:07:34,170 previos que deberías tener 126 00:07:34,170 --> 00:07:35,389 y qué es lo que vas a aprender 127 00:07:35,389 --> 00:07:38,170 viene un esquema electrónico 128 00:07:38,170 --> 00:07:41,050 con simbología para indicar un poco 129 00:07:41,050 --> 00:07:43,370 en qué va a consistir el montaje 130 00:07:43,370 --> 00:07:44,810 y luego a qué sería el montaje real 131 00:07:44,810 --> 00:07:46,370 que nosotros insisto va a ser virtual 132 00:07:46,370 --> 00:07:48,709 y aquí tenéis el programa 133 00:07:48,709 --> 00:07:50,870 descrito, lo más importante que me interesa 134 00:07:50,870 --> 00:07:52,550 del programa es que veáis el programa 135 00:07:52,550 --> 00:07:54,970 y que al lado hay una serie de 136 00:07:54,970 --> 00:07:56,750 descripciones de esas instrucciones 137 00:07:56,750 --> 00:07:58,850 en código arduino todo lo que 138 00:07:58,850 --> 00:08:00,810 esté delante de barras 139 00:08:00,810 --> 00:08:03,209 inclinadas es un texto, es un comentario 140 00:08:03,209 --> 00:08:05,069 y no lo interpreta 141 00:08:05,069 --> 00:08:06,009 el programa, el código 142 00:08:06,009 --> 00:08:08,850 el compilador no lo interpreta 143 00:08:08,850 --> 00:08:10,829 simplemente lo emplea 144 00:08:10,829 --> 00:08:12,990 el programador para saber exactamente 145 00:08:12,990 --> 00:08:15,069 qué es lo que hace esa instrucción 146 00:08:15,069 --> 00:08:16,870 y sobre todo para reutilizar este 147 00:08:16,870 --> 00:08:19,230 programa, si alguien quisiera volver a utilizarlo 148 00:08:19,230 --> 00:08:20,910 pues estos comentarios le 149 00:08:20,910 --> 00:08:23,170 ayudarían al programador 150 00:08:23,170 --> 00:08:24,870 al nuevo programador a entender qué es lo que 151 00:08:24,870 --> 00:08:26,850 está ocurriendo aquí, pues esto para mí es muy 152 00:08:26,850 --> 00:08:29,170 importante, es decir, todo lo que sean los comentarios 153 00:08:29,170 --> 00:08:31,029 es fundamental que vosotros prestéis 154 00:08:31,029 --> 00:08:32,330 atención porque te va a permitir 155 00:08:32,330 --> 00:08:34,710 entender qué es lo que hace el programa 156 00:08:34,710 --> 00:08:36,429 en este en concreto 157 00:08:36,429 --> 00:08:37,990 el famoso hola mundo de toda la vida 158 00:08:37,990 --> 00:08:38,950 pues ya sabéis cual es 159 00:08:38,950 --> 00:08:42,509 en este caso nos va a permitir 160 00:08:42,509 --> 00:08:44,269 encender en el pin 13 161 00:08:44,269 --> 00:08:46,110 un diodo led y para ello 162 00:08:46,110 --> 00:08:48,129 en la instrucción principal 163 00:08:48,129 --> 00:08:50,490 en la función 164 00:08:50,490 --> 00:08:52,289 voy setup donde se configura un poquito 165 00:08:52,289 --> 00:08:54,309 pues decimos efectivamente que vamos a 166 00:08:54,309 --> 00:08:56,649 configurar el pin número 13 como salida 167 00:08:56,649 --> 00:08:57,289 ¿vale? 168 00:08:58,049 --> 00:09:00,429 por cierto todas las instrucciones terminan siempre en punticoma 169 00:09:00,429 --> 00:09:01,269 en código arduino 170 00:09:01,269 --> 00:09:04,330 y luego la función que se va a ejecutar constantemente 171 00:09:04,330 --> 00:09:06,529 pues ya la veis aquí, escribimos digitalmente 172 00:09:06,529 --> 00:09:08,830 en el pin 13 un nivel alto 173 00:09:08,830 --> 00:09:10,750 esperamos, en este caso 174 00:09:10,750 --> 00:09:12,230 se escribe en milisegundos 175 00:09:12,230 --> 00:09:14,529 por lo tanto esperaríamos con la instrucción 176 00:09:14,529 --> 00:09:16,409 de like y mil, un segundo 177 00:09:16,409 --> 00:09:18,730 y luego escribimos 178 00:09:18,730 --> 00:09:20,490 digitalmente el pin 13 a nivel 179 00:09:20,490 --> 00:09:22,330 bajo, con lo cual esto se ejecuta 180 00:09:22,330 --> 00:09:24,250 constantemente y por lo tanto el pin 13 181 00:09:24,250 --> 00:09:25,250 se va a encender y apagar 182 00:09:25,250 --> 00:09:28,210 de forma intermitente cada segundo 183 00:09:28,210 --> 00:09:30,169 y aquí te dice un poquito 184 00:09:30,169 --> 00:09:31,889 pues algunos pequeños truquillos 185 00:09:31,889 --> 00:09:34,169 para que puedas entender un poquito 186 00:09:34,169 --> 00:09:36,509 el programa anterior y bueno, pues sacar alguna 187 00:09:36,509 --> 00:09:38,710 conclusión más, y luego aquí hay una serie 188 00:09:38,710 --> 00:09:40,690 de ejercicios que no tenéis que hacer, que son 189 00:09:40,690 --> 00:09:41,950 de ejercicio, digamos 190 00:09:41,950 --> 00:09:44,289 para afianzar el contenido 191 00:09:44,289 --> 00:09:48,250 y por ejemplo, vamos a hacer este primero 192 00:09:48,250 --> 00:09:50,370 esta práctica número 193 00:09:50,370 --> 00:09:52,509 dos, en la que 194 00:09:52,509 --> 00:09:54,009 vamos a encender un LED con un pulsador 195 00:09:54,009 --> 00:09:55,789 entonces, bueno, pues vamos 196 00:09:55,789 --> 00:09:58,370 a fijar en este caso el montaje, y vamos 197 00:09:58,370 --> 00:09:59,570 a montar el montaje con 198 00:09:59,570 --> 00:10:02,269 nuestro simulador virtual, que es 199 00:10:02,269 --> 00:10:04,129 Tinkercad Circuit, para 200 00:10:04,129 --> 00:10:06,710 utilizarlo, no lo había dicho hasta ahora 201 00:10:06,710 --> 00:10:08,750 pero lo digo, es un simulador online 202 00:10:08,750 --> 00:10:10,370 por lo tanto basta con que entres en 203 00:10:10,370 --> 00:10:11,990 tinkercad.com y 204 00:10:11,990 --> 00:10:14,750 presiones la pestaña 205 00:10:14,750 --> 00:10:16,370 circuit y con una 206 00:10:16,370 --> 00:10:18,809 usuario, un correo 207 00:10:18,809 --> 00:10:20,409 de gmail y un usuario y contraseña 208 00:10:20,409 --> 00:10:22,110 ya puedes entrar y puedes utilizarlo 209 00:10:22,110 --> 00:10:24,490 entonces vamos a hacer el montaje y para ello 210 00:10:24,490 --> 00:10:27,980 primero vamos a utilizar eso 211 00:10:27,980 --> 00:10:29,559 bien, pues vamos a buscar 212 00:10:29,559 --> 00:10:33,240 la tarjeta Arduino 213 00:10:33,240 --> 00:10:34,980 la colocamos por aquí 214 00:10:34,980 --> 00:10:40,840 vamos a colocar una placa protoboard mini, no hace falta que sea tan grande 215 00:10:40,840 --> 00:10:46,500 y vamos a colocar nuestro diodo led que está por aquí 216 00:10:46,500 --> 00:10:56,500 y vamos a conectarlo el cátodo a negativo y a ver el ánodo directamente al pin 13 217 00:10:56,500 --> 00:11:00,740 aunque el pin 13 tiene una resistencia interna pero lo normal es que si utilizamos cualquier otro pin 218 00:11:00,740 --> 00:11:05,879 coloquemos una resistencia en serie para evitar estropear cualquiera de los pines 219 00:11:05,879 --> 00:11:10,860 y en este caso pues el color que vamos a usar pues es un color blanco por ejemplo 220 00:11:10,860 --> 00:11:14,620 vamos a colocar ahora el pulsador 221 00:11:14,620 --> 00:11:21,240 el pulsador que está al principio si no recuerdo mal, está por aquí, sí 222 00:11:21,240 --> 00:11:27,899 y una resistencia que en este caso es de pull up con lo cual hay que colocarlo 223 00:11:27,899 --> 00:11:39,230 bueno va directamente al pin 2 esta resistencia y está conectada directamente la resistencia con él 224 00:11:41,350 --> 00:11:54,139 positivo sí pero hay que conectarlo al negativo porque se supone que es cuando yo pulso es decir 225 00:11:54,139 --> 00:11:59,779 método positivo es cuando se enciende así que aquí por lo que estoy viendo y una pequeña errata que 226 00:11:59,779 --> 00:12:09,899 conectamos esto de aquí a aquí y ahora vamos a conectar el polo positivo 227 00:12:10,539 --> 00:12:14,620 al pulsador por este lado y vamos a ponerlo de color rojo para hacer hincapié 228 00:12:14,620 --> 00:12:21,220 en este caso pues eso sería esto sería sin dejar cambiar aquí también el rojo 229 00:12:21,220 --> 00:12:25,720 bueno qué es lo que estoy haciendo aquí a ver si nos enteramos 230 00:12:25,720 --> 00:12:38,559 En el pin digital 2 ahora mismo le está llegando a través de esta resistencia exactamente 0 voltios, es decir GND, y si pulsase el pulsador automáticamente los 5 voltios pasarían directamente al pin 2. 231 00:12:38,559 --> 00:12:53,720 ¿Qué es lo que va a hacer nuestro programa? Pues nuestro programa en código que es exactamente este que está aquí, lo que va a hacer es lo siguiente, cuando yo, esto estará apagado, nada más encenderlo y cuando yo pulse se encenderá el diodo LED. 232 00:12:53,720 --> 00:13:18,220 Esto que parece una tontería es muy importante porque la mayor parte de los programas hacen eso, un sensor se activa y una salida se activa si se cumple que el sensor se haya activado, que para este nivel que estamos estudiando es justamente lo que buscamos, algún tipo de sistema automático que al activar un sensor, pues la salida correspondiente, en este caso el sensor es un simple pulsado y la salida es un simple dedo LED, pero la idea es esa. 233 00:13:18,220 --> 00:13:30,379 Bueno, ¿y cómo es el programa escrito en código Arduino? Pues vamos a ello. Lo primero que decir que el programa escrito en Arduino, como ya habíamos dicho, es muy importante fijarse y leer los comentarios en los que está puesto el programa. 234 00:13:30,820 --> 00:13:40,940 Para ello, todo lo que veamos después de dos barras inclinadas significa que es un comentario del programador y que nos indica más o menos lo que hace cada una de esas instrucciones. 235 00:13:40,940 --> 00:13:52,159 En el caso de que haya varias líneas de texto, de comentarios, pues esto se puede englobar dentro de una barra inclinada y un asterisco y luego finalizado con asterisco y barra inclinada. 236 00:13:52,600 --> 00:14:01,340 Eso se suele colocar nuevamente al principio de un programa, en la cabecera del programa, donde se indica el autor, el título de la práctica o del programa y lo que hace. 237 00:14:01,340 --> 00:14:04,620 Vamos a analizar un poquito qué es lo que hace 238 00:14:04,620 --> 00:14:08,519 Vemos que primero declaramos dos variables, la variable pulsador 239 00:14:08,519 --> 00:14:12,720 Y la variable let, le colocamos delante la instrucción int 240 00:14:12,720 --> 00:14:16,620 Para indicar que esas variables son enteras, es decir, que solo tienen valores enteros 241 00:14:16,620 --> 00:14:19,039 En este caso pulsador vale 2 y let vale 13 242 00:14:19,039 --> 00:14:23,240 ¿Por qué? Porque ahora vamos a declarar los piners de entrada y de salida 243 00:14:23,240 --> 00:14:27,519 Con la instrucción pinmode y entre paréntesis indicamos separado por comas 244 00:14:27,519 --> 00:14:30,720 en el primer caso pulsador input 245 00:14:30,720 --> 00:14:32,700 le estamos diciendo que el pulsador que vale 2 246 00:14:32,700 --> 00:14:34,299 es de entrada 247 00:14:34,299 --> 00:14:36,279 es decir, en este caso el pin 248 00:14:36,279 --> 00:14:38,039 número 2 249 00:14:38,039 --> 00:14:40,580 lo declaramos 250 00:14:40,580 --> 00:14:41,799 como pin de entrada 251 00:14:41,799 --> 00:14:44,279 y en la siguiente instrucción 252 00:14:44,279 --> 00:14:45,419 let output 253 00:14:45,419 --> 00:14:48,480 recordad mi pronunciación inglesa 254 00:14:48,480 --> 00:14:49,899 que es bastante mala así que 255 00:14:49,899 --> 00:14:52,059 bueno, pues let output 256 00:14:52,059 --> 00:14:53,320 indicaría que 257 00:14:53,320 --> 00:14:56,299 con esta instrucción el pin número 13 258 00:14:56,299 --> 00:14:58,759 lo declaramos como salida, porque LED vale 13 259 00:14:58,759 --> 00:15:00,340 y pulsador vale 2 260 00:15:00,340 --> 00:15:02,840 de hecho si pusiéramos en lugar de pulsador 261 00:15:02,840 --> 00:15:04,419 pusiéramos pin mode 2 input 262 00:15:04,419 --> 00:15:05,759 es exactamente lo mismo 263 00:15:05,759 --> 00:15:08,639 como veis está separado por función principal 264 00:15:08,639 --> 00:15:09,799 con unos comentarios 265 00:15:09,799 --> 00:15:11,960 colocados en la parte 266 00:15:11,960 --> 00:15:13,820 delante de voice setup 267 00:15:13,820 --> 00:15:15,740 y luego la función voilute por lo mismo 268 00:15:15,740 --> 00:15:18,779 una pequeña etiqueta 269 00:15:18,779 --> 00:15:20,919 indicando que es una función que se va a ejecutar siempre 270 00:15:20,919 --> 00:15:23,080 esto como digo no lo interpreta 271 00:15:23,080 --> 00:15:24,279 todo esto que está aquí arriba 272 00:15:24,279 --> 00:15:26,840 con dos barras inclinadas 273 00:15:26,840 --> 00:15:28,120 no lo interpreta el programa 274 00:15:28,120 --> 00:15:31,080 cuando lo vaya a compilar y descargarlo en la tarjeta de ruido 275 00:15:31,080 --> 00:15:32,220 esto no lo interpreta el programa 276 00:15:32,220 --> 00:15:35,000 y luego la función que nos interesa 277 00:15:35,000 --> 00:15:36,960 la función principal, ¿cuál es la estructura 278 00:15:36,960 --> 00:15:38,519 de esta función loop? 279 00:15:38,919 --> 00:15:41,100 pues colocamos una instrucción 280 00:15:41,100 --> 00:15:42,379 if, una instrucción condicional 281 00:15:42,379 --> 00:15:45,399 que hace lo siguiente, if y luego entre paréntesis 282 00:15:45,399 --> 00:15:46,440 comparamos 283 00:15:46,440 --> 00:15:48,840 la lectura digital con la instrucción 284 00:15:48,840 --> 00:15:50,779 digital read pulsador 285 00:15:50,779 --> 00:15:52,659 lo comparamos con nivel alto 286 00:15:52,659 --> 00:15:56,899 Es decir, que si el pulsador está a nivel alto, lo que hacemos es ejecutar lo que está entre llaves. 287 00:15:57,059 --> 00:16:04,720 En este caso es DigitalWriteLedHigh, es decir, el pin número 13 lo activamos a nivel alto. 288 00:16:04,879 --> 00:16:10,740 Y en caso contrario, entre llaves nos dice que escribimos un valor bajo, es decir, el pin número 13 se apagaría. 289 00:16:12,039 --> 00:16:18,259 ¿Cómo cogemos este programa y programamos este simulador virtual con este código? 290 00:16:18,259 --> 00:16:21,960 bueno, pues para ello tendremos que abrir la pestaña de código 291 00:16:21,960 --> 00:16:25,059 nos aparece en este caso aquí un diagrama de bloques 292 00:16:25,059 --> 00:16:27,159 pero nosotros solamente nos interesa texto 293 00:16:27,159 --> 00:16:32,000 nos pregunta aquí ahora que vamos a eliminar los bloques 294 00:16:32,000 --> 00:16:34,879 los diagramas de bloques 295 00:16:34,879 --> 00:16:36,220 decimos que sí, que lo vamos a eliminar 296 00:16:36,220 --> 00:16:38,480 y que queremos solamente programar el texto 297 00:16:38,480 --> 00:16:40,580 eliminamos ahora esto que está aquí 298 00:16:40,580 --> 00:16:43,399 que en este caso sería el código anterior que estuviera 299 00:16:43,399 --> 00:16:45,980 y ahora aquí escribiríamos este código de aquí 300 00:16:45,980 --> 00:16:54,860 En condiciones normales tendréis que escribirlo a través del teclado, tecla a tecla, vamos, habría que escribirlo tal cual. 301 00:16:55,259 --> 00:17:01,559 Dadas las especiales circunstancias que estamos viviendo, os voy a permitir que hagáis esto que no debéis hacer, 302 00:17:01,559 --> 00:17:09,819 que es copiar el código y pegarlo aquí. Pero, insisto, esto lo hacéis una vez que hayáis analizado el programa. 303 00:17:10,140 --> 00:17:13,500 Y si tenéis alguna duda, a través del foro de consulta me lo preguntáis. 304 00:17:13,500 --> 00:17:15,180 oye, no entiendo por qué pone no sé qué 305 00:17:15,180 --> 00:17:17,559 qué significa esta instrucción, me la señalan 306 00:17:17,559 --> 00:17:19,640 lo pones en el foro de consulta y lo analizamos 307 00:17:19,640 --> 00:17:21,180 de manera que esto lo tienes que entender 308 00:17:21,180 --> 00:17:23,420 porque obviamente no vamos a analizar 309 00:17:23,420 --> 00:17:25,680 todas las prácticas, vamos a 310 00:17:25,680 --> 00:17:27,400 analizar algunas de ellas, esta primera 311 00:17:27,400 --> 00:17:29,400 que es muy básica y yo creo que la más importante 312 00:17:29,400 --> 00:17:31,480 porque tiene que ver con la manera de los 313 00:17:31,480 --> 00:17:33,500 programas que vamos a utilizar, se 314 00:17:33,500 --> 00:17:34,819 activa un sensor y 315 00:17:34,819 --> 00:17:37,619 si se cumple, se activa ese sensor 316 00:17:37,619 --> 00:17:39,579 pues la salida se activa, bueno pues 317 00:17:39,579 --> 00:17:40,900 en este caso tendríamos aquí el programa 318 00:17:40,900 --> 00:17:43,460 ya esto lo podemos minimizar 319 00:17:43,460 --> 00:17:45,880 y podemos ejecutar la simulación 320 00:17:45,880 --> 00:17:47,579 y aquí observamos como el pin 321 00:17:47,579 --> 00:17:49,339 el pin 3 está apagado 322 00:17:49,339 --> 00:17:50,700 pero si yo pulso 323 00:17:50,700 --> 00:17:52,759 pues ahí lo tenemos encendido 324 00:17:52,759 --> 00:17:54,960 y se está haciendo clic ahora con el ratón 325 00:17:54,960 --> 00:17:57,039 en el pulsador y se enciende y se apaga 326 00:17:57,039 --> 00:17:59,420 vale, bueno pues con esto 327 00:17:59,420 --> 00:18:00,839 ya tendríamos la simulación 328 00:18:00,839 --> 00:18:02,339 ya tendríamos hecho nuestro programa 329 00:18:02,339 --> 00:18:05,039 el programa lo podemos nombrar pues en este caso 330 00:18:05,039 --> 00:18:06,859 como T2- 331 00:18:06,859 --> 00:18:08,519 yo que sé si ponéis las iniciales 332 00:18:08,519 --> 00:18:10,140 o lo que queráis 333 00:18:10,140 --> 00:18:12,359 de momento no se me ocurre 334 00:18:12,359 --> 00:18:14,420 como nombrarlo así suficiente 335 00:18:14,420 --> 00:18:16,420 con que pongáis esto, las iniciales y demás 336 00:18:16,420 --> 00:18:18,599 lo ejecutáis 337 00:18:18,599 --> 00:18:20,160 le dais al intro, se guarda 338 00:18:20,160 --> 00:18:22,640 automáticamente siempre se guarda 339 00:18:22,640 --> 00:18:25,059 y con esto ya tendríamos hecho nuestra primera práctica 340 00:18:25,059 --> 00:18:26,900 tenéis una serie de 10 341 00:18:26,900 --> 00:18:27,900 prácticas por hacer 342 00:18:27,900 --> 00:18:30,680 numeradas en el pdf que os doy 343 00:18:30,680 --> 00:18:32,359 como tarea y donde está 344 00:18:32,359 --> 00:18:34,819 especificado aquí cada una de las cosas 345 00:18:34,819 --> 00:18:36,359 que te van pidiendo 346 00:18:36,359 --> 00:18:38,920 solamente hacéis el montaje 347 00:18:38,920 --> 00:18:41,119 y analicéis el código 348 00:18:41,119 --> 00:18:43,940 está todo detallado 349 00:18:43,940 --> 00:18:44,900 las que tenéis que hacer 350 00:18:44,900 --> 00:18:47,759 hay algunas a lo mejor 351 00:18:47,759 --> 00:18:49,240 que habría que analizar 352 00:18:49,240 --> 00:18:51,359 porque algunas a lo mejor no se pueden analizar 353 00:18:51,359 --> 00:18:53,500 pero en principio las he revisado todas 354 00:18:53,500 --> 00:18:55,599 y creo que si, de todas maneras si hay algún cambio 355 00:18:55,599 --> 00:18:56,460 lo pondré en el PDF 356 00:18:56,460 --> 00:18:59,839 bueno, yo creo que con esto ya es más que suficiente 357 00:18:59,839 --> 00:19:01,559 por lo menos para saber que te vais a tener 358 00:19:01,559 --> 00:19:03,359 que hacer prácticas virtuales 359 00:19:03,359 --> 00:19:05,519 utilizando el lenguaje de código 360 00:19:05,519 --> 00:19:07,140 el código Arduino 361 00:19:07,140 --> 00:19:08,680 y el montaje correspondiente 362 00:19:08,680 --> 00:19:16,380 y entregarlas, en este caso, guardando las prácticas en vuestra correspondiente cuenta de usuario de Tinkercad Circuit 363 00:19:16,380 --> 00:19:27,140 y estableceremos un formato de entrega que normalmente va a ser captura del montaje y el programa propiamente dicho. 364 00:19:27,140 --> 00:19:33,440 Y, por supuesto, como lo tenéis guardado, en caso de que hubiera alguna duda de más, siempre podemos ir a vuestra cuenta de usuario 365 00:19:33,440 --> 00:19:36,380 donde tengáis el circuito grabado 366 00:19:36,380 --> 00:19:38,339 salvado y podamos 367 00:19:38,339 --> 00:19:40,400 comprobar que todo está a su sitio 368 00:19:40,400 --> 00:19:41,980 ¿de acuerdo? bueno pues 369 00:19:41,980 --> 00:19:43,599 un saludo a todos, espero que 370 00:19:43,599 --> 00:19:45,900 os haya servido de algo esta clase 371 00:19:45,900 --> 00:19:48,039 que yo creo que se ha extendido un poquito más de lo que tenía pensado 372 00:19:48,039 --> 00:19:49,920 pero bueno, por lo menos nos dará 373 00:19:49,920 --> 00:19:50,859 para poder trabajar 374 00:19:50,859 --> 00:19:53,240 un poquito más de tiempo 375 00:19:53,240 --> 00:19:55,960 y esperemos vernos pronto en clase 376 00:19:55,960 --> 00:19:56,799 un saludo