Arduino + Blockly.pdf

download Arduino + Blockly.pdf

of 16

Transcript of Arduino + Blockly.pdf

  • 1Arduino + BlocklyAplicaciones de Ayuda a la Programacin Grfica

    de Arduino con Blockly.

    Jos Manuel Ruiz Gutirrez

    Marzo 2015

  • 21. Arduino + BlocklyAplicaciones de Ayuda a la Programacin Grafica de Arduino con Blockly.

    Cada vez con ms frecuencia aparecen nuevas aplicaciones orientadas a laprogramacin grafica de la Plataforma Open Harware Arduino.

    En esta nota voy a comentar algunas de las realizaciones llevadas a cabo basadas enBlockly.

    Qu es Blockly?Blockly de Google es un editor de programacin visual basada en la web. Los usuariospueden arrastrar bloques colocndolos en el rea de trabajo y para construir programas.

    Todo el cdigo de Blockly es libre y abierto.

    La pgina del proyecto es https://developers.google.com/blockly/

    En este lugar podrn acceder a la pgina de los "Desarrolladores" de la bibliotecaBlockly : https://developers.google.com/blockly/

    Para profesores alunos y usuarios en general que buscan aplicaciones educativas puedenir aqu: https://blockly-games.appspot.com/

    Caractersticas ms importantes de Blockly

    Est Basado en la web. Est orientado al lado del

    cliente 100%. Slo ocupa 150 KB

    comprimido. Se puede ejecutar en Chrome,

    Firefox, Safari, Opera, IE. Existe Apoyo para Android y

    iOS.

    Permite trabajar conVariables, funciones, matrices...

    Los errores de sintaxis sonimposibles.

    Se realiza la comprobacin detipos bsicos.

    Se pueden crear bloquespersonalizados.

    El cdigo est abierto.

    Podemos exportar el cdigocomo JS, Python, y otros ms.

    Generacin de cdigo limpio. Ejecutar paso a paso el cdigo. Traducido a ms de 40 idiomas.

    Donde poder descargarlo?: https://github.com/google/blockly

  • 32. Aplicaciones de Blockly con ArduinoSon muchos los desarrollos que se han realizado con Blockly para generar cdigocompatible con la Tarjeta Arduino. Las aplicaciones son diversas, las hay que seconectan con Servers que generan "bitcodes" directamente descargables en la tarjeta yotras se conectan con el IDE Arduino directamente y ejecutan la descarga en modolocal.

    Aqu voy a mostrar algunos ejemplos y sobre todo facilitar los enlaces para queustedes puedan descargarlos y disfrutar de ellos.

    2.1. BlocklyDuino:Este es el primer desarrollo que se realiz para la programacin de Arduino fue el de"Gasolin", de l han surgido diversas versiones

    Enlace de descarga: https://github.com/gasolin/BlocklyDuino

    BlocklyDuino se basa en Blockly. Proporciona bloques de lenguaje de tipo esttico ygeneradores de cdigo para la programacin de Arduino.

    BlocklyDuino tambin incluye bloques de Grove que facilitan el comienza con laexperimentacin y el aprendizaje basado en el microcontrolador Arduino.

    Caractersticas

    Permite programar Arduino con bloques visualmente creando las aplicacionessimplemente arrastrando y enlazando los bloque para formar la aplicacin.

    Genera cdigo totalmente compatible en cdigo fuente Arduino

    Usted puede ir directamente a ejemplos Demo 1 Demo 2

    O ver el vdeo de demostracin

    Ejecutar de forma local en su navegador webSi desea instalar de forma local. Obtener el cdigo de GitHub y abiertoblockly/apps/blocklyduino/index.html en su navegador.

    El camino elegido por el Cliente es poner la carpeta /web/BlocklyDuino en un servidorweb y abrir la url como localhost/public/Blockly/demos/ blocklyduino /index.html parasu uso.

  • 4Integrando la carga del programa en la tarjeta ArduinoPara evitar el tedioso paso de pegar manualmente cdigo para el Arduino IDE, puedeejecutar un mini servidor web que utiliza ino para cargar el cdigo para una placaArduino conectado en sistemas Mac OS X y Linux. Invoca a este comando desde lacarpeta raz BlocklyDuino: python ino_web_server.py

    Licencia

    Copyright (C) 2012 ~ 2015 Fred Lin [email protected]

    2.2. Carlos Peratehttp://carlosperate.github.io/ardublockly

    Ardublockly

    "Ardublockly" tambien basado en Blockly, es un editor de programacin grfica basadaen la web, que se ha actualizado para generar Arduino cdigo.

    El componente "ArduinoServerCompiler" inicializa un servidor local con Python parapoder compilar y cargar el cdigo de Arduino utilizando el IDE de Arduino .

    Caractersticas

    Generar cdigo Arduino con bloques de arrastrar y soltar visuales Cargue el cdigo a una placa Arduino tiles "advertencias bloque de cdigo" Compatible con una amplia gama de placas oficiales Arduino Se ejecuta en Windows / Linux / Mac OS X

    Ardublockly est todava en desarrollo y algunas caractersticas an no se implementan.Una lista de tareas se puede encontrar en el archivo TODO.md .

    Actualmente probado bajo Windows y Linux con Python 2, pero desarrollado para laportabilidad. Pronto ser probado en todas las plataformas.

    Manifestacin

    Una demostracin de la versin actual de Ardublockly se puede encontrar en los dosenlaces siguientes (para cargar el cdigo en un Arduino requiere Ardublockly a serejecutado a nivel local):

  • 5Ardublockly con el diseo de respuesta

    Clsico Ardublockly

    Instalacin

    Las instrucciones de instalacin se pueden encontrar en este repositorio Github Wiki .

    Por otra parte, hay una versin empaquetada para Windows que se ejecuta como unejecutable independiente y se puede descargar desde el repositorio Ardublockly-paqueteo directamente en un archivo zip al hacer clic aqu .

    Tambin necesita la versin Arduino IDE 1.6 o superior .

  • 6Ejecucin

    1. Instale Ardublockly o Ardublockly-paquete2. Instale la versin Arduino IDE 1.6 o superior .3. Ejecute el start.py script en Python (por Ardublockly) o ardublockly_win.bat archivo de

    paquete (por Ardublockly-paquete)4. Configure Ardublockly para localizar el IDE Arduino siguiendo estas instrucciones

    Documentacin

    La documentacin, incluidas las instrucciones de instalacin, instrucciones deconfiguracin e informacin del desarrollador se puede encontrar en este repositorioGithub Wiki .

    2.3. 3PI Progammer Para Windows

    https://anibit.com/content/3pi-progammer-windows-now-available

    Programa tu 3PI en un clic, de Windows!

    Esta es una versin en lnea independiente de la aplicacin 3PIProgrammer paramquinas Windows.

    Esta versin independiente ser una gran herramienta de enseanza, ya que toma casitoda la complicacin de obtener su programa de visualizacin en su robot.

    Con un clic, ser capaz de cargar su programa a un robot 3pi conectado. Esto har quepara una buena introduccin a la programacin de robots para los nios pequeos.

    Alternativamente, se pondr en marcha el Arduino IDE precargado con su programapara que los nios mayores y los principiantes pueden comenzar a experimentar con laprogramacin basada en texto y utilizar el diseo de bloques como punto de partida.

    Descrgalo aqu

  • 72.4. Soapbox Roboticshttp://www.soapboxrobotics.com/

    Para descargar: https://github.com/SoapboxRobotics/Website

  • 82.5. BlocklyDuinohttps://github.com/technologiescollege/BlocklyDuino

    BlocklyDuino es una versin que permite la programacin grfica de Arduino en el cdigopropio de IDE Arduino. Es posible descargar el cdigo sin apartarse del navegador.

    BlocklyDuino se basa en Blockly. Proporciona un nico tipo de traduccin de laprogramacin grfica (a diferencia Blockly refleja en Python, JavaScript, etc., y puedesimular en lnea: ejemplo ) para generar el cdigo para copiar y pegar en el IDE deArduino.

    BlocklyDuino tiene una biblioteca de mdulos para mdulos Grove particularmenteadecuados para el descubrimiento de micro-controladores y experimentos de sistemasmecatrnicos.

  • 9Esta versin ha sido traducida y modificada al francs con la idea de facilitar su uso alos estudiantes no expertos en la escritura de programas.

    Caractersticas

    Programacin Grfica de Arduino con solo arrastrar y soltar, Genera cdigo totalmente compatible con el cdigo de Arduino Interaccin de Arduino incluyendo mdulos Grove. posibilidad de cargar automticamente los archivos al sitio a travs de los

    parmetros de la URL (vase el demos ms abajo).

    Demos

    Puede probar/usar la herramienta en la siguiente direccin: Tecnologas / BlocklyDuino

    Tambin puede vincular directamente la apertura de la pgina para abrir un archivoXML alojado (o local):

    Demo 1: parpadear un LED Demo 2: a variar proporcionalmente a un potencimetro de consigna servo motor

    El creador de BlocklyDuino tambin public un vdeo .

    Utilizacin en modo local en su navegador web

    Si se prefiere se puede utilizar la aplicacin de forma local, basta con descargar elcdigo desde Github ( Descargar Zip ) y abra el archivo index.html en su navegador.

    Usted puede alojarlo en un servidor, con lo que el acceso puede ser desde diversoslugares.

    Utilizacin en cuatro pasos

    1. Utilizar su navegador para abrir BlocklyDuino a travs del archivo 'index.html'2. Crear sus aplicacioones con arrastrar y soltar bloques.3. Seleccione la pestaa 'Arduino' para copiar el contenido en el Arduino IDE4. Pulsar el botn "Subir" para transferir el cdigo en la memoria de la placa

    Arduino

  • 10

    2.6.Un ejemplo completo con BlocklyDuinoA continuacin presentar un ejemplo completo desarrollado con BlocklyDuinoutilizando la traduccin que he realizado al espaol.

    1. Instalacin y Preparacin.

    Para que funcione la aplicacin incluyendo el "server", al que se invoca desdeella para realizar la comprobacin del cdigo y tambin la generacin y descargasobre Arduino de la aplicacin en formato "bitcode", se debe instalar un pluginpara que a travs de Mozilla o Crome se pueda realizar la conexin con elservido en el que se atender nuestra demanda. Este servidor es:https://codebender.cc/

    Direccin de descarga. https://github.com/codebendercc/

    El plugin para Mozilla y Chrome: https://codebender.cc/static/plugin en estapgina se muestra la manera de instalar el servido codebender.cc

    Un plugin que se instala descargando el fichero instalador desde la pagina web

    Una vez instalado este plugin basta que descomprimamos el ficheroBlocklyDuino que nos descarguemos de su repositorio de github.https://github.com/technologiescollege/BlocklyDuino cuya estructura decarpetas es:

  • 11

    Para ampliar ms libreras es conveniente leer la documentacin y la propiaaplicacin de Blockly que como ya hemos dicho es la base de esta aplicacin.

    2. Iniciar la aplicacin.

    Al ejecutar el fichero index.html (con Mozilla) nos aparecer la siguientepantalla que vemos que es tiene el aspecto de una pgina Web solo quetrabajando en modo local

  • 12

    3. Montamos nuestro ejemploAhora bastar que arrastremos los bloques de funcin al rea de diseo y losdispongamos de acuerdo con nuestra aplicacin, En el ejemplo se trata de activary desactivar (blink) una salida digital PIN6 siempre que este activada unaentrada digital PIN4. El tiempo de activacin y desactivacin los vamos a tomarde un canal de entrada analgica, concretamente el A0.

    Las libreras que incluye esta versin son suficientes para realizar lasaplicaciones ms bsicas con Arduino, se incluyen varias libreras de bloquesasociados a elementos Grove (un distribuidor de componentes para Arduino) quecomo sabemos son muy utilizados.

    Es posible, en cualquier caso, aadir nuevos bloques siempre que se tenganalgunas ideas bsicas de su estructura y funcionamiento.

    Este es el montaje completo.

  • 13

    Si deseamos ver el cdigo podemos hacerlo en el formato del IDE Arduino o enformato XML. Batrar con puslar en la pestaa correspondiente "CdigoArduino" o "Traduccin XML"

    4. Descarga sin el servidor Codebender

    Si lo deseamos podemos copiar el cdigo directamente, marcndolo y si despusabrimos el IDE de Arduino y lo pegamos podemos descarga la aplicacin enmodo Off-line (sin necesidad dl servidor Codebender.cc y el efecto es el mismo.

  • 14

    5. Esta sera la aplicacin en formato XML.

    Si grabamos la aplicacin en este formato luego podremos recuperarla de nuevomediante la opcin "Cargar Fichero XML"

    6. Verificacin del Cdigo y Descarga sobre Arduino

    Cuando est conectada la tarjeta Arduino, el propio programa (ms bien el servera distancia) la detecta identifica el puerto en el que est conectada. En ese caso,siempre que estemos conectados a internet, podremos proceder a Verificacin elcdigo.

  • 15

    Descarga del cdigo sobre Arduino:

  • 16

    7. Comunicacin con el puerto USB:

    Comunicacin con el puerto USB para monitorizar y enviar datos a Arduino

    Jos Manuel Ruiz Gutirrez Marzo [email protected]

    Este trabajo est bajo licencia Creative Commons Attribution 3.0 Unported License)