1 00:00:05,780 --> 00:00:13,460 Buenos días, os presento aquí otro esquema de otro circuito en el que he añadido un componente más. 2 00:00:13,939 --> 00:00:16,780 El componente que he añadido ha sido el potenciómetro, que es este que veis aquí. 3 00:00:17,559 --> 00:00:24,100 Si veis nos aparece una resistencia porque realmente un potenciómetro lleva interna una resistencia y ahora veremos por qué. 4 00:00:24,739 --> 00:00:29,780 Un potenciómetro es la clásica rueda que tenéis en las radios o en los televisores antiguos, 5 00:00:29,780 --> 00:00:35,719 antiguos en el que con esta rueda lo que haces es que vas aumentando o disminuyendo la resistencia 6 00:00:35,719 --> 00:00:41,920 cuando está en el lado izquierdo estaría en un máximo de resistencia entonces el voltaje no pasa 7 00:00:41,920 --> 00:00:47,640 y cuando lo vais moviendo va disminuyendo la resistencia y va añadiendo mayor voltaje 8 00:00:47,640 --> 00:00:53,100 este es un instrumento analógico un potenciómetro es un componente electrónico variable que actúa 9 00:00:53,100 --> 00:00:59,619 como una resistencia ajustable al girar su eje cambia el valor de la resistencia y por tanto 10 00:00:59,619 --> 00:01:05,840 el voltaje de salida. En Arduino se usa principalmente para control de posición, para regulador 11 00:01:05,840 --> 00:01:11,579 de intensidad de un LED, como selector de velocidad o de ángulo, que es lo que vamos 12 00:01:11,579 --> 00:01:17,620 a ver aquí en el caso del servo, para entrada analógica para menús o ajustes, etc. Es 13 00:01:17,620 --> 00:01:22,000 uno de los sensores analógicos más básicos y más importantes. ¿Cómo funciona? Tiene 14 00:01:22,000 --> 00:01:28,659 tres extremos. Si nos acercamos, está formado por tres terminales. Uno será el que conectemos 15 00:01:28,659 --> 00:01:30,980 a tierra, el otro le conectaremos 16 00:01:30,980 --> 00:01:32,500 del de la izquierda 17 00:01:32,500 --> 00:01:33,540 al voltaje 18 00:01:33,540 --> 00:01:36,260 o alimentación y luego el viper 19 00:01:36,260 --> 00:01:38,620 que el viper es el central 20 00:01:38,620 --> 00:01:40,760 y es el que va a producir la salida variable 21 00:01:40,760 --> 00:01:42,840 y no tiene mucho más 22 00:01:42,840 --> 00:01:44,780 al girarlo la patilla 23 00:01:44,780 --> 00:01:46,659 central entrega un voltaje entre 0 24 00:01:46,659 --> 00:01:48,900 y 5 voltios dependiendo de donde pongamos 25 00:01:48,900 --> 00:01:50,359 la rejilla 26 00:01:50,359 --> 00:01:53,180 donde si aplicamos mayor o menos resistencia 27 00:01:53,180 --> 00:01:54,840 Arduino lo lee con una 28 00:01:54,840 --> 00:01:56,400 función que luego veremos que es analog 29 00:01:56,400 --> 00:01:58,859 red, y el valor que va a tener 30 00:01:58,859 --> 00:02:00,620 va a ser, ya no te hablamos 31 00:02:00,620 --> 00:02:02,379 de un componente digital en el que sólo 32 00:02:02,379 --> 00:02:04,819 permitía un valor de 0, 0 voltios 33 00:02:04,819 --> 00:02:06,540 o de 1, que era 5 voltios 34 00:02:06,540 --> 00:02:08,520 sino que ahora es un valor comprendido 35 00:02:08,520 --> 00:02:10,860 entre 0 y 1023, un valor analógico 36 00:02:10,860 --> 00:02:12,400 por tanto, no es un valor discreto 37 00:02:12,400 --> 00:02:14,639 sino que es un valor continuo 38 00:02:14,639 --> 00:02:17,020 el objetivo del ejercicio 39 00:02:17,020 --> 00:02:18,199 que aparece aquí es 40 00:02:18,199 --> 00:02:20,159 girar el potenciómetro y que el servo 41 00:02:20,159 --> 00:02:22,520 se mueva suavemente de 0 a 180 42 00:02:22,520 --> 00:02:24,500 grados según la posición 43 00:02:24,500 --> 00:02:26,379 lo veremos a través de una función de transformación 44 00:02:26,379 --> 00:02:42,379 Y este ejemplo es muy visual y perfecto para explicar entradas analógicas con versión de valores y control de actuadores. Voy a borrar el que he sacado y os voy a poner el circuito. Este sería el código, no es un código muy sencillito. 45 00:02:42,379 --> 00:02:47,699 y iniciaremos la simulación y en un principio el servo no se mueve. 46 00:02:48,080 --> 00:02:53,719 Conforme yo voy moviendo la rueda, pues le bajo confiriendo porque va disminuyendo la resistencia 47 00:02:53,719 --> 00:03:00,139 y por tanto generando un voltaje que iría por aquí hasta el pinal analógico 48 00:03:00,139 --> 00:03:06,800 y lo que haría es que iría moviendo el servo a mayor ángulo o menor en función del voltaje 49 00:03:06,800 --> 00:03:08,599 que le estoy pasando a través del potenciómetro. 50 00:03:08,599 --> 00:03:13,659 vamos a comerciarlo desde el principio 51 00:03:13,659 --> 00:03:18,080 lo que voy a hacer es que voy a quitar todos los componentes 52 00:03:18,080 --> 00:03:23,020 y creamos de nuevo todo el circuito 53 00:03:23,020 --> 00:03:27,000 me quedo tan solo con la placa de arduino y pasamos la placa de pruebas 54 00:03:27,000 --> 00:03:32,219 lo que voy a hacer es que voy a alimentar estas dos líneas con 0 voltios y 5 voltios 55 00:03:32,219 --> 00:03:36,520 como siempre hago voy a poner una para alimentación que iría hasta aquí 56 00:03:36,520 --> 00:03:43,639 que sería de color rojo, ya estamos alimentando esta línea con 5 voltios 57 00:03:43,639 --> 00:03:50,819 y una con GND que iría hasta la otra línea para alimentarlo con 0 voltios 58 00:03:50,819 --> 00:03:52,500 lo vamos a poner en negro para que lo distingamos 59 00:03:52,500 --> 00:03:55,960 ya tenemos el circuito cerrado hasta estas dos líneas 60 00:03:55,960 --> 00:03:59,560 ahora a continuación vamos a añadir el potenciómetro 61 00:03:59,560 --> 00:04:05,360 le vamos a poner aquí y alimentaremos su pata izquierda 62 00:04:05,360 --> 00:04:09,020 la alimentaremos con tierra o con masa 63 00:04:09,020 --> 00:04:11,080 como siempre hemos hecho 64 00:04:11,080 --> 00:04:16,079 y esta otra la alimentaríamos con 5 voltios 65 00:04:16,079 --> 00:04:17,860 que iría hasta aquí 66 00:04:17,860 --> 00:04:19,819 nos quedaría la pata central 67 00:04:19,819 --> 00:04:22,459 que la pata central lo que vamos a hacer es que 68 00:04:22,459 --> 00:04:26,000 tiene que ir hasta un pin analógico 69 00:04:26,000 --> 00:04:28,720 para que pueda leer el valor analógico 70 00:04:28,720 --> 00:04:30,439 que va aportando el potenciómetro 71 00:04:30,439 --> 00:04:33,560 según movemos la tuerca o la rosca 72 00:04:33,560 --> 00:04:49,240 Este le ponemos otro color para distinguirlo y ya tendríamos puesto el potenciómetro. A continuación vamos a traer un servo, le giramos para que esté más cómodo para las conexiones y bueno, os acordáis del servo. 73 00:04:49,240 --> 00:04:55,060 El servo tenía un pin de potencia que le vamos a llevar hasta la zona de alimentación. 74 00:04:55,459 --> 00:04:58,699 La zona de alimentación es la roja, que era esta. 75 00:04:59,699 --> 00:05:04,199 Le vamos a poner de color rojo para que veamos que está alimentado el servo. 76 00:05:04,620 --> 00:05:10,240 Y yo luego la tierra para que no sea tan... 77 00:05:11,800 --> 00:05:16,360 Voy a eliminarlo y para que sea más visual vamos a crear un puente aquí 78 00:05:16,360 --> 00:05:20,100 con alimentación 79 00:05:20,100 --> 00:05:22,779 alimentando esta otra línea de aquí arriba 80 00:05:22,779 --> 00:05:24,879 para que nos podamos utilizarla para el servo 81 00:05:24,879 --> 00:05:27,399 y por otro lado tenemos la de masa 82 00:05:27,399 --> 00:05:30,620 que la vamos a alimentar también aquí 83 00:05:30,620 --> 00:05:33,379 con esta la ponemos de color negro 84 00:05:33,379 --> 00:05:35,899 y ya tenemos estas dos líneas alimentadas desde aquí 85 00:05:35,899 --> 00:05:39,779 entonces ahora ya podemos llevar las dos líneas 86 00:05:39,779 --> 00:05:43,579 la de alimentación 87 00:05:43,579 --> 00:05:50,040 hasta el servo, acordaos que esta es la de alimentación, 88 00:05:50,220 --> 00:05:54,660 la roja, y la de tierra la llevamos también hasta la otra línea 89 00:05:54,660 --> 00:05:58,439 para alimentar el servo y darle los cero voltios. 90 00:05:58,579 --> 00:05:59,860 Y tenemos de color negro. 91 00:06:00,319 --> 00:06:02,420 Ya tenemos las dos líneas, lo único que nos quedaría 92 00:06:02,420 --> 00:06:06,759 es la de la señal, que iría a un pin digital, acordaos. 93 00:06:07,279 --> 00:06:09,360 Lo vamos a llevar hasta, por ejemplo, el pin 9, 94 00:06:10,100 --> 00:06:14,240 que era un pin digital, y le ponemos de otro color 95 00:06:14,240 --> 00:06:19,399 para distinguirlo, de color azul. Esto sería ya el circuito. Si le damos, vamos a ver si 96 00:06:19,399 --> 00:06:25,839 funciona o no, y movemos el potenciómetro y veis, me va dando el ángulo que yo deseo. 97 00:06:26,259 --> 00:06:32,920 Bien, vamos a pasar a explicar el código. El código es muy sencillito. Lo único que 98 00:06:32,920 --> 00:06:38,639 sí quiero explicar previo a esto es una función que vamos a utilizar. Bueno, realmente vamos 99 00:06:38,639 --> 00:06:44,259 Vamos a utilizar dos métodos. Uno sería el método AnalogRed, que está aquí, 100 00:06:45,259 --> 00:06:53,120 que lo que va a hacer es leer del potenciómetro qué potencial está saliendo 101 00:06:53,120 --> 00:06:58,920 desde 0 a 2023. Ya hemos visto que tenía esos dos valores de intervalo 102 00:06:58,920 --> 00:07:02,759 como mínimo y como máximo. Entonces queremos saber qué potencial 103 00:07:02,759 --> 00:07:06,439 está proporcionando el potenciómetro. Entonces para ello necesitamos 104 00:07:06,439 --> 00:07:08,660 que se ha leído por este pin analógico. 105 00:07:09,060 --> 00:07:11,019 Entonces, analogRed va a leer de ese pin. 106 00:07:11,139 --> 00:07:14,500 Este pin, por tanto, será un pin analógico de entrada, 107 00:07:14,500 --> 00:07:19,459 porque va a leer el potencial que sale del potenciómetro. 108 00:07:20,459 --> 00:07:22,920 Con respecto a la otra función, sería la función map, 109 00:07:23,139 --> 00:07:27,060 que es una función que permite convertir un valor a un ángulo. 110 00:07:27,360 --> 00:07:29,899 Veis aquí, tiene cinco parámetros. 111 00:07:30,639 --> 00:07:35,620 Primero tenemos el valor de la lectura del potenciómetro, 112 00:07:35,620 --> 00:07:40,939 el que nos va a dar analog red y luego tiene los dos siguientes parámetros 113 00:07:40,939 --> 00:07:46,139 son el intervalo de lectura del potenciómetro que hemos dicho que iba de 0 a 1023 114 00:07:46,139 --> 00:07:56,139 y luego por último la lectura de los ángulos del servo que va a ir de 0 a 180 grados 115 00:07:56,759 --> 00:07:58,819 y esa sería la función map 116 00:07:58,819 --> 00:08:16,199 Bien, voy a ponerlo, voy a hacer toda la secuencia desde cero para que veamos cómo funciona el programa. 117 00:08:17,060 --> 00:08:23,199 Recordar, por tanto, que AnalogRed es para leer un valor analógico a través de un pin analógico 118 00:08:23,199 --> 00:08:50,820 analógico y que map no es nada más que una función que va a traducir los valores, unos valores en otros, traduce los valores de 0 a 1023 del potenciómetro a 0 y 180 grados que es el ángulo del servo, si tiene un valor de 0 el potenciómetro tendrá un valor de 0 grados, si tiene un valor de 1023 el potenciómetro tendrá un valor de 180 grados, 119 00:08:50,820 --> 00:09:18,860 Los valores intermedios se corresponderán con los valores intermedios también de los ángulos y no hace mucho más. Imaginaos, si el valor del potenciómetro está a la mitad, nos da un valor entre 0 y 1023, la mitad sería aproximadamente 512, el valor del potenciómetro, que nos va a dar, si lo traduce a ángulos, que nos va a dar la mitad del ángulo, sería 90 grados y no hace mucho más. 120 00:09:18,860 --> 00:09:28,340 Bien, entonces vamos a ir poco a poco con el código. Lo voy a cortar y poniendo las líneas una a una. 121 00:09:28,919 --> 00:09:39,279 Entonces, lo primero que vamos a hacer, ¿qué es? Lo primero es, acordaos que necesitamos una librería, la librería de Servo para poder manejar sus métodos. 122 00:09:39,279 --> 00:09:47,240 Ya la tengo aquí añadida y a continuación lo único que voy a hacer es crear un objeto Servo. Entonces Servo y le llamamos MiServo. 123 00:09:47,240 --> 00:09:54,279 Bien, ya tenemos el objeto servo para poder utilizar los métodos de la librería servo. 124 00:09:54,279 --> 00:10:17,250 A continuación vamos a generar cuatro variables. Una primera variable entera que se llama pinPot y esta variable va a tener un valor que va a ser el valor del potenciómetro, del pin analógico que va a establecer la lectura. 125 00:10:17,250 --> 00:10:19,090 que sería el a cero 126 00:10:19,090 --> 00:10:22,190 a continuación tendríamos otro entero 127 00:10:22,190 --> 00:10:23,269 que sería pin servo 128 00:10:23,269 --> 00:10:25,889 y que el pin servo va a ser el nueve 129 00:10:25,889 --> 00:10:27,169 lo hemos visto anteriormente 130 00:10:27,169 --> 00:10:28,289 metemos el valor de nueve 131 00:10:28,289 --> 00:10:31,289 es el valor de lectura del propio servo 132 00:10:31,289 --> 00:10:33,649 una vez que tenemos estos 133 00:10:33,649 --> 00:10:37,769 a continuación tengo otra variable 134 00:10:37,769 --> 00:10:39,750 que sería valor pot 135 00:10:39,750 --> 00:10:42,250 y este valor le vamos a poner a cero 136 00:10:42,250 --> 00:10:43,230 luego veremos para qué es 137 00:10:43,230 --> 00:10:46,169 y a continuación in ángulo 138 00:10:46,169 --> 00:10:49,870 que será también un valor de 0 inicializado a 0 139 00:10:49,870 --> 00:10:55,529 estas serían las 5 variables globales que vamos a tener 140 00:10:55,529 --> 00:11:01,789 la de servo, la de pin pot que va a contener el pin analógico 141 00:11:01,789 --> 00:11:05,309 la de pin servo que va a contener el valor del pin digital 142 00:11:05,309 --> 00:11:09,649 y luego el valor pot será el valor que iríamos obteniendo 143 00:11:09,649 --> 00:11:13,929 desde el potenciómetro 144 00:11:13,929 --> 00:11:17,370 un valor que va a ser entre 0 y 1023 145 00:11:17,370 --> 00:11:20,169 mientras que ángulo va a reflejar el valor que vamos a tener 146 00:11:20,169 --> 00:11:22,169 entre 0 y 180 grados 147 00:11:22,169 --> 00:11:25,350 estos dos, si se produciera una conversión 148 00:11:25,350 --> 00:11:27,830 entre los valores de valor pot y de ángulo 149 00:11:27,830 --> 00:11:29,590 lo va a realizar la función MAP 150 00:11:29,590 --> 00:11:35,450 bien, pasamos a Void Setup 151 00:11:35,450 --> 00:11:40,220 como siempre 152 00:11:40,220 --> 00:11:42,419 y le ponemos sus 153 00:11:42,419 --> 00:11:44,039 creamos también el 154 00:11:44,039 --> 00:11:47,700 el método loop 155 00:11:47,700 --> 00:11:49,860 void loop 156 00:11:49,860 --> 00:11:51,759 que siempre tiene que estar aquí 157 00:11:51,759 --> 00:11:53,659 y ya tendríamos 158 00:11:53,659 --> 00:11:56,970 los dos métodos 159 00:11:56,970 --> 00:11:58,610 procedemos primero con el 160 00:11:58,610 --> 00:12:01,470 setup y lo único que vamos a hacer 161 00:12:01,470 --> 00:12:02,950 es acordaros 162 00:12:02,950 --> 00:12:03,830 perdón 163 00:12:03,830 --> 00:12:06,789 cuando tenemos un servo tenemos que asociar 164 00:12:06,789 --> 00:12:09,409 a que pin estaba unido ese servo 165 00:12:09,409 --> 00:12:11,090 hemos dicho que está al pin 9 166 00:12:11,090 --> 00:12:27,909 Y el pin 9 es la variable pin servo. Eso se hacía con la función attach. Servo.attach y le ponemos el valor del pin del servo, que es el pin servo. O lo que es lo mismo, el valor de 9. 167 00:12:27,909 --> 00:12:38,029 Y como queremos ver el resultado a través del monitor en serie, vamos a generar también el serial y le vamos a inicializar. 168 00:12:40,809 --> 00:12:45,509 Acordaros, 9600 baudios siempre se utilizaban para el serial. 169 00:12:47,250 --> 00:12:47,850 600. 170 00:12:49,129 --> 00:12:56,289 Vale, ya tenemos el voice setup, que no hemos añadido más que dos líneas de configuración, 171 00:12:56,289 --> 00:13:00,730 configuración tanto para el servo como para el monitoreo en serie a continuación tenemos que 172 00:13:00,730 --> 00:13:08,590 hacer lo primero que tenemos que hacer es leer el valor del potenciómetro lo que lo va a leer 173 00:13:08,590 --> 00:13:13,690 a través de este pin analógico entonces queremos saber en todo momento en el void loop que lo va 174 00:13:13,690 --> 00:13:19,850 repitiendo continuamente saber porque yo voy a poder mover la rosca ver qué valor de potencial 175 00:13:19,850 --> 00:13:25,450 me está confiriendo eso lo vamos a albergar donde en valor pot y se hacía a través de un método que 176 00:13:25,450 --> 00:13:31,269 lo hemos dicho le he dicho antes que era el analog red que es para leer el valor en un pin 177 00:13:31,269 --> 00:13:43,230 analógico aquí tendremos que poner el pin pot y el pin pot nos refleja que qué pin analógico va 178 00:13:43,230 --> 00:13:52,350 a leer el valor ese sería el acero que es el que hemos conectado al potenciómetro y a los red va a 179 00:13:52,350 --> 00:13:58,809 leer puesto que era un pin de entrada va a leer el valor que le está dando el potenciómetro en 180 00:13:58,809 --> 00:14:05,669 función de que giremos la ruedecita y que apliquemos mayor o menor resistencia una vez 181 00:14:05,669 --> 00:14:13,090 que tenemos el valor de lectura del potenciómetro introducido dentro de la variable valor pot a 182 00:14:13,090 --> 00:14:17,470 continuación lo que tenemos que hacer es el ángulo el ángulo que era otra variable que hemos definido 183 00:14:17,470 --> 00:14:22,230 arriba le vamos a poner la función map que es la que he dicho anteriormente porque porque esta 184 00:14:22,230 --> 00:14:30,649 función nos va a coger cinco parámetros primero coge el valor bot el valor que le ha dado la 185 00:14:30,649 --> 00:14:37,149 lectura del pin analógico a continuación le ponemos la escala que tiene el propio potenciómetro que 186 00:14:37,149 --> 00:14:45,070 hemos dicho que va de 0 a 1023 y después la escala o intervalo que tiene el servo que sería de 0 a 187 00:14:45,070 --> 00:14:54,870 180 grados esta función como digo anteriormente y que lo que hacía convierte 0 el 0 del potenciómetro 188 00:14:54,870 --> 00:15:01,309 lo convierte en un 0 grados y el 1023 en 160 grados los valores intermedios no serían nada 189 00:15:01,309 --> 00:15:09,169 más que calcularlos la mitad que hemos dicho que era 512 de si aporta un valor de 512 el 190 00:15:09,169 --> 00:15:13,970 potenciómetro tendríamos que sería la mitad de 180 que sería lo convertiría en 90 grados luego 191 00:15:13,970 --> 00:15:19,409 lo veremos a través del monitor en serie una vez que ya tenemos esto ahora tenemos que decirle al 192 00:15:19,409 --> 00:15:30,909 servo qué cuántos grados queremos que se mueva por tanto hay que poner mi servo y escribir great 193 00:15:31,870 --> 00:15:39,309 dicho valor en él y por ello tenemos que pasarle el valor del ángulo a esa función great ángulo 194 00:15:39,309 --> 00:15:58,029 Una vez que ya hemos hecho esto, ya estaría completo. Si nosotros le damos a ejecutar, funcionaría perfectamente. Bueno, aquí hemos escrito algo mal, mi servo que lo he puesto en minúsculas. Le damos de nuevo a ejecutar y no creo que haya ningún problema más. 195 00:15:58,029 --> 00:16:06,309 ¿Veis? En función del valor que yo le voy dando de potencial del potenciómetro, él va girando los grados que se correspondan. 196 00:16:07,029 --> 00:16:19,549 Para verlo vamos a crear aquí el monitor en serie y verlo in situ cómo va haciendo esas conversiones la función map desde los valores del potenciómetro a los valores de ángulo. 197 00:16:19,549 --> 00:16:36,909 Por ello utilizamos el serial y acordaos con la función print. La función print imprimía en el monitor en serie y vamos a poner aquí, por ejemplo, potenciómetro, dos puntos, esta cadena de texto. 198 00:16:36,909 --> 00:16:57,909 A continuación ponemos serial.print y le ponemos ahora lo que queremos que nos saca en el monitor es el valor que le está dando para que lo lea el pin analógico a cero el valor de potencial que le está confiriendo. 199 00:16:57,909 --> 00:17:06,089 Entonces acá va a poner ese valor, lo habíamos recogido en esta lectura y por tanto será valor pot, le ponemos que imprima valor pot. 200 00:17:10,009 --> 00:17:25,509 Posteriormente, ahora queremos que nos saque el valor del ángulo, entonces le ponemos un espacio ángulo servo con dos puntos, espacio y le dejamos y cerramos. 201 00:17:25,509 --> 00:17:29,490 y por último 202 00:17:29,490 --> 00:17:31,029 bueno aquí nos ha faltado el print 203 00:17:31,029 --> 00:17:35,410 y por último 204 00:17:35,410 --> 00:17:37,349 vamos a ponerle serial 205 00:17:37,349 --> 00:17:39,809 tendríamos que ponerle 206 00:17:39,809 --> 00:17:40,970 pero ahora no le pongo print 207 00:17:40,970 --> 00:17:43,329 solo sino print nl 208 00:17:43,329 --> 00:17:45,529 para que haga un retorno de carro y que nos vaya 209 00:17:45,529 --> 00:17:47,630 saliendo no solo en horizontal 210 00:17:47,630 --> 00:17:49,910 sino que cada uno de los valores en vertical 211 00:17:49,910 --> 00:17:51,750 esto lo he puesto mal 212 00:17:51,750 --> 00:17:57,289 y aquí tendríamos que indicarle 213 00:17:57,289 --> 00:17:59,210 que nos imprima en el monitor en serie 214 00:17:59,210 --> 00:18:00,069 pues el ángulo 215 00:18:00,069 --> 00:18:03,569 que ya vimos que estaba aquí 216 00:18:03,569 --> 00:18:04,730 lo hacía la función map 217 00:18:04,730 --> 00:18:05,730 convertía valores 218 00:18:05,730 --> 00:18:08,950 del potenciómetro 219 00:18:08,950 --> 00:18:11,130 en valores de ángulo 220 00:18:11,130 --> 00:18:12,869 y ya estaría completo 221 00:18:12,869 --> 00:18:15,269 si nosotros le damos a ejecutar 222 00:18:15,269 --> 00:18:18,869 algo he escrito mal 223 00:18:18,869 --> 00:18:20,529 serial.print 224 00:18:20,529 --> 00:18:22,470 potenciómetro perfecto, valor pot 225 00:18:22,470 --> 00:18:23,849 perfecto 226 00:18:23,849 --> 00:18:26,690 y serial.print 227 00:18:26,690 --> 00:18:28,250 ln 228 00:18:28,250 --> 00:18:31,250 vamos a ver que está mal 229 00:18:31,250 --> 00:18:32,829 hasta aquí estaba todo bien 230 00:18:32,829 --> 00:18:34,369 tiene que estar en estas cuatro líneas 231 00:18:34,369 --> 00:18:36,170 aquí le hemos puesto las comillas 232 00:18:36,170 --> 00:18:39,049 perfecto, aquí también sería el punto print 233 00:18:39,049 --> 00:18:40,390 sería el punto print 234 00:18:40,390 --> 00:18:42,190 ah, ln 235 00:18:42,190 --> 00:18:43,329 estaba mal escrito 236 00:18:43,329 --> 00:18:45,650 bien, le damos a ejecutar 237 00:18:45,650 --> 00:18:48,630 y si ahora ponemos el monitor en serie 238 00:18:48,630 --> 00:18:49,789 veis que me está diciendo 239 00:18:49,789 --> 00:18:53,250 cuando el potentiómetro como está en la rosca 240 00:18:53,250 --> 00:18:54,569 en el valor de cero 241 00:18:54,569 --> 00:18:56,650 no le está confiriendo ningún valor 242 00:18:56,650 --> 00:18:59,650 analógico a este pin analógico 243 00:18:59,650 --> 00:19:01,750 como me está dando un valor de 0 244 00:19:01,750 --> 00:19:04,009 la conversión que hace MAP es 0 grados 245 00:19:04,009 --> 00:19:06,049 si yo le subo 246 00:19:06,049 --> 00:19:08,069 vamos a subirle 247 00:19:08,069 --> 00:19:10,349 un poco a 184 grados 248 00:19:10,349 --> 00:19:12,130 él hace la regla de 3 249 00:19:12,130 --> 00:19:14,450 en el que el 184 250 00:19:14,450 --> 00:19:16,589 le correspondería un ángulo de 32 grados 251 00:19:16,589 --> 00:19:18,069 si yo lo pongo a 90 252 00:19:18,069 --> 00:19:20,230 acordaos que eran 511 253 00:19:20,230 --> 00:19:22,390 511 es lo que 254 00:19:22,390 --> 00:19:23,650 le está transfiriendo 255 00:19:23,650 --> 00:19:25,789 él calcula el ángulo 256 00:19:25,789 --> 00:19:31,970 que serían aproximadamente 90 grados y si yo le llevo al sal máximo que serían los 1023 recordad 257 00:19:31,970 --> 00:19:36,710 que los valores que puede proporcionar el potenciómetro sería entre 0 y 1023 serían 258 00:19:36,710 --> 00:19:47,349 los 180 grados y el servo se mueve 180 grados detenemos la simulación y por último comentó 259 00:19:47,349 --> 00:19:52,089 de nuevo las líneas para que nos quede aquí bastante claro la primera sería la importación 260 00:19:52,089 --> 00:20:20,740 Tendrá librerías, aquí tendríamos creamos un objeto servo, en estas dos líneas creamos dos variables enteras que serían tanto pinpot que va a alojar el pin analógico y pinservo que va a alojar el número del pin digital. 261 00:20:20,740 --> 00:20:49,220 Aquí creo otras dos variables, creamos dos variables enteras que van a albergar tanto el valor que le confiere el potenciómetro, que sería un valor entre 0 y 1023 y por otro lado tenemos el valor que estaría reflejado en ángulo que va a tener un valor entre 0 y 180 grados. 262 00:20:49,220 --> 00:21:08,559 Nos vamos al setup, aquí unimos al servo cuál es el pin que tiene, el pin sería el 9 y aquí comenzamos el monitor en serie. 263 00:21:08,559 --> 00:21:38,039 Con respecto al Void Loop, lo primero que hace es la lectura del pin analógico de entrada y en esa lectura alberga un valor entre 0 y 1023 que le va a dar el propio potenciómetro. 264 00:21:38,039 --> 00:22:00,440 Muy bien, después tenemos función map, función map que convierte un valor del potenciómetro en un ángulo. 265 00:22:00,440 --> 00:22:14,579 Un ejemplo de ello podría ser, vamos a poner aquí ejemplos, si fueran un valor de 0 le correspondería un valor de 0 grados. 266 00:22:15,299 --> 00:22:27,559 Si fuera un valor de 512 lo convertiría en un valor de 90 grados y así sucesivamente. 267 00:22:27,559 --> 00:22:30,880 por último escribimos el valor del ángulo en el servo 268 00:22:30,880 --> 00:22:32,460 para que lo mueva 269 00:22:32,460 --> 00:22:39,049 escribimos 270 00:22:39,049 --> 00:22:40,309 el 271 00:22:40,309 --> 00:22:43,150 valor del 272 00:22:43,150 --> 00:22:44,809 ángulo 273 00:22:44,809 --> 00:22:47,029 en el servo 274 00:22:47,029 --> 00:22:49,009 para 275 00:22:49,009 --> 00:22:50,609 que lo mueva 276 00:22:50,609 --> 00:22:53,710 y ya nos 277 00:22:53,710 --> 00:22:55,829 quedaría nada más que las líneas del serial 278 00:22:55,829 --> 00:22:57,890 que no las voy a comentar 279 00:22:57,890 --> 00:23:00,049 que lo único que hace es dibujar 280 00:23:00,049 --> 00:23:01,390 o sea, escribir 281 00:23:01,390 --> 00:23:05,329 en el monitor en serie, primero potenciómetro, 282 00:23:05,630 --> 00:23:08,329 luego el valor que le está confiriendo el potenciómetro, 283 00:23:08,849 --> 00:23:12,750 luego ángulo servo y luego el ángulo que ha convertido la función MAP.