jueves, 26 de febrero de 2015

Laboratorio #1

Laboratorio de práctica #1

Descripción

En el siguiente laboratorio procederemos a controlar 8 diodos LEDS desde el Arduino. El encendido del LED se moverá de izquierda a derecha y viceversa.

Materiales

  • Computador con su debido software de Arduino instalado.
  • Tarjeta Arduino con su respectivo cable usb.
  • Protoboard.
  • Diodo LED. 
  • Resistencia de 220
  • Potenciometro.
  • Cables.







Diagrama de Montaje



Diagrama Esquemático




Diagrama PCB







Proceso de Montaje

En una protoboard de cualquier tamaño, procedemos a ensamblar nuestros componentes. Conectamos 8 diodos LEDS de manera que el ánodo quede libre para conectarlo al pin digital del Arduino; el cátodo del diodo va conectado a una resistencia limitadora como se observa en la siguiente figura:








Una vez montados los diodos LEDS, procedemos a conectar una resistencia en serie a cada diodo para que este tenga una protección frente a voltajes indeseados. En la siguiente imagen se podrá observar el paso mencionado





Ya cuando nuestros diodos LEDS están conectados a su respectiva resistencia, procedemos a conectar el ánodo de cada LED a la entrada digital del Arduino. La entrada escogida es de libre elección, pero se debe tener en cuenta a la hora de la programación. Para nuestro laboratorio, usamos el pin 2 hasta el pin 9 de la señal digital del Arduino.





Como ya tenemos toda la parte electrónica ejecutada en la protoboard, el siguiente paso es la programación de nuestro Arduino. Para este caso, vamos a tener tres tipos de escritura de códigos. Finalmente, el usuario elige que tipo de programación quiere utilizar para que su Arduino cumpla la función deseada. Cabe recordar que los tres tipos de escritura de códigos funciona, su única diferencia es la extensión de estos.


Código

Esta primera versión es sencilla de entender, tenemos 8 LEDS cada uno conectado a un pin digital del Arduino. Comenzamos configurando cada uno de los pines como salida (OUTPUT), y luego se utiliza digitalWrite()para prender y apagar cada LED en la forma que se necesita.




Como podemos observar, el código anteriormente escrito es demasiado largo. Este se puede reducir por medio de un ciclo llamado en programación como (for). A continuación se muestra como se puede reducir dicha escritura.

Mucho mejor ¿Cierto? El código se redujo de manera considerable pero esto no es todo. Sí accidentalmente conectamos los diodos LEDS a pines diferentes al de nuestra programación, podríamos hacer que estos funcionen normalmente y además de eso, podríamos darle la velocidad de encendido y apagado.

Podemos poner los pines en un arreglo, del tal manera que si se conectan de otra forma, sólo hay que cambiar los valores del arreglo.


Una vez programado el Arduino, procedemos a compilar el código y enviarlo. A continuación algunas fotos y vídeos del Arduino funcionando de una manera estándar y a velocidad normal.


Paulatinamente iremos incrementando la velocidad de encendido y apagado de nuestros diodos LED.









Como se puede observar en los diferentes vídeos, la velocidad de los LEDS se la damos en el proceso de programación. También es cierto que a cierto tipo de frecuencia el ojo humano ya no es capaz de distinguir entre encendido y apago pero internamente el diodo está trabajando según como le hayamos dado ordenes.



Acá concluye nuestro laboratorio #1 sobre el manejo de diodos LED. Esperamos compartir más experiencias y poder elevar más el grado de dificultad de nuestros laboratorios. Muchas gracias por la atención y cualquier duda, pregunta, reclamo o sugerencia es recibida con respeto. ¡Gracias!



miércoles, 25 de febrero de 2015

Laboratorio de práctica #0

Laboratorio de práctica #0

Descripción 


Este laboratorio se hace con la intención de conocer los elementos de hardware y software a utilizar durante el semestre. Conocer la plataforma, el lenguaje de programación y los distintos elementos necesarios a lo largo de los laboratorios.

Para este primer laboratorio conectaremos un LED a un pin digital del Arduino para que este controle el tiempo de encendido y apagado usando un potenciometro. 

Materiales


  • Computador con su debido software de Arduino instalado.
  • Tarjeta Arduino con su respectivo cable usb.
  • Protoboard.
  • Diodo LED. 
  • Resistencia de 220
  • Potenciometro.
  • Cables.


Diagrama de montaje

Diagrama Esquemático

Diagrama PCB




Proceso del Montaje


En una protoboard de cualquier tamaño, conectamos una resistencia en serie con un diodo, dicha resistencia para nuestro caso es de 220Ω y protegerá al diodo de voltajes indeseados. Debemos tener en cuenta que el negativo del diodo va conectado a la resistencia y allí, ambos van conectados a la tierra de nuestra protoboard como se muestra en la siguiente figura:







Seguidamente, procedemos a conectar el potenciometro y unimos con cableado a la entrada de 5v del Arduino. Del pin del medio del potenciometro conectamos a la entrada analogica A2 del Arduino (usted podrá utilizar otra entrada pero debe tenerla en cuenta en la escritura del código). Y por último, conectamos el pin restante a la tierra. 






Ya una vez ensamblado nuestro circuito, procedemos a escribir el código que hará que nuestro diodo funcione.

Código

  1. /** Laboratorio #0 **
  2.  * Universidad Santiago de Cali
  3.  * Programacion de sistemas embebidos
  4.  * Laboratorio 0: Control de un LED con Potenciómetro
  5.  * Autor: Juan Mateo Cardona Aguirre
  6.  * Ingeniería Electrónica séptimo semestre
  7.  * Descripción:
  8.  *   Controla el tiempo de Encendido/Apagado de un LED usando un Potenciómetro
  9.  * Conexiones:
  10.  *   1 LED conectado al pin digital 5 (con su resistencia)
  11.  *   1 Potenciómetro conectado al pin análogo A2
  12. /********** Constantes **********/
  13. //no hay
  14. /********** Objetos **********/
  15. // no hay
  16. /********** Variables **********/
  17. // no hay
  18. /********** Configuración **********/
  19. *///
  20. void setup() {
  21.   //
  22.   pinMode (A2, INPUT);
  23.   pinMode (5, OUTPUT);
  24. }
  25. void loop() {
  26.   int valor = analogRead (A2);
  27.   digitalWrite (5, HIGH);
  28.   delay (valor);
  29.   digitalWrite(5, LOW);
  30.   delay (valor);
  31. }

Con el código escrito y todos los componentes montados, procedemos a demostrar nuestro laboratorio.








Así, damos por concluido el laboratorio de prueba. Cualquier corrección, duda, comentario u opinión es bien recibida con respeto. ¡Muchas gracias!