Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********** Arduino **********
- * Laboratorio 05: Display LED de 7-Segmentos a través de un IC 74HC59
- * Autor: Cristian Augusto Restrepo
- * Descripcion:
- * Controlar desde el Arduino, un Display LED de 7-Segmentos,
- * a través de un IC 74HC595, para mostrar un número de 0 a 9,
- * dependiendo de la posición del Potenciómetro.
- // 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 (2-4) 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 = 2;
- const int Clock = 3;
- const int Data = 4;
- int led[PIN] = {
- 2,3,4};
- // El valor de cada uno de los numeros que voy
- // a mostrar en el Display
- int Numeros[11]={63,6,91,79,102,109,125,7,127,111, 128};
- // 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 información de la posición del potenciómetro
- void loop()
- {
- int Pos = analogRead(Pot);
- int Mos = map(Pos, 0, 1023, 0,11);
- Casos(Mos);
- }
- // Según la posición del potenciómetro escoge un caso
- 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;
- case 10:
- On(Numeros[10]);
- 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(8);
- }
Advertisement
Add Comment
Please, Sign In to add comment