1 00:00:01,840 --> 00:00:15,720 Hola, en esta práctica vamos a aprender cómo utilizar un sensor de temperatura con la placa Arduino que es el que lo va a controlar y va a leer la información que le suministra. 2 00:00:16,059 --> 00:00:31,359 En la pantalla podéis ver cómo está conectado. Aquí tenéis el sensor de temperatura que en la biblioteca de componentes lo vais a encontrar si vais a todos y si bajáis para abajo o bien escribís temperatura y ha aparecido, clicáis, arrastráis y ahí lo tenéis. 3 00:00:31,839 --> 00:00:41,539 es el único elemento nuevo y además vais a ver que os va a recordar muchos otros elementos que hemos utilizado 4 00:00:41,539 --> 00:00:46,979 tienes tres patillas, una de ellas, la de la derecha va a tierra, por eso está conectada a tierra a través de este cable negro 5 00:00:46,979 --> 00:00:51,659 la de la izquierda es la de potencia, por eso está conectada a la alimentación, está conectada al cable rojo 6 00:00:51,659 --> 00:00:56,579 que a través de esta conexión horizontal y del otro cable rojo le está suministrando 5 voltios 7 00:00:56,579 --> 00:01:00,259 estas dos son las habituales, rojo y negro de alimentación 8 00:01:00,259 --> 00:01:05,980 Y el cable verde va conectado a A0, al lector analógico número 0. 9 00:01:06,099 --> 00:01:08,980 Podría haberlo conectado al 1, al 2, al 3, a cualquiera de ellos, ¿vale? 10 00:01:09,079 --> 00:01:17,420 Lo importante es que la placa arduino va a obtener información sobre la temperatura que hay en el exterior leyéndola a través del conector A0, ¿vale? 11 00:01:18,260 --> 00:01:20,000 Esto, ¿cómo se programa? Pues es muy fácil. 12 00:01:20,120 --> 00:01:23,120 Como hemos visto otras veces, hay bloques adaptados a este tipo de sensores. 13 00:01:23,900 --> 00:01:27,319 Entonces, olvidaros de este de abajo un momentito y vamos a fijarnos en este de arriba. 14 00:01:27,319 --> 00:01:29,519 Este que dice definir temperatura. 15 00:01:29,959 --> 00:01:31,340 Temperatura es una variable, ¿vale? 16 00:01:31,420 --> 00:01:32,680 Lo que definir ya lo conocéis. 17 00:01:32,780 --> 00:01:37,340 Lo que hacemos es, creamos una especie de cajita, entre comillas, para guardar la información. 18 00:01:37,739 --> 00:01:42,980 Esa cajita se llama temperatura y dentro habrá un número, 22, 23, 24, 19, 18, lo que sea. 19 00:01:43,379 --> 00:01:44,459 Pero ¿cómo leemos de verdad? 20 00:01:44,560 --> 00:01:48,560 Bueno, pues leemos con un bloque de entrada que se llama leer sensor de temperatura. 21 00:01:49,400 --> 00:01:50,000 Aquí lo tenemos. 22 00:01:50,519 --> 00:01:54,959 Entonces, si nos movemos a la derecha, es que es un bloque un poco largo, pero muy fácil de programar. 23 00:01:54,959 --> 00:01:58,620 Lo único que dice es leer el sensor de temperatura en el pasador a cero. 24 00:01:58,620 --> 00:02:03,359 es decir, aquí, donde estamos conectados, aquí abajo, podríamos elegir en cuál de ellos nos hemos conectado, 25 00:02:04,000 --> 00:02:09,379 y qué unidades, pues, o grados centígrados o grados Fahrenheit, y ya está, y con eso ya estamos leyendo, 26 00:02:09,460 --> 00:02:16,139 ya tenemos en nuestra variable, en esa cajita, entre comillas, guardado el número, el valor de la temperatura. 27 00:02:17,159 --> 00:02:24,699 Para poder visualizarlo, pues, añadimos un segundo bloque de estos azules, que lo que hace es imprimir en el monitor serie ese valor, ¿vale? 28 00:02:24,699 --> 00:02:26,740 os recuerdo que esto en un Arduino 29 00:02:26,740 --> 00:02:28,719 real lo que hace es, una vez que la placa 30 00:02:28,719 --> 00:02:30,680 Arduino ha leído el valor, ella lo 31 00:02:30,680 --> 00:02:32,639 conoce, se lo manda al ordenador a través del 32 00:02:32,639 --> 00:02:34,199 cable que 33 00:02:34,199 --> 00:02:36,639 luego su vez está conectado al ordenador por un 34 00:02:36,639 --> 00:02:38,379 puerto USB, esto el recuerdo es 35 00:02:38,379 --> 00:02:40,000 el puerto serie, vale 36 00:02:40,000 --> 00:02:42,400 entonces pues ya está 37 00:02:42,400 --> 00:02:44,560 podemos probar si funciona 38 00:02:44,560 --> 00:02:46,319 probar si va a funcionar porque es tan 39 00:02:46,319 --> 00:02:48,340 tan fácil, le damos a iniciar simulación 40 00:02:48,340 --> 00:02:50,319 en principio no pasa 41 00:02:50,319 --> 00:02:52,259 nada, no vemos que pasa nada, pero es porque tenemos 42 00:02:52,259 --> 00:02:53,960 como siempre con los sensores de Arduino 43 00:02:53,960 --> 00:02:55,919 clicar sobre ellos y aquí aparece 44 00:02:55,919 --> 00:02:57,860 una barrita que nos permite modificando 45 00:02:57,860 --> 00:02:59,159 nosotros el valor de la temperatura 46 00:02:59,159 --> 00:03:01,319 podemos hacer que sea 47 00:03:01,319 --> 00:03:03,580 por ejemplo 4 grados 48 00:03:03,580 --> 00:03:05,460 ¿y dónde lo vemos? pues aquí en el monitor serie 49 00:03:05,460 --> 00:03:07,759 dice 5, bueno puede haber 50 00:03:07,759 --> 00:03:09,780 algún pequeño error siempre, los sensores son así 51 00:03:09,780 --> 00:03:11,580 incluso el Arduino parece que está simulando 52 00:03:11,580 --> 00:03:13,500 el rango 53 00:03:13,500 --> 00:03:15,900 de error del instrumento 54 00:03:15,900 --> 00:03:17,900 si lo subo y me pongo a 17 55 00:03:17,900 --> 00:03:19,360 pues está marcando 18 56 00:03:19,360 --> 00:03:22,020 si lo subo a 60 57 00:03:22,020 --> 00:03:23,860 está marcando 60, ahora sí ya lo 58 00:03:23,860 --> 00:03:30,479 clava, pues muy fácil, lo está midiendo, muy fácil. 59 00:03:30,479 --> 00:03:33,620 En la vida real, porque claro, yo esto de que ponga aquí, entiendo que esto de 60 00:03:33,620 --> 00:03:38,219 poner 24 aquí en una zona del ordenador y que aparezca 24 en la otra, pues no, 61 00:03:38,219 --> 00:03:42,680 parece como que no llama mucho la atención. Vamos a verlo en la vida real. 62 00:03:42,680 --> 00:03:48,400 Lo que he hecho ha sido, he generado el código, os enseño antes el conexionado. 63 00:03:48,400 --> 00:03:52,060 Olvidaros de esta parte, esas lucecitas están puestas ahí, pero no están conectados a nada. 64 00:03:52,060 --> 00:04:11,639 Lo que tengo aquí es un sensor, es chiquitín, está detrás de los conectores, prácticamente no se ve, está aquí detrás, y tengo los tres cables que son, negro es la tierra, este morado es la alimentación, y el azul es el que va al medio del sensor, que a su vez va al acero aquí debajo, que es el que está mandando la información al sensor, ¿vale? 65 00:04:11,639 --> 00:04:17,180 Los mismos tres cables que hemos visto en la simulación, ¿vale? 66 00:04:17,480 --> 00:04:20,319 Entonces, yo lo que he hecho ha sido generar un... 67 00:04:20,319 --> 00:04:21,720 Esto es el... 68 00:04:21,720 --> 00:04:27,699 He generado este código y lo he subido a la Arduino, lo he compilado y lo he subido. 69 00:04:28,120 --> 00:04:30,480 Hay una modificación importante. 70 00:04:31,060 --> 00:04:34,019 En el código original, lo voy a sacar del... 71 00:04:34,019 --> 00:04:37,839 Lo vais a ver aquí, código, bloques, bloques y texto. 72 00:04:37,839 --> 00:04:40,360 fijaros que el bloque de temperatura 73 00:04:40,360 --> 00:04:41,519 la expresión que tiene, dice 74 00:04:41,519 --> 00:04:43,220 temperatura es igual a menos 40 75 00:04:43,220 --> 00:04:46,199 más un coeficiente por analog read menos 20 76 00:04:46,199 --> 00:04:48,100 si vais al código 77 00:04:48,100 --> 00:04:48,980 que yo he generado 78 00:04:48,980 --> 00:04:52,319 aquí se ven los dos, no es menos 40 79 00:04:52,319 --> 00:04:54,060 por más ese número multiplicado 80 00:04:54,060 --> 00:04:55,860 por analog read menos 20 81 00:04:55,860 --> 00:04:57,519 es un número totalmente distinto 82 00:04:57,519 --> 00:04:59,540 ¿y eso por qué? ¿por qué lo he tenido que cambiar? 83 00:04:59,620 --> 00:05:01,259 yo lo he tenido que cambiar a mano, así apenas 84 00:05:01,259 --> 00:05:04,060 ¿por qué lo he hecho? bueno, pues por una sencilla razón 85 00:05:04,060 --> 00:05:05,660 porque el 86 00:05:05,660 --> 00:05:14,279 El sensor que tengo aquí en la vida real es un modelo, que es el LM35, que no coincide con el modelo que está utilizando el Arduino. 87 00:05:14,699 --> 00:05:16,600 Me da igual qué modelo utilice el Arduino, ¿vale? 88 00:05:17,220 --> 00:05:21,939 Pero lo importante es que el código que me ha generado, cambiando esta expresión, me vale. 89 00:05:22,019 --> 00:05:24,019 Esta expresión es el calibrado del sensor, ¿vale? 90 00:05:24,240 --> 00:05:30,899 Si yo conozco la relación entre lo que estoy leyendo, entre el voltaje que estoy leyendo y la temperatura, que eso se llama calibrado, 91 00:05:31,339 --> 00:05:34,959 eso es una gráfica, es la relación entre el voltaje leído y la temperatura. 92 00:05:34,959 --> 00:05:39,879 Ahora, si yo la conozco, puedo reescribir esta expresión y me va a funcionar para cualquier sensor. 93 00:05:40,360 --> 00:05:44,100 O sea que mi simulación la estoy simulando para un sensor de temperatura en concreto, 94 00:05:44,500 --> 00:05:48,540 pero yo modificando esta línea puedo llevarlo luego a la vida real con cualquier tipo de sensor. 95 00:05:48,980 --> 00:05:51,759 Lo único que tengo que hacer es buscar información sobre ese sensor. 96 00:05:52,139 --> 00:05:54,720 Por ejemplo, me voy aquí al LM35. 97 00:05:55,759 --> 00:05:58,920 Por ejemplo, una de las primeras cosas que miro es el conexionado. 98 00:05:58,920 --> 00:06:07,620 Veo las tres patitas que tiene, uno, dos y tres. Uno es la alimentación, tres es la tierra y el dos es la patita que va al acero. 99 00:06:08,120 --> 00:06:15,220 Y buscando otra información en las páginas web, por ejemplo en esta, pues encontraré información más detallada. 100 00:06:15,360 --> 00:06:19,660 Mira, este es el aspecto que tiene y la gráfica de calibración pues estará por aquí a un lado. 101 00:06:19,660 --> 00:06:24,819 aquí alguien ha hecho una 102 00:06:24,819 --> 00:06:26,540 o mira, de aquí lo habré sacado 103 00:06:26,540 --> 00:06:29,019 valor, que es el analog 0 104 00:06:29,019 --> 00:06:30,699 el analog 0 por 500 105 00:06:30,699 --> 00:06:32,680 dividido entre 1024 o 1023 106 00:06:32,680 --> 00:06:35,360 bueno, eso es 107 00:06:35,360 --> 00:06:37,199 no es cuestión de ponerse más fino o menos fino 108 00:06:37,199 --> 00:06:39,040 porque tiene 1023 valores y considero 109 00:06:39,040 --> 00:06:40,439 si va a 1023 o no, pero bueno, mira 110 00:06:40,439 --> 00:06:43,300 de aquí he sacado la señal de calibración 111 00:06:43,300 --> 00:06:46,199 incluso me dan un código para 112 00:06:46,199 --> 00:06:47,420 pues si yo quisiera 113 00:06:47,420 --> 00:06:49,980 directamente llevarlo a la web 114 00:06:49,980 --> 00:06:52,120 pero que lo puedo sacar también del 115 00:06:52,120 --> 00:06:54,939 utilizando el Tinkercad 116 00:06:54,939 --> 00:06:56,199 sin más que cambiar esta línea 117 00:06:56,199 --> 00:06:59,480 y luego además he hecho otra modificación 118 00:06:59,480 --> 00:07:00,579 a ver, detengo 119 00:07:00,579 --> 00:07:02,339 veis que aparece aquí esta 120 00:07:02,339 --> 00:07:04,680 esto es un zumbador 121 00:07:04,680 --> 00:07:06,600 que está conectado al puerto 13 122 00:07:06,600 --> 00:07:08,980 aquí está, esto es el puerto 13 123 00:07:08,980 --> 00:07:10,560 eso que hay ahí, entonces 124 00:07:10,560 --> 00:07:13,459 ¿por qué? bueno, este es vuestro ejercicio 125 00:07:13,459 --> 00:07:16,439 hacer estos bloques es muy fácil 126 00:07:16,439 --> 00:07:19,199 colocar ahí un bloque que lo lea 127 00:07:19,199 --> 00:07:20,959 lo guarde en una caja y lo mande por el puerto serie 128 00:07:20,959 --> 00:07:28,560 es muy fácil, lo habéis hecho incluso con el sensor de distancias igual, exactamente igual. 129 00:07:28,879 --> 00:07:38,959 Lo que yo os pido es que introdujáis un bloque de control en el que si la temperatura sube por encima, 130 00:07:39,100 --> 00:07:43,319 de cierto caso, yo aquí he puesto, he tenido en cuenta la temperatura que hay ahora mismo en la habitación, 131 00:07:43,399 --> 00:07:49,779 que es un poco de frío, por eso tengo que poner 21, si la temperatura sube por encima de 21, 132 00:07:49,779 --> 00:07:51,339 que active un zumbador 133 00:07:51,339 --> 00:07:54,540 el zumbador lo hemos visto, acordaros que está en la biblioteca 134 00:07:54,540 --> 00:07:55,680 que tiene dos conectores 135 00:07:55,680 --> 00:07:58,540 uno iba a tierra 136 00:07:58,540 --> 00:07:59,939 este zumbador está conectado 137 00:07:59,939 --> 00:08:01,459 el cable negro va a tierra 138 00:08:01,459 --> 00:08:04,040 y el otro cable va a uno de los conectores de arriba 139 00:08:04,040 --> 00:08:06,319 y acordaros que había un bloque 140 00:08:06,319 --> 00:08:07,959 que tiene que ser de salida 141 00:08:07,959 --> 00:08:10,560 para los zumbadores 142 00:08:10,560 --> 00:08:16,879 con ese bloque 143 00:08:16,879 --> 00:08:18,879 que se usaba de una manera especial 144 00:08:18,879 --> 00:08:21,199 os aconsejo que repaséis la práctica 145 00:08:21,199 --> 00:08:22,360 en la que aprendimos a usarlo 146 00:08:22,360 --> 00:08:25,199 podéis programarlo 147 00:08:25,199 --> 00:08:26,819 para que si la temperatura suba 148 00:08:26,819 --> 00:08:28,399 por encima de cierto valor 149 00:08:28,399 --> 00:08:30,980 el sonido salte 150 00:08:30,980 --> 00:08:32,919 el fumador salte, una especie de aviso sonoro 151 00:08:32,919 --> 00:08:34,919 una alarma sonora, en la vida real 152 00:08:34,919 --> 00:08:36,320 ¿esto funciona? pues claro que funciona 153 00:08:36,320 --> 00:08:37,740 os lo voy a enseñar en 154 00:08:37,740 --> 00:08:41,120 yo ya he subido este código 155 00:08:41,120 --> 00:08:42,779 a mi arduino, si queréis lo subo otra vez 156 00:08:42,779 --> 00:08:45,279 para que veáis que no os hago ninguna trampa 157 00:08:45,279 --> 00:08:46,279 ya está, subido 158 00:08:46,279 --> 00:08:48,879 y ahora me quedo aquí con el puerto serie 159 00:08:48,879 --> 00:08:50,039 que es el que está leyendo 160 00:08:50,039 --> 00:08:51,659 y tengo aquí mi arduino de verdad 161 00:08:51,659 --> 00:08:54,419 me está leyendo ahora mismo 19 grados 162 00:08:54,419 --> 00:08:56,000 es decir, es la temperatura de la habitación 163 00:08:56,000 --> 00:08:59,600 con lo cual el zumbador este no suena 164 00:08:59,600 --> 00:09:01,919 pero si yo toco el sensor 165 00:09:01,919 --> 00:09:02,960 si le pongo el dedo encima 166 00:09:02,960 --> 00:09:04,500 con el cuerpo encima de la temperatura 167 00:09:04,500 --> 00:09:06,419 superior a 19, pues enseguida empieza a subir 168 00:09:06,419 --> 00:09:08,519 mira, ya hemos llegado a 22, muy prontito 169 00:09:08,519 --> 00:09:10,620 y en el momento que ha llegado a 22 170 00:09:10,620 --> 00:09:12,200 23 incluso, sigue subiendo 171 00:09:12,200 --> 00:09:14,919 si yo ahora quito las manos, la temperatura debería bajar 172 00:09:14,919 --> 00:09:21,000 y 2 cuando baje a 21 volverá a dejar de 173 00:09:21,000 --> 00:09:26,960 pitar. Está costando el 3 un poquillo. Ahí está, 21, ya no pita. Si lo vuelvo a tocar y vuelvo a hacer que la 174 00:09:26,960 --> 00:09:31,559 temperatura sube, volverá a sonar. Luego está funcionando. Tengo una alarma en la 175 00:09:31,559 --> 00:09:37,000 que la temperatura, si subiera por encima de cierto valor, me avisaría. Un sensor de 176 00:09:37,000 --> 00:09:40,860 alarma. Pues ese es el ejercicio que vosotros tenéis que hacer en el Arduino, 177 00:09:40,860 --> 00:09:45,440 que es muy fácil. Es teniendo esto que ya tenéis, añadir un zumbador, conectarlo y 178 00:09:45,440 --> 00:09:47,799 programar eso que os he dicho, si la temperatura 179 00:09:47,799 --> 00:09:49,919 sube por cierto de ese valor, entonces 180 00:09:49,919 --> 00:09:51,379 que se active el zumbador 181 00:09:51,379 --> 00:09:53,600 es muy fácil, recordad 182 00:09:53,600 --> 00:09:55,039 que ya habéis hecho una práctica con el zumbador 183 00:09:55,039 --> 00:09:57,480 si no os acordáis, volver a ver el vídeo de esa 184 00:09:57,480 --> 00:09:58,279 práctica 185 00:09:58,279 --> 00:10:01,740 pues ya está, facilita la práctica