lunes, 26 de octubre de 2015

Laboratorio #6

Descripción:

el objetivo del siguiente laboratorio es controlar un LED RGB desde el arduino , via PWM con tres potenciometros, uno para cada color.

Materiales:


  • Computador con el debido software de arduino
  • Arduino con su respectivo cable USB
  • Protoboard
  • Diodo LED RGB
  • Resistencias 220ohm
  • 3 potenciometros de 10k
  • Cables



Diagramas:

Montaje




Esquemático



PCB



Código

  1. // Laboratorio #6
  2. // Programa Arduino
  3. // Johnson Camilo Barona Sanchez
  4. // Universidad Santiago de Cali
  5. // Programación de sistemas embebidos
  6.  
  7. // se inicializan las variables y nombres de los pines
  8. int Pot_R = A0;    // entrada analoga Led R
  9. int Pot_G = A1;    // entrada analoga Led G
  10. int Pot_B = A2;    // entrada analoga Led B
  11.  
  12. int Led_R = 6;     // salida pwm  para el led R
  13. int Led_G = 5;     // salida pwm  para el led G
  14. int Led_B = 3;     // salida pwm  para el led B
  15.  
  16. int Valor_R = 0;   // valor guardado de la entrada analoga R
  17. int Valor_G = 0;   // valor guardado de la entrada analoga G
  18. int Valor_B = 0;   // valor guardado de la entrada analoga B
  19.  
  20. // se configuran entradas y salidas usadas
  21. void setup(){
  22.   pinMode(Led_R, OUTPUT);
  23.   pinMode(Led_G, OUTPUT);
  24.   pinMode(Led_B, OUTPUT);
  25.   pinMode(Pot_R, INPUT);
  26.   pinMode(Pot_G, INPUT);
  27.   pinMode(Pot_B, INPUT);
  28.  
  29. }
  30.  
  31. // blucle infinito donde se ejecuta el programa
  32. void loop() {
  33.   // se leen las entradas A0, A1, A2 para leer el valor del
  34.   // potenciometro
  35.   int Valor_R = analogRead(Pot_R);
  36.   int Valor_G = analogRead(Pot_G);
  37.   int Valor_B = analogRead(Pot_B);
  38.  
  39.   // se hace redimension del dato, ya que la lectura de
  40.   // las entradas analogas entrega un valor entre 0 y 1023
  41.   // pero necesitamos valores de 0 a 255, hacemos esto divi-
  42.   // diendo por 4.
  43.   Valor_R = Valor_R/4;
  44.   Valor_G = Valor_G/4;
  45.   Valor_B = Valor_B/4;
  46.  
  47.   // se envian los valores corregidos a cada pin PWM
  48.   analogWrite(Led_R, Valor_R);
  49.   analogWrite(Led_G, Valor_G);
  50.   analogWrite(Led_B, Valor_B);
  51.  
  52. }


Proceso de montaje


en una protoboard procedemos a montar los componentes electrónicos. lo primero que haremos sera ubicar los 3 potenciometros, el LED RGB  y sus respectivas resistencias.




Cuando tenemos montados nuestros componentes en la protoboard, procedemos a puentear a la tierra, los pines análogos ,  los digitales y al pin de 5v. En los diagramas anteriores se explica mejor dicha conexión.





concluimos con el funcionamiento de nuestro circuito según el movimiento de cada potenciometro:











No hay comentarios:

Publicar un comentario