Programar fácil con Arduino

Programar fácil con Arduino, entiende cómo funciona el mundo.

  • Blog
  • ¿Quién soy?
  • Podcast
  • Curso Arduino [GRATIS]
  • Curso Domótica [GRATIS]
  • Acceder
Usted está aquí: Inicio / Podcast / 63. Programación visual con Arduino, Scratch y Snap!, aprende a programar

63. Programación visual con Arduino, Scratch y Snap!, aprende a programar

Luis del Valle Hernández

http://api.spreaker.com/download/episode/7583852/podcast63.mp3

Podcast: Descargar (30.3MB)

curva-aprendizaje

En el capítulo de hoy vamos a ver diferentes alternativas de programación visual con Arduino. Uno de los grandes problemas a los que te puedes enfrentar con esta placa es la programación. Para poder tener una iniciación progresiva en este mundo, es importante comenzar con lenguajes de programación enfocados a obtener las nociones básicas de computación, olvidándote de los errores de sintaxis y de las particularidades de cada lenguaje. En este capítulo vamos a ver Scratch y Snap!.

Si quieres contactar con nosotros lo puedes hacer de diferentes maneras, a través del formulario de contacto, en el e-mail info@programarfacil.com, en Twitter (@programarfacilc) o en Facebook. También puedes mantenerte al día a través de la lista de distribución.

Ya te hablamos en el capítulo 28. Entorno de desarrollo de Arduino las diferentes opciones que teníamos a la hora de crear nuestro programas en código nativo de Arduino. El entorno de desarrollo oficial de Arduino está basado en Wiring (framework de código abierto para programar microcontroladores), que a su vez está basado en Processing, un lenguaje bastante sencillo de utilizar enfocado en proyectos multimedia e interactivos de diseño digital.

Arduino utiliza diferentes lenguajes y plataformas para poder programar su microcontrolador. En un pasado, no muy lejano, esta tarea se hacía muy tediosa debido a que se debía programar en lenguajes de bajo nivel como ensamblador o en algún otro tipo de lenguaje propietario de cada microcontrolador que, solo servían para esa marca e incluso para un único modelo. El fin principal de Arduino es dar a conocer las ciencias de la computación y la electrónica sin que esto suponga un trauma para los usuarios. Cuando adquieres una placa o kit de Arduino puedes empezar a aprender en cuestión de minutos, solo debes descargar el IDE oficial, instalarlo y a programar.

Desarrollar un software comercial implica tener conocimientos en muchas facetas tanto de la programación como de la tecnología pero, si miramos la esencia de cada programa todos se rigen por las mismas leyes, lógica, matemáticas, algoritmos y comunicación. La programación visual te permite adentrarte en este mundo de una manera suave. Existen varias plataformas que facilitan esta tarea. Si lo que realmente quieres es aprender a programar y dedicarte a ello profesionalmente, no te voy a engañar, es una tarea francamente difícil pero no imposible, siempre digo lo mismo, ilusión y constancia es la clave del éxito.

El primer paso que aconsejo que des es comenzar a utilizar Scratch, si además lo combinas con Arduino, te prometo que aprenderás a programar jugando. Esto se puede hacer gracias a la plataforma S4A y es de la que hablaremos en este capítulo.

Indice de contenidos

  • 1 Scratch, el lenguaje de programación visual estrella
  • 2 Programación visual con S4A para Arduino
  • 3 Snap!, el sucesor de la programación visual
  • 4 Snap4Arduino
  • 5 Recurso del día

Scratch, el lenguaje de programación visual estrella

Quizás sea el lenguaje de programación visual por antonomasia, fue creado por Mitchel Resnick, miembro del MIT (Instituto Tecnológico de Massachusetts), en el año 2003. Desde entonces ha evolucionado y ha pasado por diferentes fases hasta llegar donde está ahora. Puedes trabajar online a través de su web y la posibilidad de trabajar offline descargando el editor de Scratch 2.0. Se trata de un software libre, lo que implica que puedes descargar el código fuente y amoldarlo a tus requerimientos.

scratch

Scratch está orientado a niños a partir de los 8 años pero es más que recomendable para todos aquellos que se quieran iniciar en la programación. El entorno de desarrollo no ofrece todo lo necesario para comenzar, un escenario, bloques, objetos, disfraces y sonidos, con estos cinco componentes podemos crear juegos y programas totalmente funcionales, puedes ver ejemplos en la galería de la web oficial. También puedes ver el tutorial que hicimos para crear el acertijo del lobo, la cabra y la col (parte 1 y parte 2).

El escenario es donde transcurre la acción y donde los objetos interactúan. Los objetos tienen disfraces para crear animaciones y sonidos que pueden ser asignados a diferentes acciones. Los bloques son la parte fundamental de la programación, si los arrastras al área de script podrás ir dando vida a los diferentes objetos y establecer su comportamiento.

Programación visual con S4A para Arduino

Plataforma orientada a la programación con Scratch y Arduino. Actualmente están desarrollando su sustituto Snap4Arduino que está en una fase beta, hablaremos más tarde de él. Está desarrollado y mantenido por el equipo de Smalltalk (lenguaje de programación reflexivo orientado a objetos) del Citilab (centro de investigación e innovación sobre la Internet social que centra su actividad en la innovación digital ciudadana, con el objetivo de difundir y fomentar la Sociedad de la Información) El concepto es poder utilizar toda la potencia de Scratch para crear proyectos con Arduino. La gran ventaja que nos ofrece S4A es precisamente que se basa en Scratch, un lenguaje reconocido por su facilidad y sencillez.

La gran desventaja que nos podemos encontrar es la conectividad con la placa, solo nos ofrece los siguientes pines de Arduino:

  • 6 entradas analógicas
  • 2 entradas digitales (2 y 3)
  • 3 salidas analógicas PWM (5, 6 y 9)
  • 3 salidas digitales (10, 11 y 13)
  • 4 salidas digitales para servomotores (4, 7, 8 y 12)

Debido a su carácter de código abierto, podemos añadir nuevos bloques y funcionalidades ya que tenemos a nuestra disposición el código fuente del entorno de desarrollo.

Si quieres comenzar con esta plataforma te recomiendo que leas el artículo donde te explico cómo debes instalarlo para comenzar a trabajar.

Snap!, el sucesor de la programación visual

Snap! es un lenguaje de programación visual inspirado en Scratch, basado en bloques y la misma filosofía de facilidad y sencillez para aprender a programar. Formalmente se llama BYOB (Built Your Own Blocks, Construye Tus Propios Bloques) e incluye y expande funcionalidades de Scratch. Fue creado por un grupo peteneciente al MIT (MIT Media Lab) Una de las mayores ventajas es precisamente eso, que puedes crear tus propios bloques para que se comporten como tu quieras y después añadirlos a tu entorno de desarrollo.

La versión 4.0 está basada enteramente en los navegadores, escrita en JavaScript y HTML5, pudiendo ser ejecutada en cualquier plataforma y sin necesidad de instalar nada en tu máquina local. Funciona incluso con las plataformas móviles.

Snap4Arduino

Se trata del sucesor de Scratch4Arduino y actualmente se encuentra en su fase beta, primera versión completa, puedes descargarla en su web. Esta desarrollada y mantenida por el mismo equipo que desarrolló S4A.

Las ventajas de esta plataforma son:

  • Soporta casi todos los tipos de placas de Arduino, incluyendo Mega y Nano.
  • Los pins son auto-configurables pudiendo aprovechar todas las capacidades de la placa.
  • Es siete veces más rápido en tiempos de respuesta que el S4A.
  • Interactuación con más de una placa de Arduino en el mismo programa.
  • Posibilidad de construir tus propios bloques.
  • Es una aplicación de escritorio así que no necesitas tener conexión a Internet.
  • Utiliza un nuevo firmware basado en Firmata.
  • Posibilidad de traducir Snap! a código nativo de Arduino.

La mayores desventajas que tiene es que no es compatible con S4A y que por ahora está en la versión Beta que, aunque sea totalmente funcional, no está exento de errores y puede ser inestable.

Existen otras alternativas a estos dos lenguajes como Ardublock y miniBloq, pero esto lo dejaremos para otro capítulo.

Recurso del día

Firmata

Firmata es un protocolo de comunicaciones para microcontroladores que nos permite conectar nuestro software instalado en un PC y Arduino. Puede ser utilizado con un firmware que se instala en cualquier arquitectura de microcontrolador así como en cualquier software soportado por este protocolo. Muy recomendable para utilizar con la gama Atmel de Arduino. Soporta los lenguajes más comunes como .NET, Java, JavaScript y PHP. También puede ser utilizado como protocolo para la comunicación con dispositivos móviles.

Muchas gracias a todos por los comentarios y valoraciones que nos hacéis en iVoox, iTunes y en Spreaker, nos dan mucho ánimo para seguir con este proyecto.

integraciones de Home Assistant

Integraciones de Home Assistant

En este tutorial voy a hablar de las integraciones de Home Assistant pero antes déjame contarte la historia de Jack, un norteamericano de bien, de los … [+ info...]

dispositivos inteligentes para el hogar

Tipos de dispositivos inteligentes para el hogar

En este artículo voy a hablar de los dispositivos domóticos o dispositivos inteligentes para el hogar que pueden ser integrados dentro de Home … [+ info...]

osciloscopios

Osciloscopio para proyectos con Arduino

Una imagen vale más que mil palabras. Seguro has escuchado esta frase alguna vez y es probable que en la mayoría de las ocasiones lo que dice sea … [+ info...]

Copyright © 2023 · Programar Fácil · Aviso legal

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando, consideramos que acepta su uso.Aceptar Política de privacidad y cookies
Política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR