Archivo de la categoría: Proyecto

Itinerario Formación Arduino

Con este escenario, en un acercamiento a esta disciplina, se busca el desarrollo de hardware abierto como Arduino permiten construir dispositivos digitales y dispositivos interactivos para controlar objetos del mundo real. Así, se presenta el siguiente itinerario desde un nivel básico para ir paso a paso profundizando en sus contenidos para luego pasar a otros cursos más específicos como programación o gestión de proyectos:

Arduino Iniciación (Nivel 1)20 h
Arduino Intermedio (Nivel 2)20 h
Programación Arduino (Nivel 3)20 h
Proyectos con Arduino (Nivel 4)20 h
Arduino Avanzado (Nivel 5)20 h

Ver Anexo I con el material necesario para impartir los cursos de este itinerario.

Arduino Iniciación (Nivel 1)

Objetivo

El objetivo de este curso es que el alumno obtenga un conocimiento inicial de la plataforma Arduino y sea capaz de realizar proyectos de dificultad media con cualquiera de las diferentes placas Arduino o compatibles.

Toda la documentación del curso y el código usado es libre y accesible desde https://www.aprendiendoarduino.com/

Al finalizar el curso el alumno será capaz de:

  • Conocer el HW Arduino
  • Manejar la plataforma Arduino
  • Saber cuándo Arduino es una buena solución a un proyecto o idea.
  • Conocer el lenguaje de programación
  • Conocer el potencial de Arduino para usar aplicación sencillas
  • Aprender a usar las entradas analógicas y digitales
  • Aprender a usar las salidas analógicas y digitales
  • Manejar sensores y periféricos con Arduino

Requisitos Alumnos

No son necesarios requisitos previos de los alumnos para asistir a este curso

Contenido del Curso

  • Primeros Pasos con Arduino
  • IDE Arduino
  • Simuladores Arduino
  • Tipos de Placas y Shields Arduino
  • Herramientas de Programación Visual
  • Programación Básica Arduino
  • Componentes Electrónicos
  • Entradas y Salidas Digitales
  • Entradas Analógicas
  • PWM
  • Manejo de Sensores

Arduino Intermedio (Nivel 2)

Objetivo

El objetivo de este curso es que el alumno obtenga un conocimiento intermedio de la plataforma Arduino y sea capaz de realizar proyectos de cierta dificultad con cualquiera de las diferentes placas Arduino o compatibles. Este curso es complemento al curso de Iniciación.

Toda la documentación del curso y el código usado es libre y accesible desde https://www.aprendiendoarduino.com/

Al finalizar el curso el alumno será capaz de:

  • Uso de Memoria en Arduino
  • Manejar librerías Arduino
  • Programar y ejecutar programas en la plataforma Arduino y compatibles
  • Usar eficazmente el entorno de programación
  • Manejar motores y actuadores con Arduino para interactuar
  • Manejar sensores y periféricos complejos
  • Usar comunicaciones serie.

Requisitos Alumnos

Será necesario haber realizado el curso de Iniciación a Arduino o tener unos conocimientos básicos de Arduino..

Contenido del Curso

  • Repaso Arduino Básico
  • Simuladores Arduino
  • Uso de Librerías Arduino
  • Programación Arduino
  • Uso de Memoria en Arduino
  • Manejo de Sensores y periféricos
  • Manejo de Motores 
  • Comunicación Serie
  • Bus I2C
  • Protocolo TCP/IP en Arduino
  • Conexión Arduino a Internet

Curso Programación Arduino (Nivel 3)

Objetivos

El objetivo de este curso es que el alumno aprenda los principales conceptos de la programación de Arduino en particular y por extensión los principios y técnicas de programación general que podrían aplicarse a casi cualquier lenguaje de programación.

Este curso está diseñado para personas que ya conocen Arduino y el mundo de los microcontroladores y la electrónica pero no tienen conocimientos o solo básicos de programación.

Toda la documentación del curso y el código usado es libre y accesible desde https://www.aprendiendoarduino.com/

Al finalizar el curso el alumno será capaz de:

  • Programar Arduino con soltura
  • Uso básico de un sistema de control de versiones
  • Conocer estructuras complejas de programación
  • Manejar y crear librerias Arduino
  • Programas placas y microntroladores compatibles con Arduino
  • Hacer debug de programas
  • Programar comunicaciones serie.

Requisitos Alumnos

Para realizar este curso, el alumno debe haber asistido a alguno de los cursos de iniciación o intermedio de Arduino o tener experiencia en la plataforma de hardware libre Arduino y tener conocimientos básicos de electrónica. 

Contenido del Curso

  • Repaso Conceptos Arduino 
  • Programación Avanzada Arduino
  • Clases y Objetos en Arduino
  • Manejar y Crear Librerias Arduino
  • Comunicaciones Arduino
  • Manejo Avanzado de Strings
  • Multitarea en Arduino

Curso Proyectos Arduino (Nivel 4)

Objetivos

El objetivo de este curso es que el alumno aprenda a realizar proyectos con Arduino y a documentar adecuadamente los proyectos. Aprenderá a usar el entorno de programación utilizado por Arduino, el lenguaje de programación usado, realizar proyectos, ejecutarlos sobre la plataforma y documentarlos.

Toda la documentación del curso y el código usado es libre y accesible desde https://www.aprendiendoarduino.com/

Al finalizar el curso el alumno será capaz de:

  • Diseñar, planificar y ejecutar un proyecto con Arduino
  • Usar eficazmente herramientas de documentación
  • Manejar un sistema de control de versiones
  • Hacer testeo y depuración de errores
  • Programas placas y microcontroladores compatibles con Arduino

Requisitos Alumnos

Para realizar este curso, el alumno debe haber asistido a alguno de los cursos de iniciación o intermedio de Arduino o tener experiencia en la plataforma de hardware libre Arduino y tener conocimientos básicos de electrónica. 

Contenido del Curso

  • Repaso Conceptos Arduino 
  • Primer Proyecto con Arduino
  • Programación Arduino
  • Manejo de Sensores Actuadores y periféricos
  • Planificación y Diseño de Proyectos
  • Documentación de Hardware
  • Documentación del Código y Control de Versiones
  • Testeo y Depuración de Errores
  • Plataformas de Publicación de Proyectos
  • Proyectos Final de Curso.

Curso Arduino Avanzado (Nivel 5)

Objetivo

El objetivo de este curso es ampliar conocimientos sobre la plataforma Arduino para poder abordar proyectos complejos y usar usar otra placas compatibles con Arduino.

Toda la documentación del curso y el código usado es libre y accesible desde https://www.aprendiendoarduino.com/

Al finalizar el curso el alumno será capaz de:

  • Realizar proyectos complejos
  • Conocer la programación de Arduino más allá del core de Arduino
  • Interactuar con el mundo exterior a través de órdenes enviadas desde un ordenador o desde un dispositivo móvil y comunicarse a través de Internet.
  • Crear librerías propias o modificar las existentes para mejorar las funcionalidades.

Requisitos Alumnos

Para la realización de este curso es necesario haber realizado el curso de iniciación de Arduino y el curso de programación o tener conocimientos y experiencia en la creación de proyectos con Arduino. También es necesario conocimientos de programación (especialmente C++), redes TCP/IP y protocolos de comunicación, microcontroladores, electrónica, uso de sensores, actuadores, motores, etc…

Contenido del Curso

  • Repaso Conceptos Básicos Arduino
  • Hardware Avanzado Arduino (Alimentacion, Memoria, I/O Ports, etc…)
  • Programación Avanzada Arduino (Librerías, Clases y Objetos, Punteros, Debug, etc…) 
  • Manejo Avanzado Arduino (Buses, Interrupciones, Watchdog, etc…)
  • Comunicaciones Arduino (Bluetooth, Serie, Ethernet y WiFi.
  • Programación de Placas Compatibles Arduino.

Propuestas de Proyecto Final de Curso 2019

Criterios de Evaluación Proyectos Arduino

Cada apartado se puntúa 0 o 1, siendo un total de 12 puntos el máximo a obtener. Se considera apto obtener un 5.

    • Documentación
    • Código
    • Complejidad Proyecto
    • Análisis Previo
    • Diagrama de Flujo
    • Esquemático, Materiales y Coste
    • Pasos y Desarrollo del Proyecto
    • Uso del control de versiones
    • Funcionalidad
    • Pruebas Realizadas
    • Mejoras
    • Herramientas Adicionales (3D, Comunicaciones, etc…)

Cuentas Utilizadas por los Alumnos.

Rodolfo – Brazo Robótico Didáctico

Project: https://create.arduino.cc/projecthub/rodolfoticcosme/brazo-robot-didactico-con-3-grados-fd7c40?ref=user&ref_id=1152623&offset=0 

Repositorio: https://github.com/rodolfoticcosme/Proyecto-Arduino-Robot

App Inventor: http://ai2.appinventor.mit.edu/?galleryId=6509315643539456 

Marcos García – Control vía WiFi de una pequeña instalación domótica

Project: https://create.arduino.cc/projecthub/fonzacity

Project en Hackster.io: https://www.hackster.io/fonzacity/home-automation-with-esp8266-1fd2af

Wiki: https://github.com/fonzacity/proyecto-curso-arduino/wiki 

Repositorio: https://github.com/fonzacity/proyecto-curso-arduino

Luis – Control del sistema de refrigeración en bastidor de PC

Project: https://create.arduino.cc/projecthub/zubicantabria/control-del-sistema-de-refrigeracion-en-bastidor-de-pc-63a355?f=1

Repositorio: https://github.com/zubicantabria/ControlRefrigerarPC

Marcos Cochi – Bus Arriving Project

Project: https://create.arduino.cc/projecthub/mcochi/bus-arriving-project-7230fe?ref=user&ref_id=1153680&offset=0

Repositorio: https://github.com/mcochi/BusArrivingProject

Iván – Sensores Humedad MQTT

Project: https://create.arduino.cc/projecthub/thinkcurso/sensorhumedad-mqtt-c6e07a

Repositorio: https://github.com/thinkcurso/sensors-MQTT

Vídeo de Presentación: https://youtu.be/lmC6PZDFOe4 

Ernesto – Monitorización Oficina con Thingspeak

Project: https://create.arduino.cc/projecthub/Ernesto_Rodriguez/inmotica-pequeno-control-de-una-oficina-d2a128

Repositorio: https://github.com/Ernestorodriguezc/curso-arduino-proyectos/blob/master/DHTtesterDEPURADO_2Sensores/DHTtesterDEPURADO_2Sensores.ino

Canal compartido de Thingspeak: 82338. Link: https://thingspeak.com/channels/823382

Arturo – Robot Básico BT

Project: https://create.arduino.cc/projecthub/bacterio3000/robot-basico-bt-0182eb?ref=user&ref_id=1152625&offset=0

Repositorio: https://github.com/bacterio3000/PruebaCurso

Para bluetooth usa: https://www.keuwl.com/apps/bluetoothelectronics/

Código en ArduinoBlocks: http://www.arduinoblocks.com/web/project/68631

Noelia – Control de Relay con Arduino desde APP

Project: https://create.arduino.cc/projecthub/nolmos/control-de-relay-con-arduino-desde-app-c63b2c

Repositorio: https://github.com/noelia-olmos/Proyecto_Arduino_App_Bluetooht 

APP Inventor: http://ai2.appinventor.mit.edu/?galleryId=6286670243168256

Enrique – Robot MiniSumo

Project: https://create.arduino.cc/projecthub/jecrespo/construccion-y-programacion-de-robot-minisumo-25c4b7

Repositorio: https://github.com/jecrespo/Robot-MiniSumo

Enrique – Conference Clock

Project: https://create.arduino.cc/projecthub/jecrespo/arduino-conference-clock-1b9354

Repositorio: https://github.com/jecrespo/conference_clock

Criterios de Evaluación de los Proyectos

Criterios de Evaluación/Partes del proyecto a valorar:

  • Complejidad del proyecto
  • Calidad de la documentación
  • Calidad del código
  • Motivación y descripción de proyecto.
  • Análisis previo de necesidades
  • Justificación de la elección de la placa, medio de comunicación, componentes, sensores, etc…
  • Justificación de la elección de librerías y documentación de su uso
  • Justificación del software usado
  • Diagrama de flujo como documentación de firmware y luego su uso en la fase de testeo
  • Lista de materiales, datasheet, enlaces y precios
  • Presupuesto
  • Cálculo de horas de trabajo
  • Esquemáticos y otra documentación del montaje (Fritzing)
  • Descripción del software utilizado
  • Descripción herramientas utilizadas
  • Descripción de los pasos y las diferentes fases de desarrollo
  • Videos y demos
  • Test realizados para comprobar las funcionalidades del proyecto (análisis funcional)
  • Posibles mejoras futuras y funcionalidades a desarrollar.
  • Uso de un sistema de control de versiones.
  • Incluir temas adicionales como diseño 3D (Tinkercad, freecad), diseño de apps moviles (app inventor) o diseño de software (python, processing, etc…), diseño de PCB (KiCad)
  • Uso de otras placas o HW como Raspberry Pi
  • Uso de protocolos y comunicación (mosquitto, Node-RED, etc…)

Plataformas de Publicación de Proyectos Arduino

Webs con proyectos Arduino de todo tipo:

Tutorial de Arduino Project Hub: https://www.hackster.io/Arduino_Genuino/how-to-submit-content-on-arduino-project-hub-cf2177

Planificación y Diseño de Proyectos con Arduino

Cuando nos planteamos un nuevo proyecto con Arduino, es aconsejable seguir una serie de pasos para conseguir el éxito. Además de los pasos que habría que seguir en cualquier proyecto, es muy importante hacer una buena planificación antes de empezar a comprar los elementos y ponernos a programar.

  • Analizar los requisitos de nuestro proyecto, obtenido el número de de entradas y salidas digitales y analógicas que vamos a necesitar, los tipos de comunicación que vamos a utilizar y los shields que vamos a usar. Con todo ello debemos elegir la placa más adecuada para nuestro proyecto.
  • Hacer la elección de los sensores, actuadores, periféricos. Para ello debemos buscar qué dispositivos se adaptan a nuestras necesidades y posteriormente asegurarse para cada dispositivo como va a interactuar con Arduino y si vamos a necesitar drivers para los actuadores/periféricos. Comprobaremos que las librerías que acompañan a cada dispositivo tiene las funcionalidades que hay en los requisitos del proyecto.
  • En la parte de hardware es importante hacer el esquema eléctrico y obtener las partes o piezas que vamos a usar, para ello nos podemos ayudar de fritzing como hemos visto anteriormente.
  • El siguiente paso es planificar la programación, buscar las librerías que vamos a necesitar y asegurarse de tener todas la librerías importadas y en el caso que trabajemos varias personas en proyecto, que usemos todos las mismas librerías con las mismas versiones.
  • Realizar el diagrama de flujo en la fase de diseño para mejorar el software y asegurarse de programar todas las opciones.

Ejemplo de Planificación

Imaginemos que el departamento de Prevención que nos han pedido hacer un proyecto de un medidor de confort para oficinas. Habrá que medir temperatura, humedad, calidad del aire en 2 ubicaciones concretas, además se instalará una bombilla de alarma que se encenderá cuando se sobrepasen algunos de los parámetros de confort y un botón para resetear esa alarma. Por último mandará un correo electrónico diario a los responsables del departamento con los valores medios medidos.

Práctica: Hacer el análisis de este proyecto.

Elementos necesarios: