1 00:00:01,260 --> 00:00:09,580 Hola, en este vídeo os voy a explicar en qué consiste la siguiente tarea de programación 2 00:00:09,580 --> 00:00:15,779 de vuestro generador de funciones. En este caso vamos a programar el pulsador del encoder 3 00:00:15,779 --> 00:00:22,359 rotativo. En la anterior tarea conseguisteis hacer la programación giratoria del encoder, 4 00:00:22,519 --> 00:00:27,239 es decir, que cuando yo el encoder rotativo lo giraba hacia la derecha aumentaba la frecuencia 5 00:00:27,239 --> 00:00:30,600 y cuando lo giraba hacia la izquierda disminuía la frecuencia. 6 00:00:31,199 --> 00:00:35,759 Ese incremento y disminución de frecuencia se produce o se realiza de hercio en hercio, 7 00:00:36,500 --> 00:00:37,700 con una resolución de un hercio. 8 00:00:38,299 --> 00:00:42,880 Esa resolución, cuando queremos un ajuste de precisión, es muy interesante, 9 00:00:43,380 --> 00:00:46,159 pero cuando queremos hacer una variación de la frecuencia muy grande, 10 00:00:46,159 --> 00:00:50,479 por ejemplo, queremos saltar desde 1000 hercios a 20.000 hercios, 11 00:00:50,479 --> 00:01:04,640 pues nos puede resultar ciertamente engorrosa, puesto que tendríamos que girar, hacer 20.000 saltos o 19.000 saltos para conseguir llegar a los 20 kHz. 12 00:01:05,060 --> 00:01:06,560 Y eso, como os digo, nos interesa. 13 00:01:07,319 --> 00:01:11,000 Para evitar eso, vamos a utilizar el pulsador del encoder rotativo. 14 00:01:11,000 --> 00:01:20,840 El pulsador del encoder lo vamos a conectar a la pata DATA8 de nuestra Arduino Nano a través de una resistencia de pull-up de 10K. 15 00:01:21,400 --> 00:01:24,219 El funcionamiento básico va a ser el siguiente. 16 00:01:24,900 --> 00:01:31,980 Cuando nosotros encendamos el generador, por defecto, el incremento de la frecuencia se va a producir de hercio en hercio. 17 00:01:32,680 --> 00:01:39,200 Pero si yo acciono este pulsador, el pulsador de salto, lo que va a ocurrir es que cuando yo gire a la derecha o a la izquierda, 18 00:01:39,579 --> 00:01:43,359 el incremento y disminución de la frecuencia se va a ir haciendo en 10 Hz. 19 00:01:43,739 --> 00:01:50,480 Si vuelvo a pulsar el pulsador de salto, el incremento al girar será de 100 en 100 Hz. 20 00:01:50,859 --> 00:01:53,459 Si vuelvo a pulsar, será de 1000 en 1000 Hz. 21 00:01:53,959 --> 00:01:56,659 Si vuelvo a pulsar, será de 10.000 en 10.000 Hz. 22 00:01:57,120 --> 00:01:59,739 Y si vuelvo a pulsar, volverá a ser de 1 en 1. 23 00:01:59,739 --> 00:02:10,400 De esta manera podemos hacer, como os digo, ajustes de gran calado con un número mínimo de saltos. 24 00:02:11,139 --> 00:02:19,719 La mejor forma de que lo veáis es hacer una prueba. Yo aquí lo tengo programado y voy a darle a la simulación para que lo veamos. 25 00:02:21,219 --> 00:02:23,780 Ahora mismo el encoder rotativo está detenido. 26 00:02:24,460 --> 00:02:29,039 Vemos, esto ya lo hicisteis también, esto fue la primera tarea de programación que os pedí. 27 00:02:29,039 --> 00:02:41,199 Aquí vemos el pulsador de forma de onda, elegimos la forma de onda, triangular, cuadrada, senoidal, correctamente nos señaliza aquí con un 1 y un 0 para la etapa de control de ganancia. 28 00:02:42,240 --> 00:02:45,099 Bueno, y ahora, para que entendáis lo que os digo, voy a ponerlo en marcha. 29 00:02:45,199 --> 00:02:54,400 Mirad, vamos a poner el encoder rotativo en marcha y ahora vemos que estoy girando hacia la derecha, ¿veis? Ahora mismo estamos incrementando de 1 en 1. 30 00:02:54,400 --> 00:03:02,479 Si yo ahora acciono el pulsador de salto, ya veremos que el salto se va a producir de 10 en 10 hercios 31 00:03:02,479 --> 00:03:05,800 ¿Veis? Ahora estaría saltando de 10 en 10 32 00:03:05,800 --> 00:03:10,280 Si vuelvo a pulsar, saltaría de 100 en 100 33 00:03:10,280 --> 00:03:16,240 Si vuelvo a pulsar, saltaría de 1000 en 1000 34 00:03:17,500 --> 00:03:22,219 Si vuelvo a pulsar, saltaría de 10 en 10.000 35 00:03:22,219 --> 00:03:26,400 Y si vuelvo a pulsar, volveríamos otra vez a saltar de 1 en 1. 36 00:03:27,240 --> 00:03:40,620 Si yo ahora invierto el sentido de giro del encoder, es decir, giro hacia la izquierda, el funcionamiento va a ser el mismo, pero disminuyendo la frecuencia. 37 00:03:40,759 --> 00:03:55,439 ¿Veis? Ahora mismo disminuiría de 1 en 1, de 10 en 10, de 100 en 100, de 1000 en 1000 y de 10.000 en 10.000. 38 00:03:56,699 --> 00:04:05,020 Fijaros en una cuestión. Cuando llega a un valor que supone una frecuencia negativa, la frecuencia se mantiene. 39 00:04:05,020 --> 00:04:11,080 Es decir, tenemos que mantener los límites de la frecuencia con que vamos a trabajar, que va a ser entre 0 Hz y 10 kHz. 40 00:04:12,000 --> 00:04:17,899 Si ahora mismo el movimiento lo programo hacia arriba, ya veréis que va a ocurrir lo mismo. 41 00:04:17,899 --> 00:04:23,000 cuando llegue a 94.000 42 00:04:23,000 --> 00:04:26,600 en este caso 285, no va a seguir incrementando 43 00:04:26,600 --> 00:04:29,680 y entonces la frecuencia se pararía, nos asignaría esa frecuencia 44 00:04:29,680 --> 00:04:34,740 Bueno, pues esta es la siguiente tarea, por lo tanto, ¿qué vais a tener que hacer? 45 00:04:35,240 --> 00:04:39,319 A diferencia de lo que ocurre con la parte giratoria 46 00:04:39,319 --> 00:04:43,379 el botón de salto no hace falta programarlo con una interrupción 47 00:04:43,379 --> 00:04:46,040 Bueno, pues esto es todo