Como hacer subrutinas en arduino

Como hacer subrutinas en arduino

Como hacer subrutinas en arduino

arduino con múltiples vacíos

Reconozcámoslo, cuando se trata de diseñar y construir un proyecto de microcontrolador interesante, la codificación no suele estar en lo alto de la lista de «partes divertidas». Este artículo presenta el concepto de codificación de las subrutinas a los programadores y fabricantes que buscan formas creativas de abordar la programación de sus microcontroladores. Es una técnica muy útil para el control de servos, la animación o cualquier programa que requiera que se invoquen múltiples acciones en varios momentos dentro del bucle.
La mayoría de mis bocetos de Arduino implican el control en tiempo real de salidas como servos, efectos de sonido y relés. Por lo general, logro esto utilizando controladores de control remoto de estilo «avión» o joysticks de resistencia variable como los controladores de videojuegos reutilizados. Esos bocetos implican una programación bastante sencilla del tipo «si-entonces».
Hace poco terminé un proyecto de animatrónica en el que se buscaba una funcionalidad diferente: un programa autoejecutable que, sin dejar de ser un bucle, diera la apariencia de acciones aleatorias. Fue durante el proceso de programación cuando realmente empecé a sacar provecho de la subrutina.

cómo llamar a subrutinas en arduino

Ninguna de las diferencias es tangible para el recién llegado a Arduino. Tengo previsto publicar algo que me gustaría que acabara siendo ese tutorial de migración a Arduino mencionado en las primeras líneas de este post. Por favor, búsquenlo. De hecho voy a escribirlo fuera de línea, corregirlo y luego compartirlo. Y espero que podamos destruir todos los errores antes de que alguien lo vea. Sólo tú y yo, ¿verdad?
He estado trabajando en esto, de vez en cuando, durante un tiempo. Otras cosas se interpusieron, pero ya está hecho. Este es un pequeño tutorial (artificial) sobre cómo convertir un Sketch de Arduino de varios archivos en un proyecto de C+ adecuado. Que lo disfrutéis.
El Arduino Sketch de varios archivos que estoy usando para este breve tutorial está hecho de un número de diferentes archivos *.ino. Son, en cierto modo, artificiosos, pero es un pequeño ejemplo. El sketch se llama Blink_multifile y los archivos son:
Como puedes ver, no hay mucho que hacer aquí tampoco. La función de bucle llama a otra función, flashLED() pasando dos parámetros. La función flashLED() vive en flashLED.ino que tiene el siguiente código:

parámetros de subrutinas de arduino

Las funciones se encontraron brevemente en la parte 1 de este curso de programación, donde se indicaron algunos hechos básicos sobre las funciones – 1) cada función debe tener un nombre único, 2) el nombre de la función va seguido de paréntesis () 3) las funciones tienen un tipo de retorno, por ejemplo, void, 4) el cuerpo de una función está encerrado entre llaves de apertura y cierre {}.
El nombre de la función termina con paréntesis (). No se pasa nada a la función del ejemplo anterior, por lo que los paréntesis están vacíos. El paso de valores o parámetros a las funciones se explicará más adelante en este tutorial.
La primera vez que se llama a la función, se imprime la línea discontinua que se muestra en la parte superior de la imagen. El texto se escribe entonces en la ventana del monitor serie mediante la declaración que se encuentra debajo de la llamada a la función. La función se llama de nuevo para imprimir la misma línea discontinua que completa la caja.
Una ventaja de usar funciones es que evitan tener que escribir el mismo código una y otra vez en un boceto, lo que ahorra tiempo y memoria. Cada vez que se llama a una función, sólo estamos reutilizando el código que se ha escrito una vez.

lista de funciones de arduino

Una vez que hayas dominado los leds parpadeantes básicos, los sensores simples y los servos de barrido, es hora de pasar a proyectos más grandes y mejores.    Eso suele implicar la combinación de trozos de bocetos más sencillos y tratar de hacerlos funcionar juntos.    Lo primero que descubrirás es que algunos de esos bocetos que funcionaban perfectamente por sí solos, no funcionan bien con otros.
El Arduino es un procesador muy simple que no tiene sistema operativo y sólo puede ejecutar un programa a la vez.    A diferencia de tu ordenador personal o una Raspberry Pi, el Arduino no tiene forma de cargar y ejecutar múltiples programas.
Eso no significa que no podamos gestionar múltiples tareas en un Arduino.    Sólo tenemos que utilizar un enfoque diferente.    Como no hay un sistema operativo que nos ayude, tenemos que tomar el asunto en nuestras manos.
El uso de delay() para controlar la temporización es probablemente una de las primeras cosas que aprendiste al experimentar con el Arduino.    La temporización con delay() es simple y directa, pero causa problemas en el camino cuando se quiere añadir funcionalidad adicional.    El problema es que delay() es una «espera ocupada» que monopoliza el procesador.

Acerca del autor

admin

Ver todos los artículos