Programación Esencial en Arduino: Entradas Digitales, Funciones y Tipos de Datos
Clasificado en Informática
Escrito el en español con un tamaño de 3,69 KB
EJERCICIO 2: Entrada Digital con Interruptor
Montaje: Básico
Código: Ejemplo Button
Contenidos Clave:
- Entrada digital
- Empleo de condicionales
- Funciones: definición y utilización
Funciones en Programación Arduino
Una función es un bloque de código identificado por un nombre y que se ejecuta cuando es llamada.
Ventajas de Utilizar Funciones:
- Ayudan al programador a ser más organizado. Por ejemplo, al leer un sensor, se define una función que puede ser llamada las veces que se desee. Si es necesario redefinirla, la función se modifica una sola vez, en lugar de en cada llamada.
- Facilitan la reutilización de código en otros programas.
- Pueden ser codificadas antes o después de la función
loop()
. - Existen funciones que devuelven un valor y otras que solo realizan una acción.
La declaración de una función incluye, en primer lugar, el tipo de datos que devuelve la función (ej. int
si lo que devuelve es un valor entero), seguido del nombre de la función y, entre paréntesis, los argumentos o parámetros que la definen y necesita. El código de la función se encierra entre llaves {}
.
EJERCICIO 4: Control de LEDs y Zumbador
Montaje: 3 LEDs y un Zumbador
Código de Partida: Ejemplo Blink Without Delay
Contenidos Clave:
- Funciones de tiempo predefinidas
- Tipos de datos y variables
Funciones de Tiempo y Matemáticas
delay(ms)
: Realiza una pausa en el programa por la cantidad de tiempo en milisegundos especificada en el parámetro.millis()
: Devuelve la cantidad de milisegundos que lleva la placa Arduino ejecutando el programa actual como un valorunsigned long
. Después de aproximadamente 49 días, el contador vuelve a 0.min(x, y)
ymax(x, y)
: Devuelven el mínimo y el máximo, respectivamente, entre sus parámetros.
Tipos de Datos en Arduino
byte
: Almacena un valor numérico de 8 bits. Tiene un rango de 0 a 255.int
: Almacena un valor entero de 16 bits con un rango de -32,768 a 32,767.long
: Valor entero almacenado en 32 bits con un rango de -2,147,483,648 a 2,147,483,647. Dentro de este tipo se encuentraunsigned long
, que no permite números negativos, por lo que su rango es de 0 a 232-1.float
: Tipo de coma flotante almacenado en 32 bits con un rango de -3.4028235E+38 a 3.4028235E+38.
Arrays (Vectores)
Se trata de una colección de valores del mismo tipo que pueden ser accedidos mediante un índice numérico (el primer índice es 0). Su declaración y utilización en Arduino se abordarán en próximos capítulos.
Modificación del Ejercicio 4:
- Los LEDs parpadean sucesivamente en el orden rojo, amarillo y verde, sin utilizar
delay()
. Se define la funciónparpadeo()
, la cual recibe como parámetro el intervalo de parpadeo. El LED rojo parpadeará cada 500 ms, el amarillo cada 1000 ms y el verde cada 1500 ms. - Montar el zumbador. Tras el parpadeo de los tres LEDs, el zumbador emitirá un sonido. El tiempo de duración del sonido será determinado por una función llamada
suena()
, cuyo valor será el menor de los intervalos de parpadeo de los LEDs. - Similar al punto anterior, pero el tiempo de duración del sonido del zumbador será un número aleatorio entre 100 y 1000 milisegundos.