Está en la página 1de 8

ELECTIVA DE ENFASIS

TECNOLÓGICO 1

IoT Temporizadores/
TEMA Contadores

Interrupciones

Placas Arduino.
Temporizadores/
Contadores
En muchas aplicaciones los microcontroladores
deben trabajar con variables como el tiempo, a fin de
generar señales de una frecuencia determinada, esto
con la finalidad de medir la duración de una señal o
para algunos casos llevar la fecha y hora. En tales casos
es necesario que el microcontrolador cuente con un
recurso o herramienta que le permita contar el tiempo
de forma precisa (Fernando, 2007).

Dicho recurso o herramienta corresponde a una función


en arduino denominada Arduino timer, esta función no
está embebida ni implementada en el lenguaje de forma
estándar.

Un Timer genera interrupciones para ejecutar funciones sin


involucrar al procesador. Para llevar a cabo la implementa-
ción de la función Arduino timer se recurre al uso de libre-
rías externas.

Los microcontroladores PIC disponen de al menos un


Timer0. Para aplicaciones con arduino se trabaja con mayor
frecuencia con microcontroladores de clase media, los
cuales cuentan con hasta tres módulos básicos para reali-
zar las funciones de temporización, dichos módulos se
identifican con el nombre genérico del módulo y el conse-
cutivo correspondiente (Timer0, Timer1, Timer2) (Fernando,
2007).

Algunos microcontroladores cuentan con dos módulos


Timer extra. A continuación, se describen las característi-
cas y funcionalidades de los diferentes módulos timer:

Timer0: 8bits. Usado para las funciones delay(), millis(), micros().


Timer1: 16bits. Usado por la librería Servo en Arduino Uno.
Timer2: 8bits. Usado en la función tone ().
Timer3, Timer4, Timer5: solo disponibles en la Mega. todos de 16bits.
Los temporizadores con los que cuenta un microcontrolador PIC cuentan
con un contador síncrono ascendente de 8 a 16 bits, estos contadores se
programan para contar pulsos internos y externos (Fernando, 2007).

Los temporizadores también pueden disponer de un contador asíncrono


auxiliar, este puede tener dos variaciones siendo insertado en el camino de
los pulsos recibiendo el nombre de pre-divisor (prescaler) o después del
contador primario en cuyo caso funciona como post-divisor (postscaler)
(Fernando, 2007).

Interrupciones
Las interrupciones son mecanismos del microcontrolador que son
usados para responder eventos, mediante estos es posible suspen-
der de forma temporal el programa principal, a fin de ejecutar una
subrutina de servicio de interrupción.

Las interrupciones pueden clasificarse en internas o externas y en


enmascarable o no enmascarable. A continuación, se describen
cada una de ellas:
Interrupciones internas:

Son disparadas por el hardware interno del microcontro-


lador. (Staff, 2011).

Interrupciones externas

Son disparadas externamente mediante la aplicación de


un pulso o un estado sobre un pin del microcontrolador
denominado INT. (Staff, 2011).

Interrupciones enmascarables

Requieren tener activo un bit de habilitación para gene-


rarse, aunque hayan sido solicitada (Staff, 2011).

Interrupciones no enmascarables

No requieren tener activo un bit de habilitación para


generarse, solamente basta con que hayan sido solicita-
da (Staff, 2011).

Cualquier interrupción puede ser generada cuando periféricos co-


nectados a la tarjeta electrónica solicitan el envió de información al
microcontrolador, esto puede llevarse a cabo de manera asíncrona o
periódica.

Dentro de la placa de Arduino se encuentran diversos pines que nos


permiten generar interrupciones dependiendo del tipo de placa, las
cuales se relacionan a continuación:
Placa (Uno, Nano, Mini): Pines Interrupciones (2,3).
Placa (Mega, Mega2560, MegaADK): Pines Interrupciones (2, 3, 18, 19,
20, 212,3).
Placa (Micro, Leonardo): Pines Interrupciones (0, 1, 2, 3, 7).
Placa (MKR1000): Pines Interrupciones (0, 1, 4, 5, 6, 7, 8, 9, A1, A2).
Placa (Due, 101: Pines Interrupciones (Todos los pines digitales).

Para utilizar interrupciones con Arduino se requiere la utilización de de-


terminadas funciones o métodos, los cuales se indican a continuación:

1. attachInterrupt (pin, ISR, modo): Esta función permite definir o


configurar uno de los pines como un puerto de interrupción, los
tres parámetros que contiene esta función son:

1.1 Pin: Este parámetro corresponde al indicativo del pin que se va a


utilizar como interrupción.

1.2 ISR: Este parámetro corresponde a una abreviatura de Interrupt


Service Routine y se llama cuando se produce la interrupción.

1.3 Modo: Este parámetro define cuando debe ser disparada la inte-
rrupción.

2. detachInterrupt(pin): Esta función nos permite configurar un pin


como interrupción. El parámetro que contiene esta función es:

2.1 Pin: Este parámetro nos devuelve el ordinal del pin del que
queremos anular la configuración.
Placas Arduino
El Arduino está basado en microcontroladores ATMEGA8 y ATME-
GA168 de Atmel. Los planos para los módulos que lo integran
están publicados bajo licencia Creative Commons, lo cual hace
posible que los diseñadores experimentados de circuitos creen su
propia versión del módulo, exponiéndolo y mejorándolo (ARDUI-
NO, s.f.).

Actualmente existen diversas placas con funcionalidades especí-


ficas. A continuación, se relacionan las de mayor uso según (AR-
DUINO, s.f.)

MKR WiFi 1010:


Es una placa que ha sido diseñado para
ofrecer una solución práctica y rentable
para los fabricantes que buscan agregar
conectividad Wi-Fi a sus proyectos con
una experiencia previa mínima en redes.

MKR FOX1200:
Cosiste en una placa que se basa en un
tablero de aprendizaje y desarrollo que
contiene el microcontrolador ATMEL
SAMD21, este placa trae las funcionalida-
des Arduino Zero en el factor de forma
agregando la conectividad SigFox a la
plataforma Arduino.
MKR WAN 1300:
Cosiste en una placa de aprendizaje y
desarrollo que contiene el microcontrola-
dor ATMEL SAMD21, este módulo trae las
funcionalidades Arduino Zero en el factor
de forma agregando la conectividad LoRa
a la plataforma Arduino.

MKR GSM 1400:


Cosiste en una placa de aprendizaje y
desarrollo que contiene el microcontrola-
dor ATMEL SAMD21, este módulo aporta
las funcionalidades Arduino Zero en el
factor de forma agregando conectividad
GSM (2G y 3G) a la plataforma Arduino.

MKR NB 1500:
Esta placa agrega las redes de banda
estrecha IoT y LTE CAT M1 a la plataforma
Arduino.

MKR Vidor 4000:


Este es un nuevo tipo de paca de desa-
rrollo que combina el alto rendimiento y
la flexibilidad de un FPGA con la facilidad
de uso de Arduino, contiene el microcon-
trolador Microchip SAMD21 y un Cyclone
10 FPGA.

MEGA2560: Esta placa está diseñada para proyectos que requieren


más líneas de E / S, más memoria de croquis y más RAM. Con 54
pines de E / S digitales, 16 entradas analógicas y un espacio más
grande para su boceto, es la placa recomendada para impresoras 3D
y proyectos de robótica.
Bibliografía o Referencias
Artero, Ó. T. (2013). Arduino : curso práctico de for-
mación. Mexico: Alfaomega.

coap technology. (s.f.). Obtenido de coap technolo-


gy: http://coap.technology/

Fernando E. Valdés Pérez, R. P. (2007). Microcontro-


ladores: fundamentos y aplicaciones con PIC. Barce-
lona: Marcombo.

Yuan, M. [IBM Developer]. (2017). Conociendo MQTT.


Recuperado de https://www.ibm.com/develo-
perworks/ssa/library/iot-mq-
tt-why-good-for-iot/index.html

IBM®. (s.f.). Protocolos TCP/IP. Recuperado de


https://www.ibm.com/support/knowledgecen-
ter/es/ssw_aix_72/-
com.ibm.aix.networkcomm/tcpip_protocols.htm

Johnny Novillo-Vicuña, D. H. (2018). Arduino y el


Internet de las cosas. Alicante: Área de Innovación y
Desarrollo,S.L.

Cruz, m. (2015). Las tecnologías IOT dentro de la


industria conectada: Internet of things. Madrid: EOI
ESCUELA DE ORGANIZACIÓN INDUSTRIAL.

Pérez, E. M. (2007). MICROCONTROLADORES PIC.


Sistema integrado para el autoaprendizaje. Marcom-
bo, S.A.

Staff, U. (2011). Microcontroladores: Manuales Users


(Spanish Edition). Buenos Aires: RedUsers Usershop.

También podría gustarte