Archivo de la etiqueta: Iniciación Arduino Para Docentes

Documentar Proyectos Educativos

A la hora de realizar un proyecto de cualquier tipo y especialmente en educación, es importante documentar adecuadamente los proyectos. Disponemos de muchas herramientas on-line para poder hacerlo.

Además en el uso de hardware libre cobra especial importancia documentar el proyecto no solo para nosotros mismos o los alumnos sino para compartir con la comunidad y que nuestros proyectos sean replicado e incluso mejorados por otras personas, pueda reutilizarse el material y extendamos el conocimiento libre con nuestro trabajo.

Un magnífico ejemplo de todos esto es el proyecto El Cable Amarillo http://www.elcableamarillo.cc/. Proyecto educativo para fomentar el uso de la Programación y Robótica en los centros educativos de Murcia.

Fritzing

Fritzing es el programa por excelencia para la realización de esquemas eléctricos en proyectos con Arduino y es open source. Dispone bibliotecas con la mayoría de componentes (http://fritzing.org/parts/), incluido los propios Arduinos, placas de conexiones, led, motores, displays, etc. Además permite hacer esquemas eléctricos, diseñar nuestro PCB final y un sinfín de opciones que convierten a este programa en una herramienta muy útil.

También nos permitirá obtener el esquema eléctrico, listado de componente usados y el diagrama para poder fabricar la PCB. Luego podemos solicitar que nos hagan la pcb con el servicio Fritzing Fab: https://go.aisler.net/fritzing. Nos permitiría diseñar un shield propio y que nos los construyan.

Podemos explorar otros proyectos y usarlos: http://fritzing.org/projects/

Para aprender más sobre Fritzing: http://fritzing.org/learning/

Librería de partes: http://fritzing.org/parts/

Fritzing no es un simulador, pero las nuevas versiones de Fritzing permite guardar el código de un diseño e incluso cargarlo en Arduino.

Enlaces:

Arduino Project Hub

Arduino project hub: https://create.arduino.cc/projecthub

Arduino Project Hub es un lugar donde poder ver proyectos realizados con Arduino y también poder compartir los proyectos propios.

Cuando queremos publicar un proyecto en Arduino Project Hub es muy sencillo porque separa por apartados todo lo que tenemos que documentar el proyecto:

  • Nombre del Proyecto
  • Imagen de portada
  • Nivel de dificultad
  • Historia de Proyecto
  • Lista de Materiales (BOM)
  • Aplicaciones y Servicios On-line Usados
  • Descripción de proyecto
  • Herramientas
  • Esquemáticos y diagramas de circuito
  • CAD
  • Código

Cómo enviar un proyecto: https://create.arduino.cc/projecthub/Arduino_Genuino/how-to-submit-content-on-arduino-project-hub-cf2177

Guideline: https://create.arduino.cc/projecthub/guidelines

Arduino Project Hub está basado en Hackster: https://www.hackster.io/

Arduino Web Editor

Arduino.cc ha sacado un IDE on-line llamado Arduino Web Editor que puede usarse en lugar del IDE que acabamos de ver. Este IDE on-line está dentro del proyecto Arduino Create accesible desde https://create.arduino.cc/ y incluye varios apartados.

Para usar este IDE es necesario instalar un plugin y mediante este wizard online es posible instalarlo: https://create.arduino.cc/getting-started/plugin

También es importante señalar que es necesario crearse una cuenta de arduino.cc para poder usar este IDE on-line.

Getting started con Arduino Web Editor: https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-the-arduino-web-editor-4b3e4a

Arduino Web editor no solo permite publicar el código hecho sino también genera un fichero de documentación y pueden subirse imágenes y esquemas de montaje.

Sigfox Bike Tracking: https://www.hackster.io/aprendiendoarduino/bike-tracking-system-with-dead-man-alert-22da0b

Instructables

Instructables es la web más usada para publicar cualquier tutorial, paso a paso o proyecto que hagamos y no solo de Arduino, sino de cualquier otra cosa, desde una tarta o un disfraz hasta el montaje de una red inalámbrica para IoT.

Web: https://www.instructables.com/

Instructables Arduino: https://www.instructables.com/howto/Arduino/

Instructables Electrónica: https://www.instructables.com/classes/tagged/electronics/

Instructables mBlock: https://www.instructables.com/id/mBlock/

Tutorial de uso de Instructables: https://www.instructables.com/about/create.jsp

Halloween candy Counter: https://www.instructables.com/id/Halloween-Candy-Counter/

Tinkercad

Tinkercad es un software gratuito online creado por la empresa Autodesk, una de las empresas punteras en el software de diseño 3D.

Tinkercad: https://www.tinkercad.com/

Tinkercad ofrece:

  • Aplicación de diseño e impresión 3D
  • Simulador de circuitos, incluido Arduino
  • Diseños 3D interactivos con electrónica:
  • Publicar nuestro proyectos
  • Ver otros proyectos y clonarlos: https://www.tinkercad.com/things/v2#/things

Tinkercad ciircuitos https://www.tinkercad.com/circuits

Y más…

Github

GitHub es una forja (plataforma de desarrollo colaborativo) para alojar proyectos utilizando el sistema de control de versiones Git. Se utiliza principalmente para la creación de código fuente de programas de computadora.

Web: https://github.com/

Características

  • Wiki para cada proyecto.
  • Página web para cada proyecto​
  • Gráfico para ver cómo los desarrolladores trabajan en sus repositorios y bifurcaciones del proyecto.
  • Funcionalidades como si se tratase de una red social, por ejemplo, seguidores.
  • Herramienta para trabajo colaborativo entre programadores.
  • Gestor de proyectos de estilo Kanban.

Github puede ser una excelente herramienta de documentación, pero es más compleja de usar y solo es adecuada para usuarios avanzados.

Los documentos con formato se escriben en Markdown https://es.wikipedia.org/wiki/Markdown

Proyectos Básicos con Arduino

Proyectos básicos de programación Arduino con mBlock. mBlock es un entorno gráfico de programación por bloque para Arduino, que permite introducir de forma sencilla la programación y robótica en el aula.

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 interactuán con Arduino.
    • Los sprites son similares al entorno de scratch y no interactúan con Arduino.

Instalar mBlock es muy sencillo, toda las instrucciones están disponibles desde la web: https://www.makeblock.es/soporte/mblock/

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

mBlock ha sacado una beta de un entorno de programación on-line en http://editor.makeblock.com/ide.html

Más información sobre mBlock: https://aprendiendoarduino.wordpress.com/2017/09/08/programacion-visual-con-mblock/

Modo Ejecutar Programa desde PC

En este modo es necesario siempre tener el Arduino o el robot siempre conectado al PC.

Para usar este modo comenzaremos el programa con un bloque de la categoría “Eventos”, normalmente con el bloque de la bandera verde. Y debajo de este colocamos el resto de bloques del programa.

Para ejecutar el programa desde el PC, primero tenemos que seleccionar la placa y el puerto serie al que esté conectado el Arduino. Conectamos el cable USB al Arduino y seleccionamos la placa en “Placas->Arduino UNO” y el puerto en “Conectar->Puerto Serie”.

A continuación “Conectar > Actualizar Firmware” y esperamos a que termine de cargarlo.

Tutoriales de uso:

Modo Subir Programa a Arduino

En este modo no cargamos un firmware a la placa sino que sube el programa al Arduino. En este modo usamos como inicio del programa el bloque “Programa de Arduino” que se encuentra en la categoría “Robots”.

Para este modo pulsamos sobre el bloque “Programa de Arduino”  o vamos a “Editar->Modo Arduino”. En la parte derecha de la pantalla aparecerá una pantalla con algunas opciones nuevas y el equivalente en código del programa que hemos hecho con los bloques.

Luego para subir el sketch al ordenador pulsamos sobre el botón “Subir a Arduino” y esperamos a que termine de cargar.

Tutorial para usar Arduino con mBlock:

Más información:

Semáforo Simple

En esta práctica vamos a crear un semáforo simple con una frecuencia de cambio de 5 segundos en verde y rojo, y 1 segundo durante su estado en ámbar.

Tutorial: https://github.com/ElCableAmarillo/Listado-de-practicas/tree/master/Salidas-digitales/Sem%C3%A1foro-simple

Movimiento de un Servomotor

En esta práctica el servomotor se mueve desde su posición origen a su posición final en ángulos de 10° repetidamente.

Tutorial: https://github.com/ElCableAmarillo/Listado-de-practicas/tree/master/Salidas-anal%C3%B3gicas/Movimiento-de-un-servomotor

Pulsador Simple

En esta práctica vamos a programar un interruptor para encender un led en un momento dado.

Tutorial: https://github.com/ElCableAmarillo/Listado-de-practicas/tree/master/Entradas-digitales/Pulsador-simple

Detectando Colores

En esta práctica tenemos que detectar los colores por los cuales se mueve nuestro personaje para activar los diferentes diodos Led de la placa de prototipado.

Tutorial: https://github.com/ElCableAmarillo/Listado-de-practicas/tree/master/Pr%C3%A1cticas-de-iniciaci%C3%B3n/mBlock/Detectando-colores

Brújula con Servo

En esta práctica vamos a mover un servo mediante las flechas del teclado y activando sendos diodos Led al final de carrera.

Tutorial: https://github.com/ElCableAmarillo/Listado-de-practicas/tree/master/Pr%C3%A1cticas-de-iniciaci%C3%B3n/mBlock/Br%C3%BAjula-con-servo

Más sobre programación por bloques en el Taller de Programación Visual Arduino: https://www.aprendiendoarduino.com/talleres-arduino/arduino-day-2018-logrono/taller-programacion-visual-arduino/

Más información:

Primeros Pasos Programación Arduino

Aunque se hable de que hay un lenguaje propio de programación de Arduino, no es cierto, la programación se hace en C++ pero Arduino ofrece unas librerías o core que facilitan la programación de los pines de entrada y salida y de los puertos de comunicación, así como otras librerías para operaciones específicas. El propio IDE ya incluye estas librerías de forma automática y no es necesario declararlas expresamente.

Toda la información para programar Arduino se encuentra en el reference de la web de Arduino: https://www.arduino.cc/en/Reference/HomePage. Este es el core o API de Arduino.

Un manual sencillo de entender para la programación es el “arduino programming notebook” de brian w. Evans. Puedes consultarlo o descargarlo desde:

Cuando compilamos y cargamos el programa en Arduino esto es lo que ocurre:

Además de la programación tradicional de Arduino, existen varios proyectos para programar Arduino de forma visual añadiendo bloques al estilo de scratch, blockly o similar.

Vamos a introducir la programación y electrónica con Arduino utilizando los lenguajes de programación por bloques y lenguajes de programación en modo texto:

Proyectos de programación visual:

Plataformas para que los niños aprendan a programar en Arduino y Scratch: http://www.ticbeat.com/educacion/plataformas-para-que-los-ninos-aprendan-a-programar-en-arduino-y-scratch/

Papers sobre la enseñanza de programación con bloques:

Independientemente del sistema operativo que utilicemos y del método de programación, la primera vez que conectamos una tarjeta de Arduino a nuestro equipo, observaremos que será necesario instalar los drivers de la misma. Para instalar el IDE de Arduino seguir las instrucciones de https://aprendiendoarduino.wordpress.com/2018/04/03/instalacion-software-arduino-2/

Primer Sketch con Arduino

Para comprobar su correcto funcionamiento conectamos la tarjeta al ordenador a través del cable USB y automáticamente el ordenador la reconocerá. Además, al instalar Arduino IDE, los drivers de la tarjeta quedan instalados en el PC.

Para comprobar que todo funciona correctamente ejecutar el ejemplo blink en el IDE Arduino que consiste en hacer parpadear el led integrado que lleva Arduino u otro led conectado a un pin digital a través de una resistencia.

NOTA: en caso de usar un led, no olvidar poner una resistencia con un valor entre 220 ohms y 1K ohms

Este es el esquema a usar:

Conexiones internas de la protoboard son así:

Cómo usar una protoboard o breadboard:

Pasos a seguir:

  • Abrir la aplicación Arduino
  • Abrir el ejemplo blink

  • Leer el programar y entender lo que está haciendo
  • Seleccionar la placa y el puerto adecuado

  • Cargar el programa pulsando el botón “subir”. El programa se compila y luego se verá parpadeando los leds Tx y Rx de Arduino, indicando que se está cargando el fichero binario (.hex) en la flash del Arduino. Cuando aparezca el mensaje “subido” habremos acabado.
  • Unos segundos después veremos el LED parpadeando.

Más información:

Ejemplo de Itinerario Educativo

Ejemplo de itinerario formativo en programación y robótica basada en Arduino desde 3º de infantil hasta secundaria, dividido en cinco niveles. Metodología desarrollada en la UNED.

Competencias:

  • Pensamiento computacional
  • Emprendimiento de proyectos y creatividad
  • Aprendizaje autónomo y resolución de problemas

Habilidades sociales:

  • Trabajo colaborativo y por equipos
  • División del trabajo por roles
  • Comunicación y debate

Descubrimiento (3º Infantil – 1º Primaria)

Objetivos: Aprender a construir secuencias de instrucciones, anticipar el comportamiento de un robot, utilizar constructores básicos de programación, trabajar en equipo

Materiales: BeeBots, Scratch Jr, Light Bot

Iniciación (2º – 3º Primaria)

Objetivos: Programar robots sencillos que ineractúen con el entorno mediante motores y sensores, construir máquinas sencillas siguiendo un manual, utilizar lenguajes de programación basados en bloques, división del trabajo por roles

Materiales: Lego WeDo, Scratch Jr., Makey Makey, Circuit Scrib, Minecraft Ed.

Creación (4º – 5º Primaria)

Objetivos: Desarrollar proyectos propios de programación y videojuegos, resolver retos de complejidad media, construir robots sencillos, programar placas controladoras, comunicar ideas y proyectos propios

Materiales: Scratch, Lego WeDo, Zowi, BitBloq, Ollo Action

Invención (6º Primaria – ESO)

Objetivos: Empezar a utilizar abstracciones de programación, construir y programar robots autónomos de complejidad media, utilizar herramientas digitales para compartir proyectos.

Materiales: Scratch, mBots, mBlock, PrintBots, BitBloq, Kits de electrónica

Making (ESO – Bachillerato)

Objetivos: Diseñar e implementar aplicaciones para distintos dispositivos; resolver retos de complejidad avanzada;Prototipar, modelar, e imprimir en 3D; definir y comunicar proyectos y productos

Materiales: Arduino, Printbots, AppInventor, Unity, Tinkercad

Hardware para Robótica Educativa

No hay duda de que actualmente la programación y la robótica están cada vez más presente en nuestro sistema educativo en todos sus niveles, desde la Educación Infantil hasta la Enseñanza Universitaria.

Lo que se conoce como Robótica Educativa es un método de aprendizaje basado en la corriente pedagógica del constructivismo que tiene como objetivo el diseño, ensamble y puesta en funcionamiento de creaciones propias.

Permite desarrollar conocimientos tanto científicos como tecnológicos, así como de  otras disciplinas con las que se encuentra estrechamente relacionada. En particular se emplea la Educación STEM,  acrónimo en inglés de Science, Technology, Engineering and Mathematics, en la que se tratan estas cuatro grandes áreas de conocimiento de manera integrada en lugar de como áreas de conocimiento independientes.

Como recurso educativo, la programación de robots, permite trabajar en el aula  aspectos como la creatividad, el pensamiento lógico, capacidades organizativas, desarrollo de la psicomotricidad fina, aprendizaje basado en proyectos, resolución de problemas o el fomento del trabajo colaborativo.

Muchos de los kits para iniciarse en la electrónica y programación de robots destinados a la educación están basados en Arduino. De este modo,  los estudiantes pueden adentrarse en la robótica gracias a este software y hardware de desarrollo libre.

Arduino es un conjunto de herramientas de software y plataformas de hardware de código abierto, basadas en una placa que incluye circuitos electrónicos con entradas y salidas, analógicas y digitales, que conectan el mundo físico con el mundo virtual para crear desde procesos simples hasta «cosas» inteligentes, conectadas e interactivas como robots. Con estas placas es posible enviar o recibir información de cualquier sistema electrónico conectado a él. Son capaces de leer entradas (luz en un sensor o un dedo en un botón) y convertirlo en una salida (activar un motor o encender una luz).

Kits para robótica educativa: https://www.ro-botica.com/tienda/robotica-educativa

Productos de Robótica Educativa: https://www.ro-botica.com/educacion-productos/

Niveles por Edades:

Y mucho más en http://ro-botica.com/

Escornabot

Escornabot es un proyecto de código/hardware abierto cuyo objetivo es acercar la robótica y la programación a los niños y niñas.

El Escornabot básico puede programarse con los botones para ejecutar secuencias de movimientos. A partir de aquí, la imaginación es el único límite en las posibilidades.

Principales características:

  • Lo haces tú. Y tus alumnos, hijos, primos pequeños… Cualquiera puede ayudar participando en el proceso desde el principio. El placer de fabricar tu propio escornabot hace que sea una experiencia estupenda, sobre todo si hay niños participando.
  • Es un proyecto de hardware abierto (OSHW) y software libre (FOSS) y puedes adaptar sus características a tus necesidades: ponerle sensores, leds, cambiar la apertura del ángulo de giro, la distancia que avanza… cualquier cosa que se te ocurra.
  • Es (por precio) más asequible que otros robots educativos comerciales. Montar un escornabot puede costar menos de 20€ si sabes donde comprar los componentes (por internet). Este precio no es su valor porque lleva tiempo de trabajo y otros costes indirectos (especialmente la impresión 3D de las piezas).

Más información:

MakeBlock

MakeBlock es la marca del hardware para el que está desarrollado mBlock, pero que también podemos usar con Arduino, puesto que sus robots educativos están basados en Arduino.

Makeblock Co., Ltd es un proveedor líder de soluciones de educación STEAM. Dirigida a los mercados educativos y de entretenimiento de STEAM para escuelas, instituciones educativas y familias, Makeblock ofrece el hardware, software, soluciones de contenido y competencias de robótica de primer nivel más completos.

Makeblock Education: http://education.makeblock.com/

Enlaces:

Learn de makeblock: http://learn.makeblock.com/en/

Catálogos:

Imprimir en 3D las piezas de MakeBlock (ver estructural parts): https://grabcad.com/library/data-of-makeblock-parts-1

Makeblock dispones de distintos tipos de kits:

Placas MakeBlock

Placa basadas en Arduino

Shield para convertir un Arduino en un makeblock Me UNO Shield:

Makeblock mBot

mBot es un Kit de robot educativo de nivel básico. Fácil de construir con la guía de montaje incluida,  3 modos de control preestablecidos y programación basada en bloques

Enlaces

Robot Educativo mBot:

Makeblock Ranger

El mBot Ranger es un kit que te permite construir 3 robots diferentes

  • Robot todo-terreno con ruedas tipo oruga
  • Robot de 2 ruedas capaz de mantenerse estable gracias a su giróscopo
  • Robot de 3 ruedas para realizar maniobras complicadas

Enlaces:

Libro: https://www.zambeca.cl/tiendaOficial/documentos/MakeBlock/Divirtiendome_con_mBot_Ranger.pdf

Edison

Edison es un robot programable diseñado para ser un recurso de enseñanza STEM completo para la educación sobre codificación y robótica para estudiantes de 4 a 16 años de edad.

Más información:

mOway

El objetivo de mOway es hacer la robótica accesible a todo el mundo que quiera desarrollar aplicaciones de robótica, despertar el interés en la programación e introducirla en toda la sociedad.

Queremos crear un producto para todas las edades. La misma herramienta para diferentes lenguajes de programación y para diferentes niveles, la cual está lista para trabajar y obtener resultados desde el principio. Un robot con el que el único límite es tu imaginación.

Web: http://moway-robot.com/es/inicio/

Kits mOway: http://www.ro-botica.com/tienda/mOway/

Moway: http://www.ro-botica.com/tienda/mOway/

mOwayduino: https://www.ro-botica.com/Producto/robot-mOwayduino-basado-en-ARDUINO/

Otros Kits de Robotica Educatica

Littlebots: https://www.littlearmrobot.com/

Fischertechnik:

Lego® Education

Kits para montar: