Publicado el Deja un comentario

41. Salidas analógicas

Tenemos 6 salidas analógicas en Arduino UNO

Numeradas con la señal PWM o virgulilla ~, tenemos algunos pines digitales que tienen la funcionalidad añadida de comportarse como salidas analógicas (realmente pseudoanalógicas) porque incorporan internamente un conversor digital-analógico, estos pines en Arduino UNO son:

3, 5, 6, 9, 10 y 11

En estos pines podremos utilizar la función analogWrite() para indicar que queremos sacar por uno de esos pines una señal con valores entre 0 y 5 V, lo que significa que con una resolución de salida de 8 bits podemos sacar 2 elevado a 8 (255) valores diferentes escalonados entre 0 y 5 V.

Entonces podemos utilizar una variable entera (int) para almacenar este valor, y adelantando un poco de lenguaje Wiring, podemos también utilizar un valor de tipo binario (ceros y unos precedidos de la letra B) que podría tomar estos valores: B00000000, B00000001, B00000010, B00000011, B00000100,… B11111111 que se corresponderían a los valores enteros: 0, 1, 2, 3, 4,…,255.

Una curiosidad, antes de utilizar la función analogWrite() no es necesario declarar los pines PWM que vamos a utilizar con la función pinMode().

Ejercicio de escritura analógica

Analiza la imagen del circuito de la diapositiva e impleméntalo, necesitarás poco material:

  • 1 potenciómetro
  • 1 led
  • 1 resistencia 220-330 ohm
  • 3 cables M-M

Ahora crea el sketch, llámalo «Salidas-analogicas.ino» y responde a estas preguntas:

  • ¿Por qué dividimos por 4 en la línea 13 del código?
  • ¿Es correcto usar el pin 13?
  • ¿Puedes hacer una segunda versión de este sketch que utilice la función map()? (llámalo «Salidas-analogicas2.ino«)

¡Deja un comentario! Todas las críticas son bienvenidas.