Arquitectura de Microcontroladores - Práctica 2
Arquitectura de Microcontroladores - Práctica 2
Arquitectura de Microcontroladores - Práctica 2
Práctica 2. Básicas
Universidad de Guanajuato, División de Ciencias e Ingenierías
Arquitectura de Microcontroladores
Profesor: Dr. Eduardo Montes Ramírez
Fonseca Uribe Oswaldo Emmanuel 1
Muñoz González Raúl Gilberto 2
Resumen—Se creó un circuito básico utilizando una placa de Para la configuración del display de 7 segmentos se tomó en
Arduino UNO para hacer encender un display de 7 segmentos y cuenta que, ya que cada segmento es un LED de color rojo
escribir caracteres en él. individual, se debía colocar una resistencia de 330Ω para cada
uno y conectarse de manera individual en cada pin de la placa,
por lo que la secuencia de segmentos a-g y el punto fueron
I. C IRCUITO E LECTRÓNICO configurados para los pines del 2 al 9.
La figura 1 muestra el circuito simulado en la plataforma Para ilustrar esta desición, la figura 2 a continuación se
Tinkercad, mismo que se construyó durante la práctica en el presenta la configuración del circuito de este display:
laboratorio.
II. O BJETIVOS
Crear un ciclo que genere una secuencia del 0 al F en
un display de 7 segmentos.
Cambiar sentido de la secuencia (ascendente <>descen-
dente) de manera automática.
Cambiar sentido de la secuencia (ascendente <>descen-
Figura 2. Diagrama del display de 7 segmentos de cátodo común
dente) al pulsar un pulsador.
Además, se presenta la disposición de los caracteres en el
III. M ATERIALES Y M ONTAJE E XPERIMENTAL display en la figura 3:
Materiales utilizados en la práctica:
Computadora Portátil
Placa de Arduino UNO R3 y cable de alimentación USB
Protoboard
Display 7 Segmentos (cátodo común)
Cable C22 (varios colores)
Caimanes de conección
9 Resistencias 330Ω
1 Resistencia 1kΩ
1 Pulsador de 2 terminales (push button) Figura 3. Disposición de LEDs en el display
Primeramente se realizó el código en el IDE de Arduino
Tras esto, el pulsador se configuró como una entrada en el
en la computadora portátil, mismo presentado en la sección
pin 10 y, como auxiliar para reconocer visiblemente el orden
pertinente de este reporte.
de la secuencia (ascendente o descendente), un led en el pin
1 Lic. en Física [email protected] 11.
2 Ing. Química Sustentable [email protected]
2
void CERO() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
digitalWrite(dot, LOW);
Figura 4. Circuito montado
}
void UNO() {
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
digitalWrite(dot, LOW);
}
void DOS() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
Figura 5. Circuito montado digitalWrite(dot, LOW);
}
IV. C ÓDIGO void TRES() {
A continuación se presenta el código creado para la práctica, digitalWrite(a, HIGH);
éste está programado por partes para observar correctamente digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
cada uno de los objetivos por separado:
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
IV-A. Objetivo 0 digitalWrite(f, LOW);
digitalWrite(g, HIGH);
Como objetivo de toda la práctica, se debe mostrar en, un digitalWrite(dot, LOW);
display de 7 segmentos, caracteres alfanuméricos, del 0 al 9 y }
de A a F, por lo que se presenta a continuación las subrutinas
de cada uno de estos caracteres, así como las variables de los void CUATRO() {
digitalWrite(a, LOW);
pines en donde se escriben: digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
const int a = 2; digitalWrite(d, LOW);
const int b = 3; digitalWrite(e, LOW);
const int c = 4; digitalWrite(f, HIGH);
const int d = 5; digitalWrite(g, HIGH);
const int e = 6; digitalWrite(dot, LOW);
const int f = 7; }
const int g = 8;
const int dot = 9; void CINCO() {
digitalWrite(a, HIGH);
3
void PARPADEAR(){
PUNTO(); IV-D. Objetivo 3
delay(100);
APAGAR(); Cambiar sentido de la secuencia (ascendente
delay(100); <>descendente) al pulsar un pulsador.
PUNTO(); Para lograr esto, definiremos las variables de los pines de
delay(100); nuestro pulsador y de nuestro LED individual, así como
APAGAR();
usar una estructura que nos permita ejecutar continuamente
5
void setup() {
pinMode(pulsador, INPUT);
pinMode(foco, OUTPUT)
}
void loop () {
digitalWrite(foco, HIGH);
do{
PARPADEAR();
Ascendente();
}while (digitalRead(pulsador) == LOW);
digitalWrite(foco, LOW);
do{
PARPADEAR();
Descendente();
}while (digitalRead(pulsador) == LOW);
}
V. C ONCLUSIONES
V-A. Fonseca Uribe Oswaldo Emmanuel
La programación del microcontrolador fue fácil comparado
con la conección de los diferentes segmentos, así como sus
conexiones. Esto me hace pensar en que debe haber diferentes
módulos que faciliten la utilización de estos circuitos, y si no,
su creación debería de ser hecha.
Las subrutinas para cada una de las letras es sencilla pero
repetitiva, por lo que usar alguna especie de arreglos debería
de ser útil. Una vez con las bases establecidas, digase los pines
con nombres de los segmentos y los caracteres definidos, la
creación de textos y su demostración termina siendo sencillo.
R EFERENCIAS
[1] [H] Arduino. (2022). Arduino Reference.
https://www.arduino.cc/reference/en/?}_gl=1*11hrmjr*_ga*MTU0MDY3
NzA5MC4xNjYwNzAwNDA2*_ga_NEXN8H46L5*MTY2MDcwMDQw
NS4xLjEuMTY2MDcwMDQyMC40NS4wLjA.