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