1 En este ejemplo se combinan los dos ejemplos anteriores `tdse-tp4_02-pwm` y 2 `tdse-tp4_01-adc` de manera tal de regular el ciclo activo de la señal PWM a 3 traves de la lectura de la posicion del potenciometro. 4 5 Para que la lectura del ADC sea mas estable, y precisa, se realizan varias 6 mediciones en lugar de una y luego se hace un promedio de todas las muestras. 7 Se tiene en cuenta el tiempo de ejecucion de la tarea, ya que aumenta 8 drasticamente debido a esto, de todas formas la cantidad de muestras tomadas es 9 tal que el tiempo de ejecucion de la tarea que controla el ADC no supera el 10 milisegundo. 11 12 Para la generacion de la señal PWM se normaliza el valor del ADC leido al 13 intervalo entre 0 y 1, para esto es necesario utilizar numeros de punto 14 flotante, en este caso el microcontrolador utilizado no dispone de un periferica 15 para este motivo, por lo que la aritmetica de este tipo se hace por software. 16 Existen metodos para mapear un intervalo a otro sin utilizar aritmetica de punto 17 flotante, pero en este caso se utilizo de todas formas ya que no impacto 18 significativamente en el tiempo de ejecucion de la tarea que controla el PWM. 19 20 Debido a que se controla un LED con la señal PWM generada, se optó por mapear el 21 valor ADC leido al ciclo de trabajo de manera exponencial, esto porque la 22 intensidad del LED responde de esta manera al ciclo de trabajo. La función 23 utilizada para mapear el valor leido al ciclo de trabajo de la señal se puede 24 ver en la figura del archivo `duty_cycle_vs_adc_value.png`.
