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.
(1) Display LED de 7-Segmentos
(3) potenciometros
DIAGRAMA DEL MONTAJE EN LA PROTOBOARD
DIAGRAMA DEL MONTAJE EN EL CIRCUITO
CÓDIGO ARDUINO
- // Se definen la cantidad de pines que vamos a usar como PIN
- // y la entrada analoga A0 como la que se va a usar por el
- // potenciómetro
- #define PIN 3
- #define Pot A0
- // Se le dan nombres a los pines (7-9) del arduino
- // que van a ser usados por el integrado respectivamente
- // además el pin SH_CP osea Clock debe ser PWM(~)
- const int Latch = 8;
- const int Clock = 9;
- const int Data = 7;
- int led[PIN] = {
- 7,8,9};
- // El valor de cada uno de los numeros que voy
- // a mostrar en mi Display
- int Numeros[10]={63,6,91,79,102,109,125,7,127,111};
- // Ciclo para activar los ocho pines como salida
- // y el pin A0 como entrada
- void setup() {
- for (int i=0; i<PIN; i++){
- pinMode(led[i], OUTPUT);
- }
- pinMode(Pot, INPUT);
- }
- // Recibe la info de la posición del potenciómetro
- void loop()
- {
- int Pos = analogRead(Pot);
- Pos = map(Pos, 0, 1023, 0,9);
- Casos(Pos);
- }
- // Según la posición del potenciómetro escoge un caso
- // osea un numero
- void Casos(int Valor)
- {
- switch(Valor)
- {
- case 0:
- On(Numeros[0]);
- break;
- case 1:
- On(Numeros[1]);
- break;
- case 2:
- On(Numeros[2]);
- break;
- case 3:
- On(Numeros[3]);
- break;
- case 4:
- On(Numeros[4]);
- break;
- case 5:
- On(Numeros[5]);
- break;
- case 6:
- On(Numeros[6]);
- break;
- case 7:
- On(Numeros[7]);
- break;
- case 8:
- On(Numeros[8]);
- break;
- case 9:
- On(Numeros[9]);
- break;
- }
- }
- // Función para enviar los datos al Integrado IC 74HC595
- void On(int Valor)
- {
- digitalWrite(Latch, LOW);
- shiftOut(Data, Clock, MSBFIRST, Valor);
- digitalWrite(Latch, HIGH);
- delay(10);
VÍDEO DEL FUNCIONAMIENTO