



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Contenido de simulación que ejemplifica siete segmentos
Typology: Exercises
1 / 7
This page cannot be seen from the preview
Don't miss anything!
Arduino Uno o similar.
Esta sesión acepta cualquier otro modelo de Arduino.
Un Protoboard.
Cables de protoboard
Una resistencia. (podria tener un valor menor)
Un display de 1 dígito.
En cuanto empecéis a plantearos hacer un circuito que realice alguna función práctica, hay un 50% de probabilidades de que acabéis necesitando enviar información al mundo exterior (y claro no vais a dejar vuestro portátil pegado al invento).
Así que es el momento de ver que nos ofrece el mercado para mostrar información y para empezar, nada mejor que un sencillo display LED de 1 digito.
Los diodos LED ya no guardan secretos para los que nos siguen, pero esto de un display parece otra cosa. Pues no. Es lo mismo pero en lugar de ser un punto luminoso como los familiares LED, tiene forma de barra: 7 barras más 1 punto.
Estos displays nos son bastante familiares en despertadores y similares, están formados por 7 líneas, que a dependiendo de qué segmentos se iluminan, muestran los dígitos del 0 al 9.
A cada uno de los 7 segmentos se les adjudica una letra para representarlos y suele ser a, b, c, e, f, g y aparte un punto (o dos, o dos puntos según el fabricante) y es un buen momento para echar un vistazo a las especificaciones de cada fabricante para estar seguros de que pin es cual.
Todos los circuitos, los displays incluidos, llevan un código de fabricante rotulado. Es buena política buscar en Internet la hoja de especificaciones(o data sheet).
Desde que existe Internet, localizar una hoja de características es algo trivial (No como antes, que para conseguirlas había que pedir favores y mostrar las debidas muestras de respeto y sumisión a quien disponía de catálogos de componentes). Probad a buscar en Google algo así como XXXXX data sheet, donde XXXXX son los códigos que habéis encontrado rotulado en el display o componente que sea.
Lo importante es que sepáis que es cada pin, y que veáis que segmento es cual. En realidad es bastante más fácil de lo que parece, localizad primero un GND. En el de arriba son el 3, 5, 11 y 16.
Poned una resistencia (de 330Ω o adecuada) en la salida del display a GND. Este es un display de cátodo común, o sea que todos los LEDS comparten la masa, pero necesitamos poner una resistencia de limitación o fpodemos dañar el display, y este vale ya lo suficiente, como para que os cueste verle la gracia al tema.
Una vez que hayáis conectado la masa común con una resistencia, empezad cableando solo un LED, el ( a )por ejemplo y conectadlo al pin 2 de Arduino. Escribid un programa en Arduino para iluminar el LED en el pin 2 y veréis como se enciende el segmento a.
Podéis ir conectando y probando el resto de los pines poco a poco, asegurando las conexiones. Es muy fácil equivocarse si no andáis con tiento.
El display que viene es un 5161AH que tiene un pinout:
//Enciende de un digito a la vez
int tiempo = 500;//definimos una vasriable de tipo entera para fijar retardo
void setup()
{
// Coloque el codigo de configuracion (setup) aqui - se ejecutara solo una vez:
pinMode(2, OUTPUT); // configura ‘pin’ como salida
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}
void loop()
{
// Coloque el codigo principal (main) aqui - se ejecutara repetidamente (loop):
//Muestra el cero
digitalWrite(2,HIGH );// PIN es colocado en estado alto (HIGH)
digitalWrite(3,HIGH );// PIN es colocado en estado alto (HIGH)
digitalWrite(4,HIGH );// PIN es colocado en estado alto (HIGH)
digitalWrite(5,HIGH );// PIN es colocado en estado alto (HIGH)
digitalWrite(6,HIGH );// PIN es colocado en estado alto (HIGH)
digitalWrite(7,HIGH );// PIN es colocado en estado alto (HIGH)
digitalWrite(8,LOW ); // PIN es colocado en estado bajo (LOW)
delay(tiempo); // retardo
//Muestra el uno
digitalWrite(2,LOW );
digitalWrite(3,HIGH );
digitalWrite(4,HIGH );
digitalWrite(5,LOW );
digitalWrite(6,LOW );
digitalWrite(7,LOW );
digitalWrite(8,LOW );
delay(tiempo); // retardo
//Muestra el dos
digitalWrite(2,HIGH );
digitalWrite(3,HIGH );
digitalWrite(4,LOW );
digitalWrite(5,HIGH );
digitalWrite(6,HIGH );
digitalWrite(7,LOW );
digitalWrite(8,HIGH );
delay(tiempo); // retardo
digitalWrite(6,HIGH );
digitalWrite(7,HIGH );
digitalWrite(8,HIGH );
delay(tiempo); // retardo
//Muestra el nueve
digitalWrite(2,HIGH );
digitalWrite(3,HIGH );
digitalWrite(4,HIGH );
digitalWrite(5,LOW );
digitalWrite(6,LOW );
digitalWrite(7,HIGH );
digitalWrite(8,HIGH );
delay(tiempo); // retardo
}