Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NUEVO LEÓN
FACULTAD DE INGENIERÍA MECÁNICA Y
ELÉCTRICA
Laboratorio de Microcontroladores
Práctica 7: Interrupciones Externas
Equipo 5
Matricula Alumno N.º l.
1910105 Ana Guadalupe Alvarado Romero 11
1924388 Joaquín Abdiel Coronado Vazquez 14
• Push Button
Un pulsador o interruptor, es un dispositivo simple con dos posiciones, ON y OFF,
un ejemplo es el interruptor de la luz.
Estos pequeños pulsadores son de un 1/4 por cada lado, tienen 4 pastillas por lo
que se puede pensar que hay 4 cables, pero son dos de cada lado unidos, por tanto,
este pulsador es solamente de 2 cables.
Características
Utilizado como switch o interruptor al momento de ser presionado.
Funciona como contacto normalmente abierto (NA).
Infinito número de aplicaciones.
• Cables jumper
Un jumper o saltador es un elemento que permite cerrar el circuito eléctrico del
que forma parte dos conexiones.
La función del cable macho-hembra es con frecuencia
usado en el tablero protoboard haciendo posible la
conexión de dos elementos, uno ingresado en dicho
tablero y el extremo opuesto al sensor (normalmente).
Se conoce como macho-hembra debido al fragmento
que sobresale de un extremo del cable y la superficie
creada para el ingreso de un pin.
• Cable cobre 22WGA
Estos cables son de tipo estándar UL1007. Son de material conductor de cobre
estañado y material aislante de PVC. Se utilizan para realizar
diferentes conexiones de dispositivos electrónicos, así como
facilitar las conexiones de circuitos eléctricos o electrónicos.
Ideales para conducir electricidad de un extremo a otro y
conectar todo tipo de proyectos ya sea para fuente de
alimentación, conexión de motores, cable para llevar señales ya
sea para proyectos de robótica, mecatrónica y más.
• Terminal Block
Los bloques terminales son conectores rentables que pueden unir dos o más cables
mediante la sujeción mecánica de un tornillo para asegurar una
parte pelada de un cable. Los tornillos sujetan un metal expuesto
de un cable a un canal de metal inferior que se conecta a otro
tornillo, lo que forma la otra conexión terminal. También es
posible realizar varias uniones de conexión en el mismo bloque,
de manera similar a los pines en otros componentes de
conectores.
Display 7 segmentos
Los displays de 7 segmentos son dispositivos electrónicos de visualización
utilizados como una forma fácil de representar numerales decimales y una
alternativa a los displays de matriz de puntos más complejos. Los displays de 7
segmentos empezaron a usarse de forma generalizada como una forma popular
para visualizar números. Se llaman displays de segmentos porque están
compuestos por varios segmentos que se encienden y apagan para dar la
apariencia del glifo deseado. Los segmentos
generalmente son LED individuales o cristales
líquidos. Los displays de siete segmentos se
emplean ampliamente en relojes digitales, medidores
electrónicos, calculadoras básicas, pantallas de
electrodomésticos, coches, y muchos otros
dispositivos que muestran información numérica.
En el tipo de cátodo común, todos los cátodos están conectados a un pin común,
en este caso generalmente la conexión a tierra, y los LED los controla el estado de
los ánodos con la conexión a tierra apagada y la potencia encendida. Los displays
de 7 segmentos pueden usar pantallas de cristal líquido (LCD), un diodo emisor de
luz (LED) para cada segmento u otras técnicas de control o generación de luz
como la descarga de gas de cátodo frío (Panaplex), fluorescente vacío, filamentos
incandescentes (Numitron) y otros.
Motor a pasos
El motor paso a paso es un motor de corriente continua sin escobillas en el que la
rotación se divide en un cierto número de pasos resultantes
de la estructura del motor. Normalmente, una revolución
completa del eje de 360° se divide en 200 pasos, lo que
significa que se realiza una sola carrera del eje cada 1,8°.
También hay motores donde la carrera del eje se realiza
cada 2; 2,5; 5, 15 o 30°.La funcionalidad descrita es posible
gracias a la construcción especial del motor paso a paso, que
se discutirá más adelante en el texto. El motor paso a paso
está compuesto por rotor y estator. El estator es una parte estacionaria, mientras
que el rotor montado en el eje con un cojinete gira siguiendo el campo magnético
giratorio creado alrededor del estator. El estator, hecho de acero u otro metal, es el
marco de un conjunto de electroimanes, que son bobinas montadas en lugares
específicos alrededor del rotor. Cuando la corriente fluye a través de las bobinas del
estator, se crea un campo magnético a su alrededor. Los flujos magnéticos
particulares tienen una dirección e intensidad que dependen de la intensidad y la
dirección de la corriente que fluye a través de una bobina determinada.
Circuito integrado 7414
Circuito integrado TTL 74LS14. Seis inversores schmitt trigger. El 74LS14 es un
Hex Schmitt-trigger inversor, con compensación de
temperatura y puede ser disparado desde la más lenta
de las rampas de entrada y siguen dando señales de
salida limpias, sin trepidación.Cada circuito funciona
como un inversor, pero debido a la acción de Schmitt,
que tiene diferentes niveles de umbral de entrada para
lapositiva continua (VT +) y señales (VT-negativo) en
curso.
Especificaciones
C INVERTER HEX, SCHMITT TRIGGER, 1I / P, 22 ns, DIP14
Tipo lógico: Puerta del inversor
Salida de corriente: 8 mA
N º de entradas: 1
Min Supply Voltage: 4.75 V
Supply Voltage Max: 5.25 V
Tipo de Familia: LS
Tipo de la lógica: Puerta del inversor
Operación de bordes muy lento
Características mejoradas de recibir su alineación
Alta inmunidad al ruido
Aplicaciones: Procesado de señal
Tipo de familia: LS
Encapsulado DIP
//Bibliotecas y constantes.
#include <avr/io.h> //Biblioteca E/S AVR atmega328P.
#define F_CPU 1000000UL //1 MHz.
#include <util/delay.h> //Biblioteca de retardos.
#include <avr/interrupt.h> //Biblioteca de interrupciones.
//Etiquetas y macros.
#define TIME 500
//-Salidas.
//--Display.
#define DISPLAY PORTC
//--LEDS.
//--Puerto LED.
#define LEDS_PORT PORTB
//---LED0.
#define LED0 PORTB0
#define LED0_ON LEDS_PORT |= _BV(LED0)
#define LED0_OFF LEDS_PORT &= ~_BV(LED0)
//---LED1.
#define LED1 PORTB1
#define LED1_ON LEDS_PORT |= _BV(LED1)
#define LED1_OFF LEDS_PORT &= ~_BV(LED1)
//---LED2.
#define LED2 PORTB2
#define LED2_ON LEDS_PORT |= _BV(LED2)
#define LED2_OFF LEDS_PORT &= ~_BV(LED2)
//---LED3.
#define LED3 PORTB3
#define LED3_ON LEDS_PORT |= _BV(LED3)
#define LED3_OFF LEDS_PORT &= ~_BV(LED3)
//-Entradas.
//--Switches.
#define SWITCHES PIND
//---SW0_INT0.
#define SW_INT0 PIND2
//---SW1_INT1.
#define SW_INT1 PIND3
//-Declaración de funciones.
void init_ports(void);
void init_extInt(void);
void autofantastico(void);
//-Arreglo.
// 0 1 2 3 4 5 6 7
8 9
// uint8_t numeros[10] = {0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6}; //Sin
decodificador.
uint8_t numeros[10] = {0,1,2,3,4,5,6,7,8,9}; //Con decodificador.
uint8_t numeros_leds[4] = {1,2,3,4}; // Secuencia de leds
//-Variable global.
volatile uint8_t contador = 0;
volatile uint8_t contador_leds = 0;
int main(void)
{
cli();
init_ports();
init_extInt();
sei();
while (1)
{
DISPLAY = numeros[contador];
contador_leds = 0;
autofantastico();
} // Fin while
} // Fin main
void autofantastico(void)
{
for(uint8_t i= 0; i<=3; i++)
{
LEDS_PORT = _BV(i);
_delay_ms(100);
}
for(uint8_t i=3; i<=3; i--)
{
LEDS_PORT = _BV(i);
_delay_ms(100);
}
} // Fin AutoFantastico
//-INT1
//LOW level
EICRA &= ~_BV(ISC10);
EICRA &= ~_BV(ISC11);
//Enable
EIMSK |= _BV(INT1);
} // Fin init_extInt
//Vectores de interrupción
ISR (INT0_vect)
{
if(contador >= 9)
{
contador = 9;
}
else
{
contador++;
}
DISPLAY = numeros[contador];
} //Fin ISR INT0
ISR (INT1_vect)
{
if(contador <= 0)
{
contador = 0;
}
else
{
contador--;
}
DISPLAY = numeros[contador];
} //Fin ISR INT1
Fotografía del circuito armado en físico
Conclusión
Ana Guadalupe Alvarado Romero
Conseguir la ejecución de una tarea principal y una secundaria por medio de las
interrupciones externas ha resultado un poco más difícil de lo esperado debido a la
combinación de tareas que había que integrar en el código de programación. Sin
embargo, parte de las cosas pedidas ya se habían hecho en prácticas anteriores
por separado, como lo es el contador manual o la secuencia del auto fantástico
(aunque esta última se actualizó para hacer uso de la estructura for). En esta
práctica se recurrió al hardware para evitar los rebotes de los switches de las
interrupciones, esto fue complicado de conectar en Tinkercad a comparación de
en Proteus, donde las conexiones fueron sencillas de interpretar.
Joaquín Abdiel Coronado Vázquez
Al finalizar al finalizar la práctica puedo concluir que fue un poco difícil tanto la
programación como el armado en físico la nueva experiencia de las interrupciones
externas los cuales tienen mucho que ver en cuestión para eliminar los tiempos
que existen entre una pulsada en un botón, tanto es así que en la del circuito físico
hubo pequeñas complicaciones para el armado las cuales se verán cuando se
vaya a revisión por lo tanto solamente se subirá el circuito en simulador.
Bibliografías
UAEH. (2021). Pulsadores (Push Button) | Arduino. Retrieved February 21, 2022, from
Uaeh.edu.mx website:
http://ceca.uaeh.edu.mx/informatica/oas_final/OA4/pulsadores_push_button.html
Arduino UNO | Arduino.cl - Compra tu Arduino en Línea. (2019, January 14). Retrieved
https://arduino.cl/arduino-uno/
de, C. (2022). Conectores de Bloques Terminales. Retrieved February 28, 2022, from
mx/categories/connectors/specialized-connectors/connector-terminal-blocks
Cable Eléctrico Calibre 22 AWG 1 Metro Diferentes Colores - UNIT Electronics. (2022,
February 28). Retrieved February 28, 2022, from UNIT Electronics website:
https://uelectronics.com/producto/cable-electrico-calibre-22-awg-1-metro-diferentes-
colores/
Display Technology - Seven Segment Display| Newark. (2020). Retrieved March 22, 2022,
display-technology