P05. Display 7
P05. Display 7
OBJECTIU D'APRENENTATGE
L'objectiu d'aquesta tasca consta en aprendra sobre la interfície del LED 7.
El display de 7 segments és un dispositiu electrònic que s'utilitza per representar visualment números i alguns caràcters. Aquest display és molt popular a causa de la seva gran efectivitat i simplicitat en el moment d'utilitzar-lo.
Se'l coneix com a 7 segments perquè compta amb set díodes led principals i un extra per representar un punt. També compta amb una carcassa per cobrir-los i 10 terminals: 2 són d'alimentació (2 de Vcd o 2 de Gnd), 1 és per visualitzar un punt i 7 són per representar cadascun dels números segons la combinació que se li posi.
Els leds s'anomenen seguint la direcció horària sent el primer LED el de dalt de tot (a) i el darrer el led central (g). Cada segment del display està etiquetat amb una lletra de l'abecedari
Els display LED de 7 segments són només una col·lecció de 7 LED (8 si comptem el punt) i la seva manera de programar-lo no és diferent de la de programar un conjunt de 8 leds.
Per poder representar els números o caràcters amb aquest dispositiu només n'hi ha prou amb saber la configuració de cadascuna de les seves leds i combinar-los.
Per representar el número 3 hem d' encendre les lletres A, B, G, C i D, per representar el número 6 hem de combinar les lletres A, F, E, D, C i G.
Com que és un dispositiu molt simple no hi ha gaire varietat, només podem trobar de:
ànode comú
càtode comú
Doble display
CAL SABER...
S'anomena així perquè tots els leds estan units en la seva terminal positiva (ànode), per encendre'ls hem de posar terra a la terminal de la lletra que es desitgin.
Als display d'ànode comú se'ls posa voltatge a la terminal comuna
Aquest display és l'oposat de l'ànode comú ja que els leds estan units a la terminal negativa (càtode). Per encendre els leds hem de posar voltatge a les terminals de les lletres.
Als display de càtode comú se'ls posa voltatge a la terminal comuna
Ànode Comú ( Vcc comú) = 0 activat / 1 desactivat
Càtode Comú (GND comú)= 1 activat / 0 desactivat
MATERIAL NECESSARI
Quantitat Component
1 1 display LED 7 segments
8 Resistències 220 ohms
1 Arduino Uno
1 Breadboard
MONTATGE
Descripció: Utilitza els ports 6, 7, 8, 9, 10, 11, 12 i 13 .
Es tracta d'un Display de Càtode Comú, de manera que el connector comú es connecta a GND. (Un Display amb Ànode Comú es connectaria a 3,3V. o 5V.)
COMENCEM ! !
TASCA 5_PART 1: Encesa d'un display LED de 7 segments
Funcionament: El led ha de donar els números del 0 fins al 9 , i tornar a començar
ET DÓNO UNA PISTA DE COM COMENÇAR EL PROGRAMA....
int pausa=1000; // Interval de temps entre cada dígit
void setup()
{
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop(){
num_zero(); //escriu 0
delay(pausa);
}
void num_zero (){
digitalWrite (6,HIGH); //element a
digitalWrite (7,HIGH); //element b
digitalWrite (8,HIGH); //el punt
digitalWrite (9,HIGH); //element c
digitalWrite (10,HIGH); //element d
digitalWrite (11,HIGH); //element e
digitalWrite (12,LOW); //element g
digitalWrite (13,HIGH); //element f
}
escriu la resta de la programació que falta per a fer del 0 al 9, i tornar a començar.
Com seria aquesta connexió càtode o ànode comú?
TASCA 5_PART 2: Encesa de números PARELLS d'un display LED de 7 segments
Funcionament: El led ha de donar els números PARELLS amb el CÀTODEcomú
DISSENYA LA PROGRAMACIÓ ET DÓNO UNA PISTA DE COM COMENÇAR EL PROGRAMA....
TASCA 5_PART 3: Encesa de números IMPARELLS d'un display LED de 7 segments
Funcionament: El led ha de donar els números IMPARELLS amb el ÀNODE comú
DISSENYA LA PROGRAMACIÓ ET DÓNO UNA PISTA DE COM COMENÇAR EL PROGRAMA....
AVANÇAT
T'atreveixes?
Mitjançant un pulsador fem incrementar la numeració del led7 i mitjançant l'altre pulsador fem decrementar la numeració del mateix led 7.
CAL SABER...
Pulsador de botó
Un pulsador de botó està format per dues làmines de metall que estan separades per un resorte.
Al presionar el pulsador el que fem és unir aquestes dues làmines i al deixar de presionar el resorte fa que es tornin a separar un altre cop.
Llavors idelament el pulsador de botó quan no està presionat està apagat i en el moment de presionar el pulsador passa automàticament al estat d'encès, però a la realitat no és així.
El resorte realment el que fa és que les plaques rebotin un parell de vegades abans de quedar-se en estat encès. Aquest petit revote, tot i sembla insignificant pot ser detectat per l'Arduino ja que Arduino pregunta millons de vegades sobre l'estat abans de nosaltres presionar el pulsador.
Per aquest motiu és interessant fer un sistema antirebote de pulsadors de botó ja sigui per software o hardware.
Una solució ràpida és posar una espera de 20 milisegons en el codi "delay (20) "
Si ho volem fer de manera més precisa cal fer el següent programa
[Estructura de control]
Al igual que les sentencies if, switch case controla el flux de programes al permetre als programadors especificar un codi diferent que s'ha d'executar en diferents condicions. En concreto, una instrucción switch compara el valor de una variable con los valores especificados en las instrucciones case. Quan es troba una instrucció case el valor del qual coincideix amb el de la varibale, s'executa el codi d'aquesta instrucció case.
La paraula clau break surt de la instrucció switch i normalement s'utilizen al final de cada cas. Sense una instrucción break, la instrucció switch continuarà executant les següents expresions fins que s'arribi a una interrupció o el final de la instrucció switch.
switch (var) {
case 1:
//do something when var equals 1
break;
case 2:
//do something when var equals 2
break;
default:
// if nothing else matches, do the default
// default is optional
break;
}