Logo Studenta

Informe_MICROPROCESADORES

¡Estudia con miles de materiales!

Vista previa del material en texto

MICROPROCESADORES 1 
 
 
INFORME PRACTICA 7 SEGMENTOS CATADO COMÚN EN ARDUINO 
 
 
 
 
 
INTEGRANTES: 
ÁLVARO JAVIER CAMACHO 
MANUEL RICARDO PUENTES 
 
 
 
GRUPO: B152 
 
 
 
 
 
 
 
 
 
UNIDADES TECNOLÓGICAS DE SANTANDER 
BUCARAMANGA-SANTANDER 
2018 
INTRODUUCION 
En esta práctica vamos a utilizar un display 7 segmentos en el que se generará el 
siguiente texto (UTS-2018) el cual aparecerá letra por letra al oprimir el interruptor 
RESUMEN 
Utilizamos un Arduino nano el cual se programó para generar un texto en un display 
7 segmentos con la implementación de un pulsador se definieron los puertos del 2 
al 8 para los segmentos del display, puerto 9 para el pulsador yel puerto de 5v+ para 
alimentar el circuito. 
 A las salidas de los segmentos del display conectamos resistencias de 220ohm 
para evitar que se queme algún segmento del display lo mismo se realizo en el 
pulsador y en el display con resistencias de 1kohm y 10kohm a demás se utilizó un 
condensador (condensador tipo lenteja referencia 104) 
Desarrollo de la programación 
1)int c = 0; //Variable asociada al contador 
esta variable (contador) se utilizó para almacenar las variables en un espacio de 
memoria y que el mismo permita el incremento y decremento de las variables 
2)int p; //Variable para el anti-rebote del pulsador aumentar 
Esta variable se utilizó para evitar problemas de con el anti-rebote del pulsador y 
así evitar problemas con el Arduino 
3) digitalWrite(2, a); //Asigna el segmento 'a' al pin 2 
Se utilizo para activar los puertos del Arduino en este caso del puerto 2 al 8 para 
los segmentos del display y el 9 para el pulsador 
4) pinMode(2, OUTPUT); 
 Se utilizó para definir lo puertos empleados por el 7 segmento como salidas 
5) pinMode(9, INPUT); 
Este se empleó para definir como salida el puerto utilizado por el pulsador 
6) if (digitalRead(p_a) == LOW) 
{ p=1; 
Este se empleo para que el se repita el programa siempre que el pulsador sea 1 
7) case 1: 
 encender (0, 1, 1, 1, 1, 1, 0) break; 
empleamos este para prender los segmentos que se necesitan para la letra 
deseada 
 
 
 Materiales 
 
 
 
1.arduino nano 
2.display 7 segmentos (cátodo común) 
3.cable 
4.resistensias (7 de 220ohm, 1 de 10kohm y una de 1kohm) 
5.protoboard 
6.condesador (ref 104) 
7.interuptor (normalmente abierto) 
8.progrmador Arduino 
 
 
Circuito 
 
 
 
 PRODUCTO FINAL 
MONTAJE 
 
 
 
PROGRAMACIÓN 
 
int c = 0; //Variable asociada al contador 
int p; //Variable para el antirrebote del pulsador aumentar 
int p_a = 9; //Pulsador conectado al pin 9 
void encender(int a, int b, int c, int d, int e, int f, int g) 
{ 
 //Funcion que permite mostrar los numeros del 0 al 9 
 //Asigna un segmento del display a cada pin 
 
 
 digitalWrite(2, a); //Asigna el segmento 'a' al pin 2 
 digitalWrite(3, b); //Asigna el segmento 'b' al pin 3 
 digitalWrite(4, c); //Asigna el segmento 'c' al pin 4 
 digitalWrite(5, d); //Asigna el segmento 'd' al pin 5 
 digitalWrite(6, e); //Asigna el segmento 'e' al pin 6 
 digitalWrite(7, f); //Asigna el segmento 'f' al pin 7 
 digitalWrite(8, g); //Asigna el segmento 'g' al pin 8 
} 
 
void setup() { 
 
 //Inicializa los pines como entradas/salidas digitales 
 
 pinMode(2, OUTPUT); 
 pinMode(3, OUTPUT); 
 pinMode(4, OUTPUT); 
 pinMode(5, OUTPUT); 
 pinMode(6, OUTPUT); 
 pinMode(7, OUTPUT); 
 pinMode(8, OUTPUT); 
 pinMode(9, INPUT); //Pulsador aumentar como entrada digital 
 
} 
 
void loop() { 
 
 
 if (digitalRead(p_a) == LOW){ 
 
 p=1; 
 } 
 
 if (digitalRead(p_a) == HIGH && p == 1){ 
 
 p = 0; 
 c++; 
 if(c>=9){ 
 
 c=0; 
 } 
 } 
 
 
 
 
 
 switch (c) 
 { 
 
 case 0: 
 encender (0, 0, 0, 0, 0, 0, 0); //Muestra que esta apagado 
 break; 
 
 case 1: 
 encender (0, 1, 1, 1, 1, 1, 0); //Muestra la letra u 
 break; 
 
 case 2: 
 encender (0, 0, 0, 1, 1, 1, 1); //Muestra la letra t 
 break; 
 
 case 3: 
 encender (1, 0, 1, 1, 0, 1, 1); //Muestra la letra s 
 break; 
 
 case 4: 
 encender (0, 0, 0, 0,0, 0, 1); //muestra un - 
 break; 
 
 case 5: 
 encender (1, 1, 0, 1, 1, 0, 1); //Muestra el numero 2 
 break; 
 
 case 6: 
 encender (1, 1, 1, 1, 1, 1, 0); //Muestra el numero 0 
 break; 
 
 case 7: 
 encender (0, 1, 1, 0, 0, 0, 0); //Muestra el numero 1 
 break; 
 
 case 8: 
 encender(1, 1, 1, 1, 1, 1, 1); //Muestra el numero 8 
 break; 
 
 case 9: 
 encender(0, 0, 0, 0, 0, 0, 0); //Muestra que esta apagado 
 break; 
 
 
 } 
}

Continuar navegando