miércoles, 16 de marzo de 2016

LABORATORIO #2


Descripción


En este laboratorio vamos a leer datos de 2 potenciómetros. Estos datos los usaremos como tiempo de encendido y el tiempo de apagado para una secuencia de 8 LEDs, que se moverá de izquierda a derecha, y viceversa.


Materiales 

  • Computador (con el IDE de Arduino, y el driver adecuado instalados)
  • Tarjeta Arduino (cualquier modelo, debe corresponder al driver instalado)
  • Cable USB (según el conector de la tarjeta Arduino)
  • Protoboard
  • 8 LEDs + Resistencias 220Ω
  • 2 Potenciómetro 10KΩ
  • Cables macho-macho

DIAGRAMAS

PROTOBOARD


ESQUEMA

PCB



FOTOS MATERIALES Y MONTAJE

















CÓDIGO

DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
  1. /********** Proyecto **********
  2.  * Laboratorio 02: 8 LEDs en linea controlados con Potenciometros
  3.  * Autor: Kevin Quintero Ramirez
  4.  * Descripcion:
  5.  *   Mover un LED encendido de Izquierda a Derecha y viceversa
  6.  *   con tiempos controlados por potenciometros
  7.  * Conexiones:
  8.  *   8 LEDs + resistencias a los pines D2 .. D9
  9.  *   2 Potenciometros a los pines A0 y A1
  10.  * Version: 1
  11.  */
  12. /********** Librerias **********/
  13. // ninguna
  14. /********** Constantes **********/
  15. #define POT1    A0
  16. #define POT2    A1
  17. #define TOTLED   8 // Total LEDs
  18. /********** Objetos **********/
  19. // ninguno
  20. /********** Variables **********/
  21. int led[TOTLED] = {
  22.   2, 3, 4, 5, 6, 7, 8, 9};
  23. /********** Configuracion **********/
  24. void setup() {
  25.   int pos=0;
  26.   while (pos < TOTLED){
  27.     pinMode(led[pos], OUTPUT);
  28.     pos=pos+1;
  29.   }
  30.   pinMode(POT1, INPUT);
  31.   pinMode(POT2, INPUT);
  32. } // end setup()
  33. /********** Ciclo Principal **********/
  34. void loop() {
  35.   // Sensores
  36.   int t_encendido = analogRead(POT1);
  37.   int t_apagado = analogRead(POT2);
  38.   // Acciones
  39.   for (int pos = 0; pos < TOTLED; pos++) {
  40.     on(led[pos], t_encendido);  
  41.     off(led[pos], t_apagado);  
  42.   }
  43.   for (int pos = TOTLED-2; pos > 0; pos--) {
  44.     on(led[pos], t_encendido);  
  45.     off(led[pos], t_apagado);  
  46.   }
  47. } // end loop()
  48. /********** Funciones **********/
  49. // Pone en +5V el pin indicado, durante tantos milisegundos
  50. void on(int pin, int ms){
  51.   digitalWrite(pin, HIGH);  
  52.   delay(ms);  
  53. } // end on()
  54. // Pone en GND el pin indicado, durante tantos milisegundos
  55. void off(int pin, int ms){
  56.   digitalWrite(pin, LOW);  
  57.   delay(ms);  
  58. } // end off()
  59. /********** Fin ***********/






jueves, 10 de marzo de 2016

LABORATORIO #1









DESCRIPCIÓN

Se entrega 8 LEDs desde el ardubino, mover 1 LED encendido de izquierda a derecha.

MATERIALES DEL LABORATORIO 

  1. Protoboard
  1. 8 LEDs 
  1. 8 Resistes de 330 ohmios 
  1. Arduino UNO 
  1. cable  UTP   
DIAGRAMAS 

PROTOBOARD

ESQUEMA


PCB


FOTOS MATERIALES Y MONTAJE













CÓDIGO

  1. /********** Proyecto **********
  2. * Universidad Santiago de Cali
  3. *
  4. * Laboratorio 01: 8 LEDs en linea
  5. * Autor: Kevin Quintero Ramirez
  6. * Descripcion:
  7. *     Mover un LED encendido de Izquierda a Derecha y viceversa
  8. * Conexiones:
  9. *     8 LEDs + resistencias a los pines D2 .. D9
  10. * Version: 3
  11. */
  12. /********** Librerias **********/
  13. // ninguna
  14. /********** Constantes **********/
  15. #define MAXLED 8
  16. #define ESPERA 1000
  17. /********** Objetos **********/
  18. // ninguno
  19. /********** Variables **********/
  20. int pin[MAXLED] = {2,3,4,5,6,7,8,9}
  21. /********** Configuracion **********/
  22. void setup() {
  23.    for (int i=0; i<MAXLED; i++) {
  24.       pinMode(pin[i], OUTPUT);
  25.    }
  26. } // end setup()
  27. /********** Ciclo Principal **********/
  28. void loop() {
  29. // Acciones
  30.    for (int i=0; i<MAXLED; i++) {
  31.       prender(pin[i], ESPERA);
  32.       apagar(pin[i], ESPERA);
  33.    }
  34. } // end loop()
  35. /********** Funciones **********/
  36. void prender(int p, int t) {
  37.    digitalWrite(p, HIGH);
  38.    delay(t);
  39. }
  40. void prender(int p, int t) {
  41.    digitalWrite(p, LOW);
  42.    delay(t);
  43. }
  44. /********** Fin ***********/