consiste en controlar un display de 7 segmentos de catodo común desde arduino por medio de un IC 74HC595 mostrando los números del 0 al 9 dependiendo la posición de un potencio-metro.
materiales
- placa arduino mega + cable de comunicacion +pc con ide arduino
- display de 7 segmentos catodo comun
- 2 resistencias de 1kohm
- 1 potenciometro de 10kohm
- jumper varios
- protoboard
montaje en protoboard fritzing
esquematico en fritzing
montaje del circuito
codigo 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 = 3;
const int Clock = 4;
const int Data = 2;
int led[PIN] = {
2,3,4};
// 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,10);
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(8);
}
video
No hay comentarios.:
Publicar un comentario