Archivo de la categoría: Proyecto

Proyecto Final IoT con Node-RED

Descripción del Proyecto

Proyecto final full stack IoT con Node-RED aplicando los conceptos vistos.

Repositorio: https://github.com/jecrespo/proyecto-fundamentos-iot 

Material del Proyecto

M5stack: https://m5stack.com/collections/m5-core/products/basic-core-iot-development-kit 

M5Stick-C con sensor ENV:

Raspberry Pi Zero: Instalada en local con cámara y programada con Node-RED, usada como dispositivo remoto.

Raspberry Pi 3B+: Instalada en local con Node-RED, Mosquitto y BBDD, usada como servidor.

Wibeee instalado y publicando datos.

Wibeee ONE 2W

Si el alumno tiene algún HW con que quiera interactuar, puede presentarlo y lo integramos en las prácticas.

Esquema del Proyecto

Topología del proyecto IoT:

Datos Disponibles

Topic Map Nodo00 (Enrique):

  • educantabria/nodo00/wemos1/dato10s – publica mensaje numerado cada 10s
  • educantabria/nodo00/wemos1/dato60s – publica mensaje numerado cada 60s
  • educantabria/nodo00/wemos1/reset – publica mensaje cada reset o inicio
  • educantabria/nodo00/wemos1/led – suscrito (1 led ON, otro valor  led OFF)
  • educantabria/nodo00/wemos1/text – suscrito (muestra el mensaje por pantalla)
  • educantabria/nodo00/wemos1/rele – suscrito (1 relé ON, otro valor  relé OFF). Con firmware relé
  • educantabria/nodo00/wemos2/dato10s – publica mensaje numerado cada 10s
  • educantabria/nodo00/wemos2/dato60s – publica mensaje numerado cada 60s
  • educantabria/nodo00/wemos2/reset – publica mensaje cada reset o inicio
  • educantabria/nodo00/wemos2/led – suscrito (1 led ON, otro valor  led OFF)
  • educantabria/nodo00/wemos2/text – suscrito (muestra el mensaje por pantalla)
  • educantabria/nodo00/wemos2/temperatura – publica dato temperatura cada 10 segundos. Con firmware DS18B20
  • educantabria/nodo00/wibeee/# – datos eléctricos de Wibeee. Varios parámetros.
  • educantabria/nodo00/m5atom/aviso – suscrito (“alarma” – leds rojos, “aviso” – leds amarillos, “ok” – leds verdes, otro mensaje apaga)
  • educantabria/nodo00/m5atom/boton – al pulsar publica “press” o “longpress”
  • educantabria/nodo00/m5stack/boton/A – al pulsar botón A publica “press”
  • educantabria/nodo00/m5stack/boton/B – al pulsar botón B publica “press” 
  • educantabria/nodo00/m5stack/boton/C – al pulsar botón C publica “press”
  • educantabria/nodo00/m5stack/led – suscrito (1 dibuja en pantalla círculo rojo, otro valor  dibuja en pantalla círculo verde)
  • educantabria/nodo00/m5stack/text – suscrito, muestra por pantalla el texto
  • educantabria/nodo00/m5stick/temperatura – publica dato temperatura cada 1 segundo
  • educantabria/nodo00/m5stick/humedad – publica dato humedad cada 1 segundo
  • educantabria/nodo00/m5stick/presion – publica dato presión cada 1 segundo
  • educantabria/nodo00/m5stickplus/distancia – publica dato distancia cuando se activa
  • educantabria/nodo00/m5stickplus/button – al pulsar botón publica “press”
  • educantabria/nodo00/m5stickplus/led – suscrito (1 led ON, otro valor  led OFF)
  • educantabria/nodo00/m5stickplus/label  – suscrito (“red” – circulo rojo, “yellow” – circulo amarillo, “green” – circulo verde, “black” – círculo verde)
  • educantabria/nodo00/raspberry3/CPU – publica Node-RED el datos de CPU 
  • educantabria/nodo00/raspberry3/Temperatura – publica Node-RED el datos de temperatura procesador
  • educantabria/nodo00/raspberry3/Memoria – publica Node-RED el datos de memoria libre
  • educantabria/nodo00/raspberry3/Dashboard/# – publica Node-RED cualquier dato del Dasboard
  • educantabria/nodo00/raspberry3/Datos/# – suscrito Node-RED para recibir cualquier dato externo
  • educantabria/nodo00/raspberry3TT/CPU – publica Node-RED el datos de CPU 
  • educantabria/nodo00/raspberry3TT/Temperatura – publica Node-RED el datos de temperatura procesador
  • educantabria/nodo00/raspberry3TT/Memoria – publica Node-RED el datos de memoria libre
  • educantabria/nodo00/raspberry3TT/Dashboard/# – publica Node-RED cualquier dato del Dasboard
  • educantabria/nodo00/raspberry3TT/Datos/# – suscrito Node-RED para recibir cualquier dato externo
  • educantabria/nodo00/raspberryzero/tomafotomqtt – suscrito Node-RED un valor cualquiera enviado, toma una foto y publica en el topic educantabria/nodo00/raspberryzero/foto en baja resolución.
  • educantabria/nodo00/raspberryzero/foto – publica Node-RED una foto al mandar cualquier dato en el topic educantabria/nodo00/raspberryzero/tomafotomqtt 
  • educantabria/nodo00/raspberryzero/tomafotoweb suscrito Node-RED un valor cualquiera enviado, toma una foto y la actualiza en https://www.aprendiendoarduino.com/servicios/imagen.jpg en alta resolución

Topic Map Alumnos Nodoxx:

  • educantabria/nodo{xx}/wemos{y}/dato10s – publica mensaje numerado cada 10s
  • educantabria/nodo{xx}/wemos{y}/dato60s – publica mensaje numerado cada 60s
  • educantabria/nodo{xx}/wemos{y}/reset – publica mensaje cada reset o inicio
  • educantabria/nodo{xx}/wemos{y}/led – suscrito (1 led ON, otro valor  led OFF)
  • educantabria/nodo{xx}/wemos{y}/text – suscrito (muestra el mensaje por pantalla)
  • educantabria/nodo{xx}/wemos{y}/rele – suscrito (1 relé ON, otro valor  relé OFF). Con firmware relé
  • educantabria/nodo{xx}/wemos{y}/oled – suscrito (muestra el mensaje por pantalla oled). Con firmware oled
  • educantabria/nodo{xx}/wemos{y}/temperatura – publica dato temperatura cada 10 segundos. Con firmware DS18B20
  • educantabria/nodo{xx}/wemos{y}/matrix – suscrito (0 efecto y apaga, de 1 a 8 ilumina de 1 a 8 líneas de matriz). Con firmware matrix.
  • educantabria/nodo{xx}/raspberry{y}/CPU – publica Node-RED el datos de CPU 
  • educantabria/nodo{xx}/raspberry{y}/Temperatura – publica Node-RED el datos de temperatura procesador
  • educantabria/nodo{xx}/raspberry{y}/Memoria – publica Node-RED el datos de memoria libre
  • educantabria/nodo{xx}/raspberry{y}/Dashboard/# – publica Node-RED cualquier dato del Dasboard
  • educantabria/nodo{xx}/raspberry{y}/Datos/# – suscrito Node-RED para recibir cualquier dato externo

{xx} número de alumno

{y} número de sensor

AlumnoNº Nodo
SERGIO A.nodo01
Alberto B.nodo02
Pablo C.nodo03
Soraya C.nodo03
isaías C.nodo04
Mª del Mar E.nodo05
Santiago F.nodo06
José Ángel G.nodo07
Oscar G.nodo08
MARCOS G.nodo09
Jose Luis G.nodo10
Evelio H.nodo11
Roberto I.nodo12
RAMON L.nodo13
Eduardo P.nodo14
FRANCISCO JAVIER R.nodo15
Sara T.nodo16

Tareas del Proyecto

Fase 1 – Monitorización Local

Instalar nodo con todo el SW:

Instalar los sensores en la ubicación.

Fase 2 – Conectar a la Nube

Conectar sensores:

Fase 3 – Automatizar

Configurar y securizar Node-RED: 

Programar Node-RED y MQTT:

Fase 4 – Integración con Terceros

Integración de datos con terceros:

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