Está en la página 1de 10

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC

DIVISIÓN DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

SISTEMAS PROGRAMABLES

PRÁCTICA 3

“CAMBIO DE ESTADO DE UN DISPLAY”

PRIMER PARCIAL

ALUMNOS:

 BARBOSA GONZÁLEZ ANGÉLICA ESTEFANÍA


 CANO TABLA AARÓN ISRAEL
 CERECEDO RUIZ JANETTE
 CRUZ MARTÍNEZ INGRID NOEMÍ
 MORENO GUTIÉRREZ ALONSO

GRUPO 5602

PROFESOR LÓPEZ TORRES EDGAR EFRÉN


INTRODUCCIÓN
DESARROLLO

Se realizó una práctica orientara a entender la funcionalidad de la


programación con Arduino, un led, un push button, resistenciasy un display de
7 segmentos de catodo común. Se tuvieron en cuenta algunas consideraciones
físicas para su elaboración, como el colocar de forma correcta cada uno de los
elementos para que funcionara el circuito y entendiéramos por qué se debían
conectar de cierta manera. Desde comenzar a entender cuál era la forma
correcta de armar el circuito con las resistencias.

Cada resistencia era de 330 kΩ, fue importante entender que en el caso del
display de 7 segmentos de cátodo común en la tercera patita, debe conectarse
a corriente ya sea en la parte superior o en la inferior, pues cuando es de
ánodo común se conecta a tierra.
Fue importante asignar letras para cada uno de las líneas del display, pues el
objetivo de la práctica es que conforme se presionara el push button cambiara
el número, siendo que la numeración iniciara en 0 hasta llegar al 9 y después
del 9 pasara nuevamente al 0 y así pudiera continuar.

Una vez asignado los valores de cada uno de los 7 segmentos se procedió a la
programación asignando cada uno de los valores a las diferentes entradas del
Arduino para que se compilara y pudiera cargar el código.

Así que se incluirá el código para que se entienda el funcionamiento de cada


uno de los segmentos del display.

Código
const int PUSH_BUTTON_INPUT = 2;
const int LED_OUTPUT = 3;
const int A = 4;
const int B = 5;
const int C = 6;
const int D = 7;
const int E = 8;
const int F = 9;
const int G = 10;
int current_state = 0;
int previous_state = 0;
int output = 0;
int count = 0;
void setup() {
pinMode(PUSH_BUTTON_INPUT, INPUT);
pinMode(PUSH_BUTTON_INPUT, OUTPUT);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
Serial.begin(9600);
}

void loop() {
current_state = digitalRead(PUSH_BUTTON_INPUT);
if(current_state == 1) {
if (count > 9) {
count = 0;
}
Serial.print(count);
writeNumber(count);
count ++;
delay(300);
}
}

void writeNumber(int number) {


switch(number) {
case 0:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
digitalWrite(LED_OUTPUT, LOW);
break;
case 1:
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
break;
case 2:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
break;
case 3:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
break;
case 4:
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
case 5:
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
case 6:
digitalWrite(A, LOW);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
case 7:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
break;
case 8:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
break;
case 9:
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
digitalWrite(LED_OUTPUT, HIGH);
break;
}
}

A continuación se adjuntan las imagenes que ilustraran como para cada caso
salía el respectivo número en el display mediante el encendido o apagado de
cada uno de los segmentos como en el código se mostró.

 Cero

 Uno
 Dos

 Tres

 Cuatro

 Cinco
 Seis

 Siete

 Ocho

 Nueve
CONCLUSIÓN

La práctica concluyó satisfactoriamente, se cumplieron las metas establecidas


para comenzar a programar en Arduino, entendiendo la manera en que
funciona además de saberlo conjuntar con un circuito simple, que llega a
cambiar según se cambie las pulsaciones del push button los diferentes
segmentos del display, permitiendo que para su uso se empleara el IDE de
Arduino, leds, resistencias, protoboard, un push button y el display de 7
segmentos de cátodo común.

Se conoció y entendió la dinámica de la práctica y el objetivo final de la misma,


así como se emplearon conocimientos previos para formar un concepto más
claro acerca de este y otros temas que se manejarán en el temario.

Cumplimos con todos los parámetros que se nos propusieron para poder
realizar la práctica, como el tener conocimientos previos que nos ayudarían a
poder lograr con éxito la práctica de cambio de segmentos de un display
mediante un push button, a pesar de que no es una práctica realmente
complicada de llevar a cabo, hay ciertas dificultades como el mantener la lógica
del display y el funcionamiento que tendrá en caso de que se presione
nuevamente el push button.

También podría gustarte