Paso 12: Contraluz del LCD control de PWM LED
analogWrite (LCD_BACKLIGHT, eeprom.lcd_backlight);
"LCD_BACKLIGHT" es la clavija de conexión para el LED y el "eeprom.lcd_backlight" es el valor de 0-255.
Presionando hacia arriba y hacia abajo (con la horizontal del reloj, lo normal) la luz de fondo aumenta y disminuye. Al principio la cantidad fue lineal pero quería más fina en el extremo inferior más grande ajuste y en el extremo más alto así que me cambié a un sistema más logarítmico. Qué es el doble del valor cuando pulse la tecla y reducir a la mitad el valor al pulsar abajo. Bastante simple. Yo nunca deja pasar por encima de 128 para evitar que el LED de tostado.
La rutina analogWrite() utiliza modulación de anchura de pulso que requiere un contador de tiempo. Desde que estoy usando un contador de tiempo para una rutina de interrupción, otro para el zumbador y el Arduino utiliza todavía otro para su rutina de millis() tuve que tener cuidado sobre que salida analógica (PWM) utiliza. Utilicé la técnica de alta tecnología de tratar uno de los pines y cuando eso no funciona he probado otro que funcionaba. Terminé usando el pin 6 que es el temporizador 0 A.