Академический Документы
Профессиональный Документы
Культура Документы
1. Un LED.
2. Una tarjeta Arduino Uno-R3 o Arduino Mega 2560, dependiendo de cul te toque
dentro del desarrollo de la prctica.
3. Un cable USB impresora.
4. Un computador.
5. Cables para el montaje del circuito.
6. Tarjeta Protoboard.
7. Una Resistencia Elctrica de 220 ohm.
Antes de comenzar con el desarrollo del programa, es necesario conocer que son las
seales de modulacin de ancho de pulsos (Pulse Width Modulation PWM).
A menudo se necesita algo ms que una seal de 0 o 1, por ejemplo: para variar la
velocidad de giro de un motor, para variar la intensidad de emisin un LED, o para
transmitir los grados de giro de un servo, entre otros ejemplos.
Para todo esto nos servir el PWM, que emula una seal analgica a partir de una seal
digital.
Las siglas PWM vienen de Pulse Width Modulation, o Modulacin de Ancho de Pulso. Lo
que hace este tipo de seal es emitir, en lugar de una seal continua de salida, una serie
de pulsos que se pueden variar en su duracin, pero con una frecuencia constante. As la
tensin promedio resultante es directamente proporcional a la duracin de los pulsos
dentro del rango del periodo indicado, es decir, cuanto ms juntos estn esos pulsos de
+5v, mayor ser la tensin promedio de nuestra salida, y cuanto ms distantes sean
estos, menor ser dicha tensin, podemos observarlo en la Figura 3:
1
Figura 1 Cambio de tensin dependiendo de la duracin de funcionamiento del LED
2
Se observa en la Figura 2 que se est utilizando el Arduino Uno-R3, al igual si se utiliza la
tarjeta Arduino Mega 2560 es el mismo procedimiento. El Protoboard nos ayuda a insertar
el LED e instalar el circuito a travs de cables, al igual que la resistencia elctrica. El pin 9
se conecta directamente al Protoboard, como se muestra una de las funciones que tiene
tablero, es que sus orificios al estar conectados por un cable estn todos conectados
entre s. La seal proveniente del pin 9 va conectada con el positivo del LED, la parte
negativa o ctodo va conectada a una resistencia que a su vez se conecta de nuevo a la
tarjeta Arduino hacia tierra (GND).
Luego que se tiene armado el circuito en el programa Fritzing, se puede iniciar con el
desarrollo del programa en el IDE de Arduino.
-Se selecciona el Puerto Serial. Bajo que puerto USB se va a conectar el Arduino con el
computador.
Se realiza el cdigo:
3
terminar su cumplimiento (}). Internamente del corchete se escriben las
instrucciones que ejecuta Arduino continuamente. Como se debe cambiar la
intensidad del LED es necesario utilizar un contador que vaya desde cero (0) hasta
255, la cual se declar anteriormente del contador i=0. La estructura que permite
contar es for (i=0; i<255; i++), que significa que para i=0 hasta i<255, el i++ es el
contador que ira de 1 en 1 hasta llegar a su valor final que en es este caso es 225.
Luego para saber que va dentro del lazo for se abre corchete en la misma estructura
y se declara el comando analogWrite (), este a su vez necesita como argumento la
variable y el tipo de seal de la misma, es decir analogWrite(LED, i); en la que i es
el valor de intensidad que cambiara el LED desde cero (0) la cual variara hasta 255,
lo que indica que la seal saldr del pin 9. Para observar la diferencia de intensidad
se establecer un delay de 10 milisegundos, es necesario realizar este delay ya que
de no colocarlo no notar que el LED cambia de intensidad. Luego de llevar al LED
al valor ms alto (255) se baja la intensidad del mismo con el comando for, pero en
vez de utilizar un contador para incrementar la intensidad, se utilizara para disminuir
la seal desde 255 hasta llegar a cero, es decir, for(i=255; i>0; i). Igualmente se
abre corchete en la misma estructura for y se declara el comando analogWrite (),
este a su vez necesita como argumento la variable y el tipo de seal de la misma,
es decir analogWrite(LED, i). Para observar la diferencia de intensidad se establece
un delay de 10 milisegundos.
Al terminar el desarrollo del programa se debe compilar para verificar si existen
errores dentro del codificado. Luego si no existen errores se debe cargar el cdigo
en la tarjeta Arduino para que pueda ser ejecutado.
NOTA: Para que el IDE de Arduino pueda entender los comandos es necesario que al
final de cada instruccin se coloque punto y coma (;).
int i;
void setup(){
pinMode(LED,OUTPUT);
void loop() {
4
for (i=1;i<255; i++){
analogWrite(LED,i);
delay(5);
analogWrite(LED,i); }
delay(5);
3.5 Conclusiones:
Los comandos que se utilizan para realizar la prctica permiti emular una seal analgica
a partir de una digital. El rango de salida de una seal analgica varia de 0 a 255, siendo 0
= 0v y 255 = 5v, por lo que para obtener un voltage dentro del rango se puede realizar
introduciendo un valor determinado para la tensin de salida que se requiera, si quisiramos
conseguir 2,5v el valor a asignar sera 127. As que lo nico que se debe hacer es
transformar mediante una simple operacin matemtica la seal tomada para adaptarla a
la seal de salida PWM.