_______________________________________________________________________
/*
ATDT MAGAZINE ::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::[0x03-08]:
NUMERO 0x03:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
"introducción a Arduino - parte 3" por lmtreser
*/
En el artículo anterior les hable un poco sobre entradas analógicas y
digitales. Hoy es el turno de trabajar con salidas analógicas.
=====> SALIDAS ANALÓGICAS
La placa Arduino UNO no tiene un periférico de hardware capaz de
convertir una señal digital a analógica (DAC, Digital to Analogue
Converter) por lo que se vale de señales PWM (Modulación por Ancho de
Pulso) para "simular" valores analógicos. Las patitas que tienen la
capacidad de generar señales PWM son las que se encuentran en la bornera
Digital y tienen el símbolo ~ al lado del número identificatorio: 3, 5,
6, 9, 10 y 11.
Vagamente podriamos pensar a una señal PWM como una onda cuadrada de una
frecuencia fija, con una amplitud entre 0 y 5V a la que podemos cambiarle
el ancho (o tiempo) del estado encendido (1) y del estado apagado (0) a
voluntad.
5V ____ ________ __
| | OFF | |OFF | | OFF
____| ON |_____//___| ON |__//__|ON|________
0V // //
Para generar y manipular este tipo de señales, Arduino cuenta con una
función llamada analogWrite, la cual se escribe de la siguiente manera:
analogWrite(pin, valor)
Los paramétros que acepta son: número de pin a utilizar como salida y el
valor a escribir que va desde 0 (apagado) hasta 255 (encendido), es decir
que tiene una resolución de 8 bits. Como podrán imaginar con este tipo de
salida podemos controlar el brillo de un LED o la velocidad de giro de un
pequeño motor.
=====> CONTROLAR UN LED
Vamos a controlar el brillo de un LED mediante el uso de un contador por
software para obtener un efecto luminíco ascendente. La variable llamada
"contador" se incrementará en uno cada 500 milisegundos, acto seguido se
escribirá su contenido en el pin donde tenemos conectado el LED.
Las conexiones que tenemos que hacer son las siguientes:
El firmware que tendremos que escribir en el IDE de Arduino y luego subir
a la placa es el siguiente:
*************************************************************************
* *
* /* CONTROL DE UN LED MEDIANTE PWM *
* APRENDIENDO ARDUINO EN TEXTO PLANO *
* */ *
* *
* const int LED = 3; // pin donde conectaremos el LED *
* int contador = 0; // declaración de una variable *
* *
* void setup() { *
* pinMode(LED, OUTPUT); *
* } *
* *
* void loop() { *
* contador = contador + 1; // incrementamos el contador *
* analogWrite(LED, contador); // escribimos un valor en el LED *
* delay(500); *
* } *
* *
*************************************************************************
El programa tiene algunas fallas operativas que las solucionaremos en el
próximo artículo.
¡Hasta la próxima!