Archivo de la categoría: Proyecto

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.

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…)