Documentos de Académico
Documentos de Profesional
Documentos de Cultura
módulos
electrónicos
SUBTEMAS:
Funciones
attachInterrupt()
millis()
microseconds()
Aplicaciones con pulsadores
Aplicación: Turbo Timer
Programación de módulos electrónicos
Funciones
Una función es un bloque de código que tiene un nombre y un
conjunto de instrucciones que son ejecutadas cuando se llama a
la función.
Este código está separado del código principal del programa,
realiza una tarea específica y regresa a la zona del programa
donde fue llamada.
Funciones
Una función al igual que una variable se debe crear fuera de los bloques “void loop” y “void setup”.
Estas deben llevar una nombre y un tipo. Los nombres de funciones no deben repetirse.
Para utilizar una función esta debe ser “llamada”, se llamara a la función escribiendo el
Nombre_De_Funcion seguido de los paréntesis “(“ y “)”
Nombre_De_Funcion();
Programación de módulos electrónicos
Funciones: Ejemplo
void setup(){
pinMode(13,OUTPUT);
}
void loop(){
ParpadearLED();
}
void ParpadearLED(){
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
Las funciones de tipo “void” son funciones que solo }
ejecutan los procesos
Programación de módulos electrónicos
Interrupciones
Las interrupciones con Arduino nos permitirán reaccionar a eventos externos a la placa de una forma
rápida. Cuando se detecta una señal, una interrupción, interrumpe el proceso que se está ejecutando.
Esto nos va a permitir dos cosas. Por un lado, ejecutar rápidamente un trozo de código, y por otro lado
parar la ejecución del código que se estaba ejecutando.
Programación de módulos electrónicos
Interrupciones
attachInterrupt(pin, ISR, modo)
Esta función nos va a permitir definir o configurar uno de los pines como un puerto de interrupción. Los tres
parámetros que admite son:
• Pin Indica que pin vamos a utilizar como interrupción.
• ISR: es una abreviatura de Interrupt Service Routine y no es más que la función que se llama cuando se
produce la interrupción.
• modo: define cuando debe ser disparada la interrupción. Puede tomar cuatro valores constantes
dependiendo de lo que queramos hacer:
• LOW
PINES
• CHANGE PLACA
INTERRUPCIONES
• RISING Uno, Nano, Mini 2, 3
• FALLING Mega, Mega2560, MegaADK 2, 3, 18, 19, 20, 21
• HIGH
Programación de módulos electrónicos
Interrupciones: Ejemplo
SIM1
AREF
13
13
12
ARDUINO
RESET 12
11
~11
10
5V ~10
9
~9
8
SIMULINO
8
POWER
GND
ATMEGA328P
7
7
DIGITAL (PWM~)
6
~6
ATMEL
A0 5
ANALOG IN
A0 ~5
A1
A1 4
4 START
A2 3
A2 ~3
A3 2
A3 2
A4 1
A4 TX > 1
A5
A5 RX < 0
0 STOP
www.arduino.cc
blogembarcado.blogspot.com
SIMULINO UNO
RXD
TXD
RTS
CTS
Programación de módulos electrónicos
Funciones de temporización
millis();
Se usa para medir tiempo. Está instrucción te da el tiempo en
milisegundos desde que se encendió la tarjeta Arduino. Una de los
principales usos es el determinar el tiempo que ha pasado entre dos o
más procesos del programa principal.
micros();
Devuelve el número de microsegundos desde que la placa Arduino
comenzó a ejecutar el programa actual. Este número se desbordará
(volverá a cero) después de aproximadamente 70 minutos.
Programación de módulos electrónicos
TurboTimer
El propósito principal de un temporizador de este tipo es mantener encendido el motor al ralentí (mínimo) por
un lapso de tiempo determinado o configurable después de haber quitado la llave de encendido, de esta forma
podremos cerrar el vehículo y el temporizador se encargara de apagar el motor según los segundos o minutos
programados.
Programación de módulos electrónicos
TurboTimer
Programación de módulos electrónicos
TurboTimer +24v
SIM1 12V
IO13 2N2222
AREF
10k
13 IO13
13
12
ARDUINO
RESET 12
11
~11
10
5V ~10
9
~9
8
SIMULINO
8
POWER
GND
ATMEGA328P
7 ENCENDER APAGAR
7
DIGITAL (PWM~)
6
~6
ATMEL
A0 5 IO2 IO3
ANALOG IN
A0 ~5 SW-SPST SW-SPST
A1 4
A1 4
A2 3 R5 R7
A2 ~3 IO3 10k 10k
A3 2 IO2
A3 2
A4 1
A4 TX > 1
A5 0
A5 RX < 0
www.arduino.cc
blogembarcado.blogspot.com
SIMULINO UNO
Actividad Virtual
Programación de módulos electrónicos
Actividad Virtual
Muestre empleando el monitor serial la cuenta regresiva para el apagado del motor.
Gracias