Para realizar un proyecto, muchas veces nos encontraremos con la dificultad de no saber muy bien cómo empezar. La mayoría de proyectos se basan en una idea, pero mucho más amigable será disponer de un Modelo-Visor-Controlador. Cómo?
Aquí vamos a explicar qué necesitamos para entender mejor qué es un modelo Visor-Controlador y por qué es tan importante para el desarrollo de proyectos personales.
MVC – Modelo Vista-Controlador
Un modelo vista controlador sigue un diagrama como el que aparece en la imagen. Seguramente esto no nos dice mucho acerca de en qué consiste un sistema MVC. Pero practicamente todos los sistemas de nuestro entorno coinciden en este modelo para ejecutar las aplicaciones a las que estamos acostumbrados.
Para entenderlo mejor, vamos a añadir un componente importante que es el Usuario, osea nosotros mismos, que somos los que hacemos clic sobre una pantalla táctil, apretamos botones y vemos como las cosas funcionan sin saber qué es lo que hay detrás.
El diagrama modelo vista controlador, en palabras más sencillas se define como un modelo en el que se separan en tres partes, lo necesario para crear una interfaz extensible en el que se define como:
- Vista -> todos aquellos componentes que nos proporcionen información para conocer el estado de un sistema y elegir una acción a ejecutar.
- Controladores -> son los componentes con los que ejecutaremos la acción.
- Modelo -> es el programa que ofrece una respuesta o desarrolla el siguiente proceso entre la ejecución de una acción y la siguiente.
¿Por qué es tan importante saber esto para mi proyecto?
La mayoría de proyectos pueden tener un concepto que los define. Pero sin una interfaz de usuario, nuestro proyecto quedará definido en un 30%.
Como makers novatos, programadores en proceso de formación o simplemente cualquier persona que quiere dar pasos grandes sin una carrera informática a sus espaldas, hemos de reconocer los siguientes hechos a la hora de abordar nuestro proyecto personal.
- Si en nuestra lista de objetivos, existe un usuario que puede personalizar opciones, ya tenemos que invertir tiempo en algo que no es solamente el concepto del proyecto.
- Nuestro tiempo es limitado. Y la escasez de tiempo es proporcional a la edad.
- Tenemos una alta tendencia a perder el foco.
- No tenemos tantos conocimientos como creemos.
- Cualquier formato de proyecto ya ha sido inventado.
Es por ello que antes de ponerse a programar, conviene tener una metodología y definir unos objetivos, teniendo muy claro que muchas veces es más importante el resultado práctico, aunque no sepamos muy bien como hemos llegado hasta ahí.
Aprende a crear tu sistema MVC con Arduino
Para aprender a crear tu propio sistema MVC y algunas aplicaciones prácticas puedes acceder a nuestro curso abierto para instalar las librerías necesarias y empezar a crear un proyecto en condiciones con este nuevo paradigma.
En nuestro curso aprenderemos a:
- Instalar distintos controladores y ejecutar eventos
- un Encoder,
- un teclado KeyPad,
- Creación de menús personalizados
- Instalar y visualizar menus en pantallas
- LCD
- TFT
- Ejecutar acciones externas mediante este modelo orientado a proyectos.
Sistemas MVC que podemos desarrollar
Los modelos constructivos pueden ser variados.
- Una estación física con pantalla y controlador.
- Un programa con comandos – Control por terminal.
- Una aplicacion con interfaz de comunicación remota.
Montaje de estación con Pantalla – Controlador
Esta es la que más nos gusta a los makers, ya que es un modelo físico que nosotros mismos podemos montar.
Para facilitar este proceso, hemos desarrollado un conjunto de piezas en Thingiverse para descargar e imprimir en 3D.
Estas piezas son compatibles con Lego, por lo que la mayor parte de la estructura se puede construir con las piezas que tengamos por casa y las piezas que imprimiremos en 3D son las que utilizaremos para fijar nuestra pantalla, botones, teclado, y componentes asociados.
De esta forma, podemos contruir una estación de pruebas con todas nuestras necesidades e incorporar adicionalmente otros aparatos.
Programa con comandos por terminal.
Una de las posibilidades disponibles es el uso de un programa que pueda mandar operaciones desde el propio ordenador. Comunmente en sistemas como Arduino, utilizaremos el monitor Serie para realizar la captura de eventos de teclado a través de nuestro puerto serie.
Este modelo precisa de tener una conexión física con un ordenador.
Aplicación con comunicación remota
Otra de las posibilidades disponibles , similar a la anterior , es el uso de un control remoto, en el que deberemos de diseñar una interfaz dentro de una aplicación móvil por poner un ejemplo y definir una serie de botones que ejecuten la transmisión de una orden hacia nuestro modelo.
La diferencia con el anterior es que no existe un comunicación física al dispositivo, pero los datos que se envían de forma inalámbrica en esencia pueden ser los mismos.