sábado, 17 de mayo de 2014

LABORATORIO 8

LABORATORIO 8

DESCRIPCIÓN DEL LABORATORIO :


Controlaré a través de Arduino un Display LED de 7-Segmentos puestos en una protoboard, por medio de un IC 74HC595, para mostrar un número de 0 a 9, dependiendo de la posición del Potenciómetro.

MATERIALES UTILIZADOS

(1) Protoboard


Cable utp


(1) Arduino uno


(2) Resistencias
     

(1) Display LED de 7-Segmentos 


(3) potenciometros

                                                        




DIAGRAMA DEL MONTAJE EN LA PROTOBOARD


DIAGRAMA DEL MONTAJE EN EL CIRCUITO


FOTOS DEL MONTAJE










CÓDIGO ARDUINO


  1. // Se definen la cantidad de pines que vamos a usar como PIN
  2. // y la entrada analoga A0 como la que se va a usar por el
  3. // potenciómetro
  4. #define PIN 3
  5. #define Pot A0
  6.  
  7. // Se le dan nombres a los pines (7-9) del arduino
  8. // que van a ser usados por el integrado respectivamente
  9. // además el pin SH_CP osea Clock debe ser PWM(~)
  10. const int Latch = 8;
  11. const int Clock = 9;
  12. const int Data = 7;
  13.  
  14. int led[PIN] = {
  15.   7,8,9};
  16.  
  17. // El valor de cada uno de los numeros que voy
  18. // a mostrar en mi Display
  19. int Numeros[10]={63,6,91,79,102,109,125,7,127,111};
  20.  
  21. // Ciclo para activar los ocho pines como salida
  22. // y el pin A0 como entrada
  23. void setup() {
  24.   for (int i=0; i<PIN; i++){
  25.     pinMode(led[i], OUTPUT);
  26.   }
  27.   pinMode(Pot, INPUT);
  28. }
  29.  
  30. // Recibe la info de la posición del potenciómetro
  31. void loop()
  32. {
  33.   int Pos = analogRead(Pot);
  34.   Pos = map(Pos, 010230,9);
  35.   Casos(Pos);
  36. }
  37.  
  38. // Según la posición del potenciómetro escoge un caso
  39. // osea un numero
  40. void Casos(int Valor)
  41. {
  42.   switch(Valor)
  43.   {
  44.   case 0:
  45.      On(Numeros[0]);
  46.     break;
  47.   case 1:
  48.      On(Numeros[1]);
  49.     break;
  50.   case 2:
  51.      On(Numeros[2]);
  52.     break;
  53.   case 3:
  54.      On(Numeros[3]);
  55.     break;
  56.   case 4:
  57.      On(Numeros[4]);
  58.     break;
  59.   case 5:
  60.      On(Numeros[5]);
  61.     break;
  62.   case 6:
  63.      On(Numeros[6]);
  64.     break;
  65.   case 7:
  66.      On(Numeros[7]);
  67.     break;
  68.   case 8:
  69.      On(Numeros[8]);
  70.     break;
  71.   case 9:
  72.      On(Numeros[9]);
  73.     break;
  74.   }        
  75. }
  76.  
  77. // Función para enviar los datos al Integrado IC 74HC595
  78. void On(int Valor)
  79. {
  80.   digitalWrite(Latch, LOW);
  81.   shiftOut(Data, Clock, MSBFIRST, Valor);
  82.   digitalWrite(Latch, HIGH);
  83.   delay(10);
VÍDEO DEL FUNCIONAMIENTO

No hay comentarios.:

Publicar un comentario