Skip to main content
Los ejemplos analógicos muestran cómo usar señales PWM (modulación por ancho de pulso) para controlar la intensidad de dispositivos como LEDs. A diferencia de la salida digital (solo encendido/apagado), salidaAnalogica() permite valores intermedios entre 0 y 255.

Barrido LED

Aumenta y disminuye progresivamente la intensidad de un LED conectado a un pin PWM, creando un efecto de respiración (fade) continuo.
Conecta un LED al pin PWM 9 con una resistencia de 220 ohms en serie. El ánodo del LED (pata más larga) va al pin 9 a través de la resistencia, y el cátodo (pata más corta) a GND.
Los pines PWM en Arduino Uno son: 3, 5, 6, 9, 10 y 11. Están marcados con el símbolo ~ en la placa. El pin 9 usado en este ejemplo es uno de ellos.
BarridoLED.ino

Diagrama de conexión

1

Pin 9 → resistencia 220 Ω → ánodo del LED

El pin 9 se conecta a la pata positiva del LED a través de una resistencia de 220 ohms. La resistencia protege el LED limitando la corriente.
2

Cátodo del LED → GND

La pata negativa (más corta) del LED se conecta a cualquier pin GND de la placa.

Explicación línea por línea

1

entero valor = 0

Declara una variable entera llamada valor con valor inicial 0. Esta variable controla la intensidad luminosa del LED (rango: 0 a 255).
2

inicio / fin (vacíos)

El bloque inicio no contiene código porque salidaAnalogica() no requiere configuración previa del pin con configurarSalida(). Arduino configura automáticamente los pines PWM al usar analogWrite().
3

repetir(valor, valor <= 255, valor += 5)

Equivale a for (valor; valor <= 255; valor += 5). Incrementa valor de 0 a 255 en pasos de 5, aumentando el brillo gradualmente.
4

salidaAnalogica(9, valor)

Equivale a analogWrite(9, valor). Genera una señal PWM en el pin 9 con ciclo de trabajo proporcional a valor. Con valor = 0 el LED está apagado; con valor = 255 está al máximo brillo.
5

esperar(30, MILISEGUNDOS)

Pausa de 30 ms entre cada paso. A mayor pausa, más lenta es la transición de brillo. Con pasos de 5 y 30 ms, el ciclo completo (0 → 255 → 0) dura aproximadamente 3 segundos.
6

repetir(valor, valor >= 0, valor -= 5)

Segundo bucle que recorre los valores en sentido inverso (255 → 0), disminuyendo el brillo gradualmente hasta apagar el LED.

Equivalencia con Arduino estándar

BarridoLED.ino

Lectura analógica

Además de escribir valores analógicos, Cod-ES permite leer sensores analógicos usando leerPin() con el modo ANALOGICO. El valor devuelto es un entero entre 0 y 1023 (resolución de 10 bits).
LecturaAnalogica.ino
La conversión lectura / 4 mapea el rango de leerPin() (0–1023) al rango de salidaAnalogica() (0–255), ya que 1023 / 4 ≈ 255.

Referencia rápida de palabras clave usadas