Archivo de la categoría: Proyecto

Robot Minisumo V2

Es un robot open source económico y fácil de construir y programar, con el objetivo de acercar la robótica y la programación a cualquiera, especialmente a los niños y niñas.

Robot Minisumo Multifunción. Pensado para competiciones de minisumo, pero puede ser utilizado para aprender a programar otras funciones, como sigue lineas, evita obstáculos, resuelve laberintos o lo que se te ocurra.

Este robot es una versión mejorada del robot publicado en https://aprendiendoarduino.wordpress.com/2019/05/06/construccion-y-programacion-de-robot-minisumo/ 

Repositorio del proyecto: https://github.com/jecrespo/Robot-MiniSumo-V2

Presentación del Robot Minisumo V2 en Arduino Day 2021del Área UR-Maker de la Universidad de La Rioja: link

Lista de Materiales

Montaje del Robot

Conexionado del Robot

Programación con Bloques

Programación con Arduino

Créditos y Patrocinadores

Este proyecto surge del Área UR-Maker de la Universidad de La Rioja

Personas detrás de este proyecto:

  • Alpha Pernía
  • Sergio Peciña
  • Mario Santamaría
  • Enrique Crespo

Proyectos en Node-RED

Los proyectos son una nueva forma de administrar sus archivos de flujo. En lugar de tratar sus flujos como un simple par de archivos (flows_localhost.json y flows_localhost_cred.json), ellos representan todo lo que necesita para crear una aplicación Node-RED redistribuible.

Los proyectos están respaldados por un repositorio de git, lo que significa que todos los archivos están completamente controlados por versiones y permiten a los desarrolladores usar flujos de trabajo similares para colaborar con otros.

Esta característica está disponible desde la versión 0.18: https://nodered.org/blog/2018/01/31/version-0-18-released

Introducción a proyectos en Node-RED: https://www.youtube.com/watch?v=Bto2rz7bY3g 

Para habilitar la función de proyectos, edite su archivo settings.js y agregue la siguiente opción dentro del bloque module.exports y reinicie Node-RED.

 editorTheme: {
        projects: {
            enabled: true
        }
    }, 

La función se basa en tener disponibles las herramientas de línea de comandos git y ssh-keygen. Node-RED los buscará al inicio y le informará si faltan.

Si no se habilita, en el arranque sale: [warn] Projects disabled : editorTheme.projects.enabled=false

La función de proyectos ahora ofrece una opción para un flujo de trabajo de git simplificado. La opción, en Configuración de usuario, le permite habilitar un modo “automático” donde los cambios se confirmarán (commit) automáticamente con cada implementación.

Más información: https://nodered.org/docs/user-guide/projects/

Crear el Primer Proyecto

Cuando abras el editor, serás recibido por una pantalla de bienvenida que te invita a crear tu primer proyecto utilizando tus archivos de flujo existentes.

Configurar el Cliente de Control de Versiones

Node-RED utiliza la herramienta de código abierto Git para el control de versiones. Realiza un seguimiento de los cambios en los archivos de su proyecto y le permite enviarlos a repositorios remotos como github. Cuando realiza un conjunto de cambios, Git registra quién realizó los cambios con un nombre de usuario y una dirección de correo electrónico. El nombre de usuario puede ser el que desee, no es necesario que sea el nombre real.

Puede cambiar la configuración de Git en cualquier momento a través del cuadro de diálogo principal de configuración de Node-RED.

Crear un Proyecto

El siguiente paso permite nombrar su proyecto y darle una descripción.

Crear Archivos de Proyecto

Node-RED migrará automáticamente los archivos de flujo existentes al proyecto. Puede elegir cambiarles el nombre.

Configurar el Cifrado del Archivo de Credenciales

Se puede compartir el proyecto en sitios públicos como GitHub, se recomienda que cifre su archivo de credenciales. Para cifrarlo, se debe elegir una clave que se utilizará para proteger el archivo. Esta clave no se almacena dentro del proyecto. Si alguien más clona el proyecto, deberá proporcionar la clave para descifrar el archivo de credenciales. De lo contrario, deberán editar el flujo para proporcionar sus propias credenciales.

A continuación, se crea el proyecto en el directorio: ~/.node-red/projects/<nombre-proyecto>

Una vez se haya creado el proyecto, se puede continuar usando el editor Node-RED como siempre. Hay algunas partes nuevas del editor que se han agregado para trabajar con su proyecto como la parte de control de versiones.

Puede haber tantos proyectos como queramos. Si un proyecto está activo, el resto no funciona. SOLO PUEDE HABER UN PROYECTO ACTIVO.

¿Cómo sabe Node-RED que proyecto está activo? en el fichero .config.projects.json  pone cual es el active project y además los proyectos que hay en esa instancia de Node-RED, en este fichero se ve la contraseña de cifrado del proyecto en texto plano!!!

En .config.users.json tenemos los usuario y los datos de git.

Trabajar con Proyectos

La barra lateral de información ahora muestra en qué proyecto está trabajando en la parte superior. Junto al nombre del proyecto hay un botón que abre el cuadro de diálogo Configuración del proyecto.

Hay tres tabs:

  • Project – lets you edit the project’s README.md file.
  • Dependencies – manage the list of node modules your project depends on
  • Settings – manage the project settings, including the git remotes

Cada proyecto tiene su propio archivo package.json que incluye una lista de módulos de nodo de los que depende el proyecto. El editor Node-RED realiza un seguimiento de los nodos que está utilizando en un flujo y ayuda a mantener actualizada esa lista de dependencias.

Mantener la lista de dependencias actualizada es importante si desea compartir el proyecto con otros, ya que ayudará a los usuarios a instalar los módulos necesarios.

La pestaña de configuración del proyecto permite administrar los archivos de flujo, la configuración de cifrado de sus credenciales y configurar las ramas git locales y repositorios remotos.

Control de Versiones

Se ha agregado una nueva pestaña de history a la barra lateral. Aquí es donde se administra el control de versiones del proyecto. La pestaña tiene dos secciones:

  • Cambios locales: muestra los archivos del proyecto que han cambiado, lo que permite organizarlos y confirmarlos.
  • Historial de commits: una lista de todos los commits en el repositorio, con herramientas para enviar commits a repositorios remotos.

Siempre que cambie un archivo de proyecto, por ejemplo, al hacer un deploy de flujo, aparecerá en la sección “Archivos locales”. Puede hacer clic en el nombre del archivo para ver una diferencia de lo que ha cambiado. Cuando coloque el cursor sobre el archivo, verá un botón +; al hacer clic en él, se ubicará el archivo y lo moverá hacia abajo a la lista “Cambios para confirmar”.

Cuando haya preparado los archivos que desea confirmar, haga clic en el botón commit, añadir un mensaje y confirmar.

La sección del historial de commits enumera todas las confirmaciones en la rama actual del repositorio. Cuando crea un proyecto, Node-RED confirma automáticamente el conjunto inicial de archivos predeterminados para el proyecto.

En la parte superior de la lista se encuentra el botón “Branch”. Eso le permite chekout/crear ramas dentro del repositorio.

Si el repositorio tiene un repositorio remoto configurado, también hay un botón que muestra cuántos commits adelante y/o detrás del repositorio local se comparan con el remoto. Permite elegir el control de rama remota para rastrear y push/pull de los cambios al control remoto.

Esta es un área que el editor de Node-RED intenta simplificar la experiencia del usuario y no expone todas las diversas opciones que proporciona git. Por ejemplo, no proporciona opciones para reajustar sus commits locales o forzar push de cambios en el control remoto. Aún puede hacer esas cosas volviendo a la línea de comandos.

Crear Nuevos Proyectos

Desde Projects -> New es posible crear nuevos proyectos y dispone de tres opciones:

  • Abrir un proyecto existente
  • Crear un nuevos proyecto
  • Clonar un proyecto de un repositorio

Node-RED solo ejecuta un proyecto a la vez. Al abrir otro proyecto, cambia los flujos que se están ejecutando.

La vista “proyecto abierto” también permite eliminar proyectos colocando el cursor sobre ellos en la lista y haciendo clic en el botón Eliminar. No puede eliminar el proyecto activo.

Clonar un proyecto de un repositorio, permite clonar un repositorio remoto existente. Puede usar una URL http(s) o git/ssh para el repositorio. Si el repositorio requiere autenticación, debe proporcionarse en esta opción. Actualmente, Node-RED no utiliza ningún asistente de credenciales con el que pueda estar configurado el cliente git.

Para conectar con la cuenta de github simplemente poner usuario y contraseña, pero si tengo activado el 2FA debo crea un token como se indica aquí: https://www.amitmerchant.com/using-github-password-terminal-2fa/

Para git/ssh, Node-RED ofrecerá una lista de claves públicas ssh disponibles. Esta lista se genera escaneando ~/.ssh en busca de archivos que terminen en .pub y que tengan los archivos de clave privada correspondientes. También le permite generar un nuevo par de claves pública/privada a través de la pestaña “Git config” del cuadro de diálogo de configuración principal. Estos archivos se almacenan en ~ /.node-red/projects/.sshkeys /. Si tiene adminAuth habilitado, los archivos se asignan al usuario que ha iniciado sesión actualmente, por lo que no es necesario que comparta las credenciales para el control remoto.

Más información en https://binnes.github.io/Node-RED-container-prod/Node-REDsourceControl/index.html

Manejar multiproyectos: https://flows.nodered.org/node/node-red-contrib-multiproject (no testeado)

Ejemplo

Probar a clonar estos proyectos sin la clave:

Cuando se clone, avisará de un error que no hay clave de cifrado o es incorrecta, entonces hay que ir a “Project Settings” y en settings poner una nueva clave de cifrado.

Una vez puesta la nueva clave de cifrado, tendremos el flujo completo, pero los datos de contraseñas no se habrán importado y habrá que ponerlos a mano, editando los nodos de configuración y los nodos que correspondan.

En el caso que en el flujo clonado haya un nodo que no se haya instalado avisará del error para que se instale.

Si proporciona la clave correcta, el clonado también incluye los usuarios y contraseñas y puede usarse directamente el flujo si se tienen instaladas todas las dependencias.

Automatizar Proyectos

La opción de proyectos me permite distribuir de forma automatizada usando git, el código publicado en otras instancias de Node-RED, ya sea de un entorno de desarrollo a uno de producción una vez testeado o bien de un entorno de producción a múltiples entornos de producción.

En el caso que deseemos distribuir un mismo código a múltiples nodos que hace la misma tarea, se puede automatizar usando git y hacer las diferencias de variables de cada nodo usando las variables de entorno de cada nodo.

Esto es interesante en un entorno con múltiples instancias de Node-RED distribuidas (nodos) que deseemos actualizar de forma automatizada. Por ejemplo, nodos en diversas instalaciones que recogen datos de PLCs y los mandan a una BBDD central, para ello hacemos un push al repositorio y luego desde cada nodo un pull que recoja la actualización y luego hacer el deploy por comando (o reinicio de Node-RED) para actualizar el nodo remoto.

Sistema de automatización de control de versiones y backup a través de git:

  • Copia por flujo o total en directorio que tenga git y haga un pull
  • Guardar los cambios de forma manual o sino automática usando la API en un proceso periodico
  • luego usar CI cada vez que se haga deploy

Nota de como hacer backup de Node-RED: https://github.com/langanjp/PI-NodeRed/wiki/Node-RED-Backup

Mejoras Futuras

Obtenido de https://nodered.org/blog/2020/10/13/future-plans

We have had the projects feature in Node-RED for a long time now – bringing the ability to version control flows directly into the editor. But there’s more to be done in this area.

The 1.2 release has introduced a new simplified git workflow – where changes are automatically committed whenever the deploy button is clicked. That’s important for users who are less experienced with Git version control – they will benefit without having to know about committing changes themselves.

And there are other areas we need to improve:

  • Managing project dependencies. At the moment the editor lets you edit the dependencies yourself, and it tries to give some hints on what needs doing, but that whole user experience needs to be improved.
  • Accessing earlier versions of a project. Having a full history of changes is not much use if you can’t easily go back to an earlier version. It is possible to do on the command-line – but that isn’t the right answer if we want this to be accessible to all users within the editor.
  • Adding settings.js to a project. For a project to be a complete deployable artefact, it needs a settings file. At the moment, that has to be created and added to the project manually. There’s more the editor could do to help with this – the hard part is managing the project’s settings file versus the runtime settings file – but that’s a discussion for another time.
  • Adding a Dockerfile to a project. A common pattern for deploying projects into a production environment is via some form of containerisation. Making this quick and easy to setup in the editor would be a big step forward – although very much an optional feature.

I’m sure there are other things we could be doing with the Projects feature to make it much more powerful. As with everything on this roadmap, we’ll be looking to the community for feedback to help expand on the details.

Taller de Programación de Arduino por Bloques con mBlock

En este vídeo hago una introducción a la programación visual de Arduino con mBlock, que está basado en scratch 3.

Material necesario:

  • un ordenador o portátil
  • instalar mBlock 5 desde https://mblock.cc/en-us/download 
  • un Arduino UNO con su cable USB para programarlo
  • una protoboard
  • un LED y una resistencia de 220ohms
  • un pulsador y una resistencia de 10k ohms
  • un sensor de luz o LDR y una resistencia de 10k ohms

Kit iniciación usado: https://www.seeedstudio.com/Grove-Beginner-Kit-for-Arduino-p-2895.html 

mBlock

mBlock es un entorno gráfico de programación basado en el editor Scratch 3.0 para introducir de forma sencilla la programación y robótica en el aula.

Web de mblock: http://www.mblock.cc/ 

mBlock se compone de 5 partes principalmente:

  • Grupo de instrucciones clasificadas por colores en las siguientes categorías:
    • Movimiento: Conjunto de instrucciones relacionadas con el control de los pines de la tarjeta de Arduino, así como el control del movimiento de cualquier personaje del escenario.
    • Apariencia: Instrucciones orientadas a modificar el aspecto de los personajes de nuestra aplicación. Para el caso de Arduino, es un conjunto de instrucciones que apenas se utiliza.
    • Sonido: Conjunto de instrucciones relacionadas con la elaboración de aplicaciones musicales, emitiendo sonidos y notas musicales.
    • Lápiz: Scratch nos ofrece la posibilidad de que los personajes dejen un rastro durante sus movimientos por el escenario como si arrastrase un lápiz durante su trayectoria.
    • Control: Las instrucciones incluídas en esta sección son impresindibles para crear la lógica de nuestros programas. Incluyen condicionales, bucles y llamadas de procedimientos.
    • Sensores: Instrucciones de iteración con el ratón, el teclado, sonidos y los personajes.
    • Operadores: operaciones matemáticas, lógicas y con cadenas de texto.
    • Variables: Instrucciones para el almacenamiento y gestión de datos.
  • Instrucciones de programación: Las instrucciones de cada grupo corresponden a instrucciones de programación.
  • Editor: Es la parte principal donde estructuramos y programamos nuestro programa.
    • Programas: Se compone de todas las instrucciones que hace funcionar el código que programemos.
    • Disfraces: Cada objeto puede tener diferentes apariencias o disfraces para utilizar a lo largo de nuestro programa.
    • Sonido: También es posible añadir o grabar sonidos y guardarlos para futuros usos.
  • Escenario o ventana principal: Es el resultado de nuestro programa.
  • Objetos y sprites: Distinguimos principalmente los objetos de tipo Arduino y Sprites.
    • Los objetos de tipo arduino son aquellos que interactúan con Arduino.
    • Los sprites son similares al entorno de scratch y no interactúan con Arduino.

Proyectos mBlock

mBlock Community https://planet.mblock.cc/ es la web donde se publican los proyectos de mBlock y donde podemos aprender mucho viendo otros proyectos o publicar los nuestros.

Mi usuario en mBlock donde publico los proyectos: https://planet.mblock.cc/u/1004089 

Proyectos del vídeo:

Más información de mBlock:

Itinerario Digitalización Profesorado

Con este itinerario se busca que el profesorado desde primaria hasta bachillerato e incluso formación profesional básica y ciclos formativos de grado medio de formación profesional, conozca las nuevas tecnologías libres relacionadas con la programación y la computación física, para utilizarlas en el aula dentro del programa STEM o con aplicaciones específicas para el aprendizaje de otras áreas.

El objetivo es la capacitación del profesorado para la código-alfabetización y pensamiento computacional.

Se presenta el siguiente itinerario desde un nivel básico para ir paso a paso profundizando en sus contenidos:

Iniciación Arduino para Docentes (Nivel 1)20 h
Iniciación Raspberry Pi para Docentes (Nivel 1)20 h
Iniciación a Micro:bit (Nivel 1)20 h
Programación Visual para Arduino (Nivel 2)20 h
Programación Visual para Raspberry Pi (Nivel 2) – EN DESARROLLO20 h
Programación Visual Micro:bit (Nivel 2) – EN DESARROLLO20 h
Proyectos Arduino para Docentes (Nivel 3)20 h
Proyectos Raspberry Pi para Docentes (Nivel 3) – EN DESARROLLO20 h
Robótica Educativa (Nivel 3) – EN DESARROLLO20 h

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

Iniciación Arduino para Docentes (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 para aplicar en el aula 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 en el aula
  • 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
  • Hardware Educativo
  • Herramientas de Programación Visual
  • Programación Básica Arduino
  • Componentes Electrónicos
  • Manejo de Sensores

Iniciación Raspberry Pi para Docentes (Nivel 1)

Objetivo

El objetivo de este curso es que el alumno obtenga un conocimiento inicial de la placa de desarrollo basada en linux y sea capaz de instalar, configurar y realizar proyectos sencillos para aplicar en el aula.

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 Raspberry Pi
  • Instalar Raspbian
  • Realizar configuraciones básicas
  • Saber cuándo Raspberry Pi es una buena solución a un proyecto educativo
  • Conocer la programación visual Scratch
  • Aprender a usar el GPIO de Raspberry Pi
  • Manejar sensores y periféricos con Raspberry Pi

Requisitos Alumnos

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

Contenido del Curso

  • Qué es Raspberry Pi
  • HW Raspberry Pi
  • Tipos de Placas y Hats Raspberry Pi
  • GPIO
  • Instalación Raspbian
  • Programación Scratch
  • Entradas y Salidas Digitales
  • Manejo de Sensores y periféricos

Iniciación a Micro:bit (Nivel 1)

Objetivo

El objetivo de este curso es que el alumno obtenga un conocimiento inicial de la plataforma de programación Micro:bit y sea capaz de realizar proyectos para aplicar en el aula 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 Micro:bit
  • Manejar la plataforma Micro:bit
  • Saber cuándo Micro:bit es una buena solución para un proyecto en el aula.
  • Conocer el lenguaje de programación
  • Conocer el potencial de Micro:bit en el aula
  • Manejar sensores y periféricos con Micro:bit

Requisitos Alumnos

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

Contenido del Curso

  • Primeros Pasos con Micro:bit
  • Hardware Micro:it
  • Programación Micro:bit
  • Hardware adicional para Micro:bit
  • Componentes Electrónicos
  • Manejo de Sensores

Programación Visual para Arduino (Nivel 2)

Objetivo

El objetivo de este curso es que el alumno aprenda las opciones para programar Arduino con lenguajes visuales y utilice la opción más adecuada en cada caso. Con estos lenguajes se podrá desarrollar el pensamiento computacional en el aula e introducir los principios de la programación.

Este curso está diseñado para personas que ya conocen Arduino y el mundo de los microcontroladores.

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 usando diversos lenguajes visuales
  • Programar Arduino usando el lenguaje propio de Arduino
  • Programar Arduino usando otros lenguajes (Lua, Go, Python, etc…)
  • Manejar librerias Arduino
  • Programas placas y microcontroladores 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 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 
  • Lenguajes de Programación Visual
  • Programación Arduino
  • Otros Lenguajes de Programación Arduino
  • Librerias Arduino
  • Comunicaciones Arduino
  • Debug Arduino

Proyectos Arduino para Docentes (Nivel 3)

Objetivo

El objetivo de este curso es el perfeccionamiento técnico para formadores enfocado a “Realización de Proyectos basados en 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:

  • Manejar la plataforma Arduino
  • Saber cuándo Arduino es una buena solución a un proyecto o idea.
  • Conocer el lenguaje de programación
  • Programar y ejecutar programas en la plataforma Arduino y compatibles
  • Usar eficazmente el entorno de programación
  • Aprender a manejar componentes de hardware para recibir señales externas mediante sensores
  • Controlar elementos que nos rodean para interactuar con el mundo físico mediante actuadores
  • Conectar Arduino a Internet
  • Usar Arduino en un entorno de aprendizaje por proyectos
  • Planificar, diseñar e implementar proyectos basados en Arduino.
  • Documentar proyectos basados en Arduino y publicarlos en plataformas públicas.

Requisitos Alumnos

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

Contenido del Curso

  • Arduino en la Educación
  • Hardware Arduino
  • Programación Arduino
  • Manejo de Arduino
  • Proyectos con Arduino
  • Ejecución de Proyectos Arduino

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.