1 00:00:00,000 --> 00:00:05,920 Hola chicos, voy a intentar explicar por aquí la práctica de arduino que me 2 00:00:05,920 --> 00:00:11,280 estáis preguntando muchos y no sabéis hacerla del parpadeo del led con el 3 00:00:11,280 --> 00:00:19,240 pulsador. En el aula virtual tenéis el pdf de la 4 00:00:19,240 --> 00:00:24,640 teoría de pulsadores ¿verdad? donde se explica el funcionamiento del 5 00:00:24,640 --> 00:00:32,920 pulsador. Básicamente el botón, el pulsador es un botón donde lo 6 00:00:32,920 --> 00:00:36,760 que yo quiero conseguir es que tenga una entrada cuando lo estoy pulsando alta y 7 00:00:36,760 --> 00:00:40,440 cuando no lo estoy pulsando baja. Ahora cuando os haga el esquema lo 8 00:00:40,440 --> 00:00:45,640 entenderéis mejor y así funciona más o menos arduino. Si le llega una 9 00:00:45,640 --> 00:00:49,560 una entrada alta hará una cosa, si le llega una entrada baja hará una cosa ¿vale? 10 00:00:49,560 --> 00:00:56,160 5 voltios, 0 voltios, high, low. Entonces para que os hagáis una idea, bueno el 11 00:00:56,160 --> 00:01:01,200 botón, si seguimos el pdf, el botón tiene esta forma ¿verdad? tiene cuatro 12 00:01:01,200 --> 00:01:07,040 patitas y están unidas así ¿no? dos a dos, de tal manera que cuando yo lo 13 00:01:07,040 --> 00:01:12,360 presiono pues conseguimos la unión. Ahora os explico en un esquema, tienen esta 14 00:01:12,360 --> 00:01:20,520 forma, entonces el pulsador, el botón es una cosa así cuadradita ¿verdad? tiene un 15 00:01:20,520 --> 00:01:25,280 botón en el medio y tiene cuatro patitas. 16 00:01:25,280 --> 00:01:31,520 Esta patita la vamos a conectar a positivo ¿vale? a 5 voltios y esta patita 17 00:01:31,520 --> 00:01:35,760 de aquí abajo la vamos a conectar a tierra, a ground ¿vale? entonces lo vamos a 18 00:01:35,760 --> 00:01:42,800 conectar al pin de arduino que pone gnd, ground, que es 0 voltios. 19 00:01:44,240 --> 00:01:49,200 En la diapositiva ¿qué es lo que te dice? bueno lo que conseguimos así es que 20 00:01:49,200 --> 00:01:52,920 cuando yo pulso estos 5 voltios entran por aquí, por aquí, por aquí ¿vale? 21 00:01:52,920 --> 00:01:56,400 entonces lo interesante es que yo de aquí voy a tirar desde este punto, voy a 22 00:01:56,400 --> 00:02:03,320 tirar un cable y ¿qué voy a hacer? meterlo en arduino. 23 00:02:06,360 --> 00:02:12,840 De tal manera que para arduino esto será una entrada, un input, 24 00:02:12,840 --> 00:02:16,800 luego vemos en qué pin lo ponemos y ¿qué queremos que haga arduino cuando le 25 00:02:16,800 --> 00:02:21,760 llegue esta entrada? pues queremos que haga otras cosas y serán los output ¿vale? 26 00:02:21,760 --> 00:02:28,800 luego decimos lo que queremos. Bien entonces así tendríamos que conectar el 27 00:02:28,800 --> 00:02:33,600 pulsador ¿qué pasa? que en esta diapositiva lo veis no se puede conectar 28 00:02:33,600 --> 00:02:38,360 el botón directamente a tierra, o sea directamente a la entrada, porque captaría 29 00:02:38,360 --> 00:02:43,400 ruido, es decir, haría como una especie de antena y no funcionaría, entonces 30 00:02:43,400 --> 00:02:49,760 daría un comportamiento errático, porque conforme estás y tú pulsas los 5 voltios 31 00:02:49,760 --> 00:02:54,160 van a entrar por aquí ¿vale? esto se uniría a esto, entraría por aquí y 32 00:02:54,160 --> 00:02:59,640 llegarían aquí los 5 voltios, de tal manera que entrarían por aquí los 5 33 00:03:00,640 --> 00:03:06,040 de tal manera que entrarían por aquí los 5 voltios ¿qué pasa si yo no aprieto? 34 00:03:06,040 --> 00:03:10,840 pues que llegarían 0 voltios, pero para que no haya error lo que tenemos que 35 00:03:10,840 --> 00:03:15,520 hacer es meter aquí una resistencia ¿vale? de tal manera que los 0 voltios en 36 00:03:15,520 --> 00:03:19,240 lugar de irse para acá, que hay una resistencia, irán para arduino, así nos 37 00:03:19,240 --> 00:03:24,240 aseguramos que entren o bien 5 voltios cuando pulsamos o bien 0 voltios cuando 38 00:03:24,240 --> 00:03:28,520 no pulsamos ¿vale? esta manera de conectar los elementos se le llama pulldown, hay 39 00:03:28,520 --> 00:03:32,320 también otra que es pullup, pero bueno vamos a usar el pulldown de momento 40 00:03:32,320 --> 00:03:36,400 entonces, conforme tenemos este esquema pues es lo que vamos a conectar en 41 00:03:36,400 --> 00:03:43,760 arduino, entonces me voy a arduino y saco mi placa por un lado 42 00:03:43,760 --> 00:03:50,520 mi plaquita de arduino por otro ¿vale? y antes de empezar a sacar componentes voy 43 00:03:50,520 --> 00:03:57,960 a conectar mis 5 voltios, que sería el polo positivo, los voy a unir aquí 44 00:03:57,960 --> 00:04:02,400 ¿vale? y para asegurarme que toda esta línea tiene 5 voltios y como quiero que 45 00:04:02,400 --> 00:04:05,960 esta línea también tenga 5 voltios, porque me va a simplificar mucho la 46 00:04:05,960 --> 00:04:09,840 organización de cables, lo uno también por aquí 47 00:04:09,840 --> 00:04:15,040 ¿vale? pues aquí ya tengo 5 voltios, ahora quiero que las líneas 48 00:04:15,040 --> 00:04:22,480 negativas den 0 voltios, me cojo el pin de ground GND y lo uno por aquí con 49 00:04:22,480 --> 00:04:27,480 un cable negro ¿vale? ya me aseguro que aquí tengo 0 voltios y hago como el rojo 50 00:04:27,480 --> 00:04:34,040 voy a unir este con este para asegurarme que en cualquiera de los dos, tanto arriba 51 00:04:34,040 --> 00:04:39,960 como abajo, tengo en los negros 0, en los rojos 5 voltios positivo negativo ¿vale? 52 00:04:39,960 --> 00:04:43,480 es una manera de organizar un poco el circuito, venga entonces ahora ya voy a 53 00:04:43,480 --> 00:04:47,440 hacer el circuito que os he dicho poniendo mi pulsador ¿vale? pues yo lo 54 00:04:47,440 --> 00:04:51,640 pongo aquí en medio, entonces hemos dicho que una patita va a ir al positivo 55 00:04:51,640 --> 00:04:56,200 pues tiro cable hasta el positivo y la otra patita hemos dicho que va al 56 00:04:56,200 --> 00:05:00,640 negativo pero con una resistencia, sería esta línea de aquí la que voy a hacer 57 00:05:00,640 --> 00:05:04,880 ¿vale? entonces voy a poner la resistencia y lo vamos a unir a GND 58 00:05:04,880 --> 00:05:08,960 entonces me cojo una resistencia 59 00:05:09,080 --> 00:05:13,640 me aseguro que una patita esté en esta línea del negativo y la otra patita 60 00:05:13,640 --> 00:05:20,680 esté en esta fila uniendo el terminal ¿vale? y ahora en este punto tengo que 61 00:05:20,680 --> 00:05:24,720 tirar la entrada de arduino ¿vale? antes de tirar la entrada me voy a asegurar que 62 00:05:24,720 --> 00:05:29,120 en este punto me están llegando o bien los 5 voltios cuando pulso o bien 0 63 00:05:29,120 --> 00:05:34,400 cuando no pulso, como con el multímetro, entonces si os coges el multímetro que 64 00:05:34,400 --> 00:05:39,640 está abajo del todo tenéis un cable negativo 65 00:05:39,640 --> 00:05:43,360 lo voy a enganchar al negativo y el positivo lo voy a enganchar en este punto 66 00:05:43,360 --> 00:05:47,440 que es de donde yo quiero sacar para arduino y le voy a dar a iniciar 67 00:05:47,440 --> 00:05:51,400 simulación ¿vale? de momento tengo 0 voltios y si habéis hecho todas las 68 00:05:51,400 --> 00:05:57,080 conexiones correctas al pulsar os da 5 voltios luego estamos haciendo las 69 00:05:57,080 --> 00:06:02,160 conexiones bien ¿vale? 0 voltios 5 voltios ¿vale? 70 00:06:02,160 --> 00:06:07,080 ya me puedo, detengo la simulación y me puedo cargar el multímetro ¿vale? ya me 71 00:06:07,080 --> 00:06:11,840 he comprobado que aquí en este punto cuando lo pulso me dan 5 voltios ¿vale? 72 00:06:11,840 --> 00:06:17,160 pues este punto es el que voy a usar para entrar en arduino, voy a ponerlo en 73 00:06:17,160 --> 00:06:24,440 el pin 2 por ejemplo, entonces este cable verde sería este punto de aquí ¿sí? 74 00:06:24,440 --> 00:06:30,680 ¿vale? y ya lo he metido en arduino ¿en qué pin? en el 2 ¿no? lo he metido en el 2 75 00:06:30,680 --> 00:06:35,320 ¿sí? vale pues hasta ahora ya tenemos esto 76 00:06:35,320 --> 00:06:39,800 hecho, ahora tengo que hacer el output, la salida ¿qué es lo que yo quiero que haga 77 00:06:39,800 --> 00:06:45,760 arduino cuando reciba estas señales en el pin 2 tanto de alta de 5 voltios como 78 00:06:45,760 --> 00:06:50,920 baja de 0 voltios? os quiero que encienda un pin, entonces lo que voy a hacer es 79 00:06:50,920 --> 00:06:56,000 conectar aquí un pin que lo hemos hecho en prácticas anteriores, me traigo por 80 00:06:56,000 --> 00:07:01,520 aquí el pin, engancho esta patita 81 00:07:02,240 --> 00:07:10,240 engancho esta patita al negativo con cable negro y esta otra patita 82 00:07:10,240 --> 00:07:15,280 tengo que meter una resistencia acordaros para que no explote, meto una 83 00:07:15,280 --> 00:07:23,440 resistencia, la vamos a poner de 220 ohmios para que veamos que se enciende bien 84 00:07:23,440 --> 00:07:27,640 y esta patita la voy a meter en el pin que yo quiera ¿vale? voy a elegir el 12 85 00:07:27,640 --> 00:07:35,520 por ejemplo ¿vale? entonces esta sería mi output, este sería mi output, yo lo tengo 86 00:07:35,520 --> 00:07:39,000 en el pin 12, podéis elegir el que queráis ¿vale? 87 00:07:39,000 --> 00:07:43,600 vale pues si está todo correcto ahora voy a ver si funciona, le doy a iniciar 88 00:07:43,600 --> 00:07:49,040 simulación, le doy al pulsador, me están llegando 5 voltios pero no se me está 89 00:07:49,040 --> 00:07:52,400 encendiendo el led, claro, tengo que decirle a arduino lo que quiero que haga 90 00:07:52,400 --> 00:07:58,600 entonces detengo simulación y entro en el código, en texto 91 00:07:58,600 --> 00:08:02,440 tenemos el código que arduino da por defecto pero yo ahora tengo que 92 00:08:02,440 --> 00:08:06,480 escribir aquí en este lenguaje lo que yo quiero que haga, si os fijáis tenemos 93 00:08:06,480 --> 00:08:11,960 void setup, void loop ¿vale? dentro de void setup y dentro de void loop veis que 94 00:08:12,000 --> 00:08:15,840 tengo una llave de entrada y una llave de salida, dentro es donde puedo escribir 95 00:08:15,840 --> 00:08:19,600 ¿vale? cuidado porque luego os da problemas al escribir porque no habéis 96 00:08:19,600 --> 00:08:26,880 puesto las llaves, vale pues aquí yo que tengo pin mode en el 13 tengo una salida 97 00:08:26,880 --> 00:08:31,480 yo no tengo en el 13 una salida, la tengo en el 12 ¿verdad? 98 00:08:31,920 --> 00:08:37,400 y voy a copiar lo mismo porque le tengo que decir que no sólo tengo una salida 99 00:08:37,800 --> 00:08:44,480 en el 12, ahora en el 2 no tengo una salida, tengo una entrada, un input 100 00:08:44,480 --> 00:08:49,400 entonces le decimos en void setup, le decimos que tenemos un pin en el 2 de 101 00:08:49,400 --> 00:08:53,680 entrada y un 12 de salida, si lo habéis puesto en otros pines pues lo cambiáis 102 00:08:53,680 --> 00:08:58,680 y ahora aquí pues borro esto porque lo que le tengo que decir, ¿qué le tengo que 103 00:08:58,680 --> 00:09:08,320 decir? le tengo que decir que si en el pin 2 lee una entrada alta de 5 voltios 104 00:09:08,320 --> 00:09:18,320 ¿vale? y ¿eso cómo se pone? pues se lee, se pone así if espacio digital read si en 105 00:09:18,320 --> 00:09:25,280 el pin digital en el 2 106 00:09:25,880 --> 00:09:34,880 espacio igual igual les una entrada alta ¿vale? estamos diciendo que si en el 107 00:09:34,880 --> 00:09:43,000 aquí cuidado que va también paréntesis si digital read en el pin 2 tiene una 108 00:09:43,000 --> 00:09:48,800 entrada alta ¿qué queremos que haga? pues ahora entre 109 00:09:48,800 --> 00:09:54,200 entre llaves le tenemos que decir lo que queremos que haga 110 00:09:55,360 --> 00:10:01,840 ¿qué queremos que haga? si cuando le llega, si en el pin 2 lee arduino 111 00:10:01,840 --> 00:10:07,760 en este pin digital lee lectura alta es decir 5 voltios ¿qué queremos que 112 00:10:07,760 --> 00:10:15,160 haga? pues le tenemos que decir que el pin, el digital write 113 00:10:21,600 --> 00:10:27,000 el digital write del pin 12 114 00:10:27,000 --> 00:10:31,160 ¿vale? sea alto 115 00:10:31,160 --> 00:10:38,800 paréntesis y punto y coma ¿vale? si esto es lo que queremos que haga si en el 116 00:10:38,800 --> 00:10:44,600 pin 2 lee un valor alto de 5 voltios lo que queremos es que el pin 12 lo lea y 117 00:10:44,600 --> 00:10:50,520 lo interprete como una entrada alta es decir que se encienda ¿vale? le podemos 118 00:10:50,520 --> 00:10:59,040 poner aquí que espere aunque no se va a apreciar que se espere un segundo 119 00:10:59,040 --> 00:11:05,960 ¿vale? pues de la AY1000 ¿vale? para que espere un segundo ¿sí? 120 00:11:05,960 --> 00:11:10,480 vale cuando os digo que expliques un poco con vuestras palabras lo que vayáis 121 00:11:10,480 --> 00:11:16,440 haciendo podéis darle espacio doble barra y aquí pondríamos entrada 122 00:11:16,600 --> 00:11:22,400 entrada pin del pulsador ¿no? por ejemplo podemos 123 00:11:22,400 --> 00:11:27,000 escribir aquí lo que queramos que no pasa nada para explicarlo espacio doble 124 00:11:27,000 --> 00:11:36,160 barra salida bueno entrada pin led ¿vale? 125 00:11:36,160 --> 00:11:41,280 vale y así en cada entrada ¿vale? podéis ir explicándolo ¿vale? entonces le 126 00:11:41,280 --> 00:11:47,280 hemos dicho que si tiene un en el pin 2 de lectura un valor alto esto es lo que 127 00:11:47,280 --> 00:11:51,040 queremos que haga pero ahora tenemos que decir qué tiene que hacer en caso 128 00:11:51,040 --> 00:11:56,120 contrario pues le ponemos en caso contrario ¿qué queremos que haga? pues 129 00:11:56,120 --> 00:12:02,640 queremos que haga esto mismo con entre llaves, llave y llave 130 00:12:02,640 --> 00:12:06,760 ¿vale? pero ahora no quiero que el 12 esté encendido quiero que el led esté 131 00:12:06,760 --> 00:12:11,760 apagado entonces le ponemos long en lugar de high 132 00:12:12,120 --> 00:12:18,600 y los segundos los quitamos y esto también cuidado no os carguéis 133 00:12:18,600 --> 00:12:23,880 la última llave ¿vale? porque esta llave cerraría 134 00:12:23,880 --> 00:12:30,800 este inicio del void loop ¿vale? esta cierra esta y esta cierra esta ¿sí? 135 00:12:30,800 --> 00:12:34,960 bueno pues si tenemos todo bien tenemos los puntos y coma y tenemos las llaves 136 00:12:34,960 --> 00:12:40,520 debería de dejarnos trabajar con el circuito vamos a dar a 137 00:12:40,520 --> 00:12:43,960 iniciar simulación vale de momento no va a dar error así 138 00:12:43,960 --> 00:12:48,280 que el lenguaje está bien ¿vale? pues que he conseguido yo que voy a pulsar el 139 00:12:48,280 --> 00:12:52,600 botón cuando pulse el botón le va a llegar a este pin 5 voltios entrada alta 140 00:12:52,600 --> 00:12:55,720 y que va a interpretar arduino que cuando tiene entrada alta le hemos 141 00:12:55,720 --> 00:13:00,480 dicho que este pin el led se encienda pues vamos a ver si se enciende se 142 00:13:00,480 --> 00:13:05,840 enciende ¿veis? y en caso contrario en caso contrario le hemos dicho si no lo 143 00:13:05,840 --> 00:13:10,840 tengo pulsado le hemos dicho que el 12 se apague se está apagando luego ya he 144 00:13:10,840 --> 00:13:17,160 conseguido encenderlo ¿lo veis? si suelto se apaga ¿vale? 145 00:13:17,160 --> 00:13:22,200 vale otra cosa interesante que podemos hacer detenemos simulación ¿vale? ya 146 00:13:22,200 --> 00:13:28,720 hemos visto que nos ha salido otra cosa interesante que vamos a hacer es 147 00:13:28,720 --> 00:13:31,920 introducir variables en lugar de estar escribiendo siempre el pin 2 el 12 148 00:13:31,920 --> 00:13:36,480 cuando luego hay muchos elementos en el muchos componentes nos podemos liar 149 00:13:36,480 --> 00:13:41,280 entonces muchas veces lo mejor es introducir variables por ejemplo voy a 150 00:13:41,280 --> 00:13:46,760 introducir en lugar de al pulsador le voy a llamar pulsador 1 entonces digo 151 00:13:46,760 --> 00:13:54,760 introduzco pulsador 1 en el 2 punto y coma ¿vale? entonces ya le estoy diciendo que 152 00:13:54,760 --> 00:13:59,600 en el pin 2 tengo el pulsador y introducimos 153 00:13:59,600 --> 00:14:07,200 led rojo por ejemplo en el 12 punto y coma ¿vale? de tal manera que hará yo en 154 00:14:07,200 --> 00:14:12,560 lugar de poner siempre el pin 12 lo que voy a poner es pulsador 1 como les he 155 00:14:12,560 --> 00:14:19,440 llamado tengo que ir sustituyéndolo y en el 12 led rojo ¿vale? aquí igual le 156 00:14:19,440 --> 00:14:26,440 estoy diciendo que me lea el que el pin 2 pero para mí ahora es pulsador 1 y le 157 00:14:26,440 --> 00:14:33,440 estoy diciendo que interprete esa lectura con que el led rojo se encienda 158 00:14:33,440 --> 00:14:36,760 sustituimos todos 159 00:14:37,760 --> 00:14:43,320 vale bien de tal manera que si le vuelvo a dar pues no me debería aparecer ningún 160 00:14:43,320 --> 00:14:48,800 error y debería hacer lo mismo funciona ¿vale? 161 00:14:48,800 --> 00:14:51,800 es interesante hacerlo así porque luego cuando tengáis muchos pulsadores y 162 00:14:51,800 --> 00:14:54,840 muchos led de diferentes colores pues una vez que introduzcáis las variables es 163 00:14:54,840 --> 00:14:59,040 más fácil hacer este lenguaje arrastrándole rojo led verde pulsador 1 164 00:14:59,040 --> 00:15:03,640 pulsador 2 ¿vale? bueno pues quiero que los que no lo entendíáis hacerlo 165 00:15:03,640 --> 00:15:09,680 terminadlo y hay otro lenguaje hay otro lenguaje en la solución que hemos 166 00:15:09,680 --> 00:15:13,520 puesto en aula virtual da lo mismo ¿vale? mientras funcione y hayáis entendido el 167 00:15:13,520 --> 00:15:18,840 lenguaje me vale y acordaos de poner la doble rayita e ir explicando cada 168 00:15:18,840 --> 00:15:25,120 línea ¿vale? con lo que va haciendo ¿vale? venga hasta luego chicos chao