# data[].attributes.body
Herramienta de programación de código abierto y fácil de usar para escribir código y subirlo a tu placa.

# data[].attributes.attachment_link.readable_text
Arduino Web Editor

Start coding online and save your sketches in the cloud. The most up-to-date version of the IDE includes all libraries and also supports new Arduino boards.
CODE ONLINE GETTING STARTED
Arduino IDE 2.2.1

The new major release of the Arduino IDE is faster and even more powerful! In addition to a more modern editor and a more responsive interface it features autocompletion, code navigation, and even a live debugger.

For more details, please refer to the Arduino IDE 2.0 documentation.

Nightly builds with the latest bugfixes are available through the section below.

SOURCE CODE

The Arduino IDE 2.0 is open source and its source code is hosted on GitHub.

Arduino with Chromebook

To program Arduino from a Chromebook, you can use the Arduino Web Editor on Arduino Cloud. The desktop version of the IDE is not available on Chrome OS.

MicroPython With Arduino Boards

To program your boards using MicroPython, visit the MicroPython with Arduino page. There you find download links and additional resources for getting started with MicroPython on your Arduino boards.

Arduino PLC IDE 1.0.3

Program using IEC 61131-3 languages and mix Arduino sketches through Arduino PLC IDE! Configure easily your pre-mapped resources and get quick no code fieldbus support, dive into your code analysis thanks to the wide set of debugging tools.

For more details, please refer to Arduino PLC IDE documentation.
Both files are required
DOWNLOAD OPTIONS

Version 1.0.4 coming soon

Arduino IDE 1.8.19

The open-source Arduino Software (IDE) makes it easy to write code and upload it to the board. This software can be used with any Arduino board.

Refer to the Getting Started page for Installation instructions.

SOURCE CODE

Active development of the Arduino software is hosted by GitHub. See the instructions for building the code. Latest release source code archives are available here. The archives are PGP-signed so they can be verified using this gpg key.

# data[].attributes.attachment_link.description
Open-source electronic prototyping platform enabling users to create interactive electronic objects.

# data[].attributes.body
Tutorial general de la placa controladora, sus componentes, el entorno de programación y ejemplos de proyectos.

# data[].attributes.attachment_link.readable_text
Este es un completo tutorial donde nos adentraremos en el maravilloso mundo Arduino. Te mostraremos la placa controladora, sus componentes, el entorno de programación y ejemplos de proyectos muy interesantes.

Aprende a desarrollar apps para iOS y Android

Comienza 15 días gratis en OpenWebinars y accede cursos, talleres y laboratorios prácticos de Swift y Kotlin para crear tus propias aplicaciones.

Comenzar gratis ahora

Índice de capítulos del Tutorial de Arduino

Acelera tus desarrollos de software

Formaciones prácticas, avanzadas y actualizadas para que tu equipo domine las herramientas más relevantes para crear aplicaciones móviles en iOS y Android con Swift, Java y Kotlin.

Solicitar más información

# data[].attributes.attachment_link.description
En este tutorial nos adentraremos en Arduino, y veremos la placa controladora, sus componentes, el entorno de programación y ejemplos de proyectos.

# data[].attributes.body
Instalación del entorno de programación de Arduino.

# data[].attributes.body
Configurar la placa Arduino e instalar diferentes programas de código abierto para hacer prácticas:

Arduino IDE

Scratch 4 Arduino

Snap 4 Arduino

mBlock

# data[].attributes.attachment_link.readable_text
Introducción

En este tutorial se explica cómo configurar la placa de arduino en nuestro ordenador y cómo instalar los diferentes programas de código abierto que se utilizarán en las prácticas. Para ello aprenderás a instalar y configurar los siguientes programas:

Arduino IDE

Scratch 4 Arduino (basado en Scratch 1.4)

Snap 4 Arduino (basado en Snap)

mBlock (basado en Scratch 2.0)

Materiales

Antes de continuar con las lecciones del curso asegúrate que dispones de todos los componentes que se van a necesitar. Los componentes utilizados en este tutorial son:

Permiso de administrador para instalar programas en tu ordenador

Arduino UNO

Cable USB

¿Qué es Arduino?

Arduino es una plataforma para prototipado de electrónica basada en hardware y software libre y fácil de utilizar. Podemos construir circuitos electrónicos y programarlos para iniciarnos en el mundo de la electrónica y robótica, construir componentes electrónicos a nuestro antojo e incluso crear un modelo de negocio.

Arduino se apoya en 2 pilares fundamentales; Hardware (placa de Arduino) y Software (entorno de programación).

Hardware de Arduino

El microcontrolador de Arduino es un circuito integrado programable capaz de realizar operaciones matemáticas complejas a gran velocidad. Normalmente el modo de alimentación de una placa de Arduino es mediante el puerto USB mientras se está programando, pero hay ocasiones en la que necesitamos que el código de nuestra placa se siga ejecutándose sin estar conectado al equipo. Probablemente la forma más habitual de alimentar Arduino (sin utilizar tu equipo) es mediante una fuente de alimentación o pila de 9V.

Arduino dispone de un regulador de voltaje interno que actúa para que la tensión de alimentación no supere los 12V, ya que en caso contrario podemos dañar el regulador y con ello la placa de Arduino. Por otro lado, para tensiones inferiores a 7V en la alimentación, es probable que la placa no llegue a encenderse. La mayoría de los componentes electrónicos de Arduino utilizan una tensión operativa de 5V (ya regulada por el regulador de voltaje de la propia placa de Arduino)

Tanto las entradas como las salidas dotan al sistema de información y realizan diferentes actuaciones. Arduino contiene la siguiente distribución de pines:

14 pines digitales que pueden ser configurados como entradas o salidas.

6 pines PWN (serigrafiados con ~) entre los pines digitales.

6 pines analógicos serigrafiadas desde A0 hasta A5 para las entradas analógicas.

3 pines GND para conectar a tierra nuestros circuitos.

2 pines de alimentación de 5V y 3.3V respectivamente.

Software Arduino

Para programar una tarjeta de Arduino, podemos utilizar diferentes lenguajes y entornos de programación. En este caso 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.

Lenguajes de programación por bloques:

Ardublock

Scratch 4 Arduino

Snap 4 Arduino

mBlock

Blocklyduino

Visualino

Lenguajes de programación textual

Arduino IDE

Arduino IDE es un editor de texto y compilador para programar y transferir el contenido de las instrucciones a la placa de Arduino en su lenguaje máquina. El lenguaje de programación utilizado es Processing.

El Software Arduino IDE se compone de 3 partes principalmente:

Botonera o barra de navegación:

Verificar: Se encarga de verificar la sintaxis de nuestro programa.

Cargar: Si la verificación ha sido correcta, podemos cargar el código en nuestra placa de Arduino.

Nuevo: Simplemente abrimos un documento vacio (salvo funciones principales) para comenzar un nuevo programa.

Abrir: Para abrir proyectos en otros directorios o rutas.

Guardar: Simplemente guarda el programa en el directorio que especifiquemos (si es la primera vez que lo guardamos).

Monitor serial: Supongamos que necesitamos saber en algún momento qué ocurre dentro de nuestra placa de Arduino, pues bien, mediante el monitor serial podemos enviar datos que se mostrarán en nuestro monitor.

Editor de programación: Es la parte principal de Arduino IDE, básicamente donde se programan las líneas y líneas de código en lenguaje processing.

Notificaciones: Conocido normalmente por consola, es la parte de depuración donde notifica al programador sobre errores de sintaxis, comunicación, etc.

Descargar e instalar Arduino IDE

Descargamos el software de Arduino desde la sección de descargas de la página web Arduino.cc y procedemos a ejecutar el programa descargado aceptando la licencia de uso y siguiendo los pasos que aparecen en el instalador.

En siguientes tutoriales aprenderás a programar utilizando este lenguaje de programación textual.

Scratch 4 Arduino

Scratch 4 Arduino (S4A) está basado en la versión 1.4 de Scratch, con lo cual recomendamos utilizar otros lenguajes de programación por bloques, como mBlock, basado en la versión actual de Scratch.

Scratch 4 Arduino (S4A) es una modificación del software libre de Scratch que nos permite crear programas para Arduino, pero tenemos que tener en cuenta que los proyectos siempre serán dependientes de la conexión con S4A, es decir, debemos tener S4A ejecutándose en nuestro equipo al mismo tiempo.

Está basado en el lenguaje de programación por bloques y sus instrucciones han sido diseñadas con un lenguaje natural, eliminando términos técnicos y empleando una terminología más natural. Así se facilita el acceso a la programación en niveles educativos básicos.

Scratch 4 Arduino (S4A) funciona correctamente con Arduino Diecimila, Duemilanove y Uno.

Descargar e instalar Arduino IDE

Independientemente del sistema operativo que utilicemos, desde la web del proyecto está disponible para Windows, Linux y Mac, siendo la instalación similar. Para instalar S4A en nuestro equipo debemos seguir los siguientes pasos:

Tener instalado Arduino IDE en primer lugar.

Cargar un pequeño programa o firmware en la placa de Arduino utilizando Arduino IDE.

Instalar S4A desde la web s4a.cat siguiendo los pasos de instalación.

Cargar el Firmware de S4A en Arduino

Para que S4A reconozca y se comunique con la tarjeta de Arduino, debemos cargar un firmware o controlador en la misma. De esta forma, toda la información de sensores que recibe la placa, la envía a través del cable USB mediante el firmware al programa S4A.

El firmware hace de intermediario entre Scratch 4 Arduino y la placa de Arduino.

Para cargar el firmware en la placa de arduino debemos seguir los siguientes pasos:

Abrir el archivo S4AFirmware16.ino con Arduino IDE.

Subir el código a la placa de arduino y esperar a que finalice.

Una vez subido el firmware a la placa de arduino deberá aparecer que la placa ha sido detectada en Scratch 4 Arduino (S4A).

Unos errores detectados a la hora de cargar el firmware de S4A en la placa de Arduino, son los siguientes:

En algunos equipos, los puertos USB delanteros no funcionan.

En sistemas operativos Windows XP:

Al conectar la placa de Arduino por primera vez nos pedirá permiso para instalar los drivers. Para ello debemos tener permiso de administrador para instalarlo.

Si no detecta la placa de Arduino debemos instalar los drivers desde Panel de control > Agregar nuevo hardware.

Al cargar el firmware de S4A en nuestra placa de Arduino, debemos seleccionar la placa y el puerto correcto desde el software de Arduino IDE.

Snap 4 Arduino

Snap 4 Arduino es una modificación del software libre de Snap que nos permite crear programas para Arduino, pero tenemos que tener en cuenta que los proyectos siempre serán dependientes y deberán estar conectados a Snap.

Está basado en el lenguaje de programación por bloques y sus instrucciones han sido diseñadas con un lenguaje natural, eliminando términos técnicos y empleando una terminología más natural. Así se facilita el acceso a la programación en niveles educativos básicos.

Snap 4 Arduino funciona correctamente con Arduino Diecimila, Duemilanove y Uno.

Descargar e instalar Arduino IDE

Independientemente del sistema operativo que utilicemos, desde la web del proyecto está disponible para Windows, Linux y Mac, siendo la instalación similar. Para instalar el software en nuestro equipo debemos seguir los siguientes pasos:

Tener instalado Arduino IDE en primer lugar.

Cargar un pequeño programa o firmware en la placa de Arduino utilizando Arduino IDE.

Instalar Snap 4 Arduino desde la web http://snap4arduino.rocks/ siguiendo los pasos de instalación.

Cargar el Firmware de Snap en Arduino

Para que Snap reconozca y se comunique con la tarjeta de Arduino, debemos cargar un firmware o controlador en la misma. De esta forma, toda la información de sensores que recibe la placa, la envía a través del cable USB mediante el firmware al programa de Snap.

El firmware hace de intermediario entre Snap 4 Arduino y la placa de Arduino.

Para cargar el firmware en la placa de arduino debemos seguir los siguientes pasos:

Abrir el archivo StandardFirmata de Arduino IDE.

Subir el código a la placa de arduino y esperar a que finalice.

Una vez subido el firmware a la placa de arduino deberá aparecer que la placa ha sido detectada en Snap 4 Arduino.

Configurar Snap for Arduino

Una vez hemos instalado Snap 4 Arduino, debemos conectar nuestra placa de arduino utilizando el cable USB. A continuación, deberemos seguir los siguientes pasos de configuración.

Cargar el firmware StandardFirmata

Conectar Arduino con Snap

Cargar el firmware
Antes de conectar nuestra placa con Snap y Arduino debemos cargar un firmware que hace de intremediario entre el programa de Snap y la placa de arduino. Para ello debemos haber instalado previamente Arduino IDE y acceder a StandardFirmata como aparece en la siguiente imagen.

Conectar Arduino con Snap
Al conectar con Arduino en Snap deberá aparecer un mensje de que la placa ha sido detectada correctamente, y ya podrás empezar a programar utilizando Snap 4 Arduino.

Recuerda que deberás realizar estos mismos pasos cada vez que desconectes y conectes tu arduino al ordenador.

mBlock

mBlock es un entorno gráfico de programación basado en Scratch 2.0 y desarrollado por la empresa MakeBlock, para programar placas de prototipado basadas en Arduino, entre otros. Scratch está pensado para programar videojuegos mientras que mBlock está pensado para programar robots.

Si todavía no conoces Scratch puedes acceder a la categoría de cursos y tutoriales de programación con Scratch.

Descargar e instalar mBlock

Independientemente del sistema operativo que utilicemos, desde la web del proyecto está disponible para Windows y Mac, siendo la instalación similar.

Actualizar firmware

Para que Arduino se pueda comunicar con mBlock y ejecute las acciones de Scratch en tiempo real, es necesario que cargues previamente un Firmware en la placa. De esta forma, toda la información de sensores que recibe la placa, la envía a través del cable USB mediante el firmware al programa mBlock.

Configurar mBlock

Una vez hemos instalado mBlock, debemos conectar nuestra placa de arduino utilizando el cable USB. A continuación, deberemos seguir los siguientes pasos de configuración.

Conectar el puerto USB

Elegir placa

Elegir extensión

Actualizar firmware

Programar y depurar el código

Subir el programa a Arduino

Conectar el puerto USB
En primer lugar debemos elegir el puerto correcto al cual hemos conectado nuestra placa de arduino. En caso de dudas puedes acceder a las herramientas administrativas de tu equipo (Windows, Linux o MAC) y comprobar el puerto utilizado.

Elegir la placa y extensiones
mBlock puede ser utilizado con diferentes robots educativos o placas como Arduino. En este caso deberemos seleccionar la placa de arduino y la extensión de MakeBlock. A continuación observaremos como aparecen los bloques de programación para Arduino en el apartado de robots en la pestaña de programas.

Actualizar firmware
Según se va programando el código a ejecutar en la placa de arduino, podemos ir probándolo sin necesidad de desconectarlo del puerto USB. En este caso, deberemos cargar el firmware en la placa para que el código y las variables utilizadas en el programa puedan ser mostradas desde la placa hacia la pantalla de mBlock.

Hola Mundo
Puedes probar a programar el siguiente código y pulsar la bandera verde. Si todo ha salido correcto deberá parpadear el led situado junto al pin 13 de tu placa de arduino. De esta forma ya habremos configurado y conectado correctamente nuestra placa de arduino con el software mBlock.

Subir el código programado a Arduino
Una vez hemos programado nuestra placa de arduino y queremos que funcione de forma autónoma sin necesidad de estar conectado a nuestro PC mediante el cable USB, deberemos cargar el código en la placa. Para ello deberemos acceder al apartado de Arduino y subir el código a arduino. El proceso suele tardar unos segundos.

¡Hola Mundo!

Si ya has configurado correctamente tu placa de arduino explicada en las anterirores lecciones, estarás preparado para realizar la primera práctica.

En este lección se va a programar el código encargado de encender y apagar el led situado junto el pin número 13 de nuestra placa de Arduino. Deberá encenderse y apagarse con una frecuencia de 1 segundo. En esta práctica simplemente deberás conectar tu placa de arduino al ordenador utilizando el cable USB.

Scratch for Arduino (S4A)

Para realizar la práctica utilizando Scratch 4 Arduino, deberás haber cargado el firmware que hace de intermediario entre la placa y el programa S4A. El siguiente paso será programar el código encargado de encender y apagar el pin digital 13 (el cual tiene contiene un led en la placa).

Snap for Arduino

Para realizar la práctica utilizando Snap 4 Arduino, deberás haber cargado el firmata que hace de intermediario entre la placa y el programa de Snap. El siguiente paso será programar el código encargado de encender y apagar el pin digital 13 (el cual tiene contiene un led en la placa).

mBlock

Para realizar la práctica utilizando mBlock, deberás haber configurado y cargado el firmware que hace de intermediario entre la placa y el programa mBlock. El siguiente paso será programar el código encargado de encender y apagar el pin digital 13 (el cual tiene contiene un led en la placa).

Arduino IDE

Para programar el código utilizando el lenguaje de programación de Arduino IDE, recuerda elegir el puerto correcto. El siguiente paso será programar el código encargado de encender y apagar el pin digital 13 (el cual tiene contiene un led en la placa). Fíjate además que estamos indicando a Arduino que el pin digital 13 tiene que tratarlo como salida.

# data[].attributes.attachment_link.description
Tutorial de iniciación a la programación de placas con Arduino.

# data[].attributes.body
Herramienta gráfica para programar diferentes modelos de placas controladoras Arduino.

# data[].attributes.body
Versión modificada de Scratch, preparada para interactuar con placas Arduino.

# data[].attributes.attachment_link.readable_text
La finalidad principal del proyecto es atraer a gente al mundo de la programación. Otro de sus objetivos es proporcionar una interfaz de alto nivel para programadores de Arduino con funcionalidades tales como la interacción con un conjunto de placas mediante eventos de usuario.

La interfaz

Un programa de S4A para controlar un Theremin de luz, con capacidad de grabación y reproducción

Los objetos Arduino proporcionan bloques para las funcionalidades básicas del micro-controlador, escrituras y lecturas digitales y analógicas, y otras funcionalidades de más alto nivel. También encontraréis bloques para tratar con motores estándar y servomotores de rotación contínua.

En S4A, una placa Arduino se representa con un tipo especial de sprite. El sprite Arduino encontrará automáticamente el puerto USB en qué se haya conectado la placa.

Pueden conectarse múltiples placas a la vez. Sólo es necesario añadir un nuevo sprite Arduino.

Especificaciones técnicas

Placas compatibles

S4A funciona correctamente con Arduino Diecimila, Duemilanove y Uno. No se ha probado con otras placas, pero es posible que también funcionen.

Conectividad

Los componentes deven conectarse de una forma determinada. S4A habilita 6 entradas analógicas (pines analógicos), 2 entradas digitales (pines digitales 2 y 3), 3 salidas analógicas (pines digitales 5, 6 y 9), 3 salidas digitales (pines 10, 11 i 13) y 4 salidas especiales para conectar servomotores de rotación contínua Parallax (pines digitales 4, 7, 8 y 12).

Es posible comunicarse inalámbricamente con una placa mediante un módulo de RF, como Xbee.

S4A permite controlar tantas placas como puertos USB tenga vuestro PC.

Compatibilidad

S4A es compatible con Scratch, de forma que es posible abrir proyectos de Scratch desde S4A. En cualquier caso, no es posible compartir proyectos de S4A en la web de la comunidad Scratch, ya que ésto violaría los términos y condiciones de uso de Scratch.

Téngase en cuenta que esta compatibilidad no es bidireccional. No es posible abrir proyectos de S4A desde el Scratch original.

S4A permite utilizar una PicoBoard conjuntamente con un Arduino.

Protocolo

S4A interactúa con Arduino enviando el estado de los actuadores y recibiendo el estado de los sensores cada 75 ms, por lo tanto el ancho del pulso tiene que ser mayor que éste período. El intercambio de datos sigui el protocolo PicoBoard, y necesita que se instale un programa específico (firmware) en la placa. Por favor, consultad la sección de Descargas para más instrucciones sobre la instalación.

Aquí encontraréis toda la documentación, vídeos, ejemplos y ejercicios que hemos producido hasta la fecha.

Taller

Desde aquí podéis descargaros un zip con materiales y ejercicios completos para realizar un taller:
Materiales Taller Elisava 2011
Nuestro equipo creó y utilizó estos materiales en un curso de S4A en la escuela Elisava durante el año 2011.

Ejemplos Básicos

Aquí encontraréis ejemplos básicos de S4A, con los esquemas de Arduino y un archivo .sb con el proyecto Scratch para descargar.

Pulsador y LED

Un ejemplo simple mostrando como activar un LED mediante un pulsador.
Código
LED RGB

Como usar un LED RGB desde Scratch.
Código
Pulsador, LED y conservación de estado

Un LED que cambia de estado al pulsar un botón.
Código
Fotoresistor y LED

Como usar la entrada de un fotoresistor para activar un LED.
Código

Vídeos

Aquí encontraréis una coleción de demos en catalán o castellano. Algunos de estos vídeos también han sido subtitulados al inglés.

Robot completo

Un robot con una cámara rotativa, sensores de distáncia y control remoto. Consta de dos placas arduino (para el control remoto y el robot), un módulo wireless XBee, tres sensores de infrarojos, un módulo de cámara y tres servomotores.

Introducción al taller de S4A

Este vídeo sirve como introducción para los talleres de S4A que se imparten en el Citilab. Encontraréis unos cuantos ejemplos de casos de uso de nuestro software.

Ejercicios
Música: Un instrumento similar a un theremin Domótica: Un controlador de persiana Robótica: Un coche controlado por teclado

Para programadores
Especificación del protocolo S4A

Hi Scratch for Arduino!

Hemos desarrollado una aplicación simple de Android que puede comunicarse con S4A via HTTP mediante el protocolo de sensores remotos de Scratch. Os lo podéis descargar desde aquí, o escaneando este código QR:

Para utilizarlo, seguid estas instrucciones:

En S4A, activad los sensores remotos (clic derecho en cualquier bloque de "Sensores")

En HiS4A (Android), introducid la IP local del PC en qué S4A esté funcionando (la podéis encontrar desde el menú Editar > Host de red), y continuación el prefjo (sólo necesario si os estáis conectando desde más de un cliente de Android)

Los botones se corresponden con mensajes, y el touchpad y deslizador a sensores remotos

¡IMPORTANTE! ¡Tanto S4A como HiS4A tienen que estar conectados a la misma red local!

API HTTP

La aplicación Android utiliza un protocolo muy sencillo que hemos desarrollado sobre el protocolo de mensajes HTTP de Scratch, la cual cosa permite interactuar con S4A desde un navegador o cualquier otra aplicación con acceso a la red.

En primer lugar, debe activarse la opción de sensores remotos en S4A (clic derecho en cualquier bloque de "Sensores").

Especificación de los mensajes

Enviar un mensaje:
http://[IP]:42001/broadcast=[nombre-del-mensaje]

Enviar el valor de un sensor remoto (por ejemplo, el accelerómetro del cliente, la posición del puntero del ratón, etc):
http://[IP]:42001/sensor-update=[nombre-del-sensor]=[valor]

Actualizar una variable de S4A:
http://[IP]:42001/vars-update=[nombre-de-la-variable]=[valor]

Aplicación web de prueba

Para ver la API HTTP en funcionamento, podéis utilizar la aplicación web de prueba:
Hi S4A! desde el Web
Uso de la aplicación web de ejemplo:

Las variables de S4A con nombres que empiecen con un signo más (ej. +nombreJugador) son visibles y modificables desde el cliente web

Las variables de S4A con nombres que empiecen con un signo menos (ej. -puntuacionJugador) sólo son visibles y modificables desde el cliente web

Las variables de S4A con nombres que no empiecen con los signos más o menos no son visibles desde el cliente web

Los mensajes de S4A con nombres que empiecen con un signo más (ej. +iniciarJuego) son visibles desde cliente web

Los mensajes de S4A con nombres que no empiecen con un signo más no son visibles desde el cliente web

Versión 1.5

Arreglado bug de colisión entre objetos (Arduino y no Arduino)

Arreglado bug relacionado con un error persistente al parar y reanudar la conexión con la placa

Primitivas indexadas cambiadas a primitivas con nombre para una mejor compatibilidad con las nuevas máquinas virtuales de Squeak (gracias a Miriam Ruiz por el parche)

Cambiado el pin 12 de servo estándar a salida digital normal

Cambiado el pin por defecto de los bloques digital on/off de 13 a 10

Añadido bloque de reiniciar actuadores

Traducciones al catalán y castellano mejoradas

Versión 1.4

Añadida compatibilidad completa con el protocolo HTTP (POST y GET). Ahora es posible mandar mensajes a S4A y observar/modificar valores de variables desde un navegador web (entre otras cosas). Ver sección de Android.

Añadida opción para comprobar si hay actualizaciones disponibles desde el menú de ayuda. Ya no hace falta visitar la web para comprobarlo

El idioma se detecta automáticamente al arrancar por primera vez (cuando el archivo Scratch.ini no existe). También se guarda en este mismo archivo al cambiarse desde el menú de idioma

El puerto serie en qué se conecta una placa se abre correctamente al arrancar S4A

Arreglado bug de la versión para Windows, en qué la barra de título no mostraba el nombre y la versión de S4A

Versión 1.3

Arreglada la compatibilidad con Arduino UNO en Linux (gracias a Jorge Gómez). Es imprescindible cargar el nuevo firmware, así como actualizar el bootloader en determinadas placas

Cambiados los nombres del panel de sensores y sus correspondientes bloques de Arduino para mostrar números de pin reales

Añadidos comandos de servidor en el menú "Editar" para trabajar con comunicación en red sobre sockets

Añadida compatibilidad para aplicaciones Android (HiS4A)

Traducciones al catalán y castellano mejoradas

Muchos bug arreglados

Para instalar S4A, hay que instalar software tanto en el PC como en la placa Arduino. Aquí encontraréis los pasos detallados para poner S4A en marcha.

Instalar S4A en el ordenador

S4A funciona sobre los tres sistemas operativos de escritorio más populares. Descargad e instalad el que os convenga.

Instalar el firmware en el Arduino

Este firmware es un programa que debe instalarse en vuestra placa Arduino para poderos comunicar con ella desde S4A.

Descargad e instalad el entorno Arduino siguiendo las instrucciones de http://arduino.cc/en/Main/Software. Hay que tener en cuenta que, para trabajar con Arduino Uno, se necesita la versión 0022 o superior.

Descargad nuestro firmware aquí

Conectad la placa Arduino a un puerto USB de vuestro ordenador

Abrid el archivo de firmware (S4AFirmware15.ino) desde el entorno Arduino

En el menú Herramientas, seleccionad la versión de la placa y el puero serie en qué esté conectada la placa

Cargad el firmware a la placa mediante la opción de menú Archivo > Subir

Para programadores

S4A es software libre sujeto a una licencia MIT.

De todas formas, a la versión final de S4A hay código que ha sido compilado, y se habrán perdido varios nombres de variables y argumentos de mensajes. Por este motivo, también distribuimos una imagen con el código fuente limpio para desarrolladores, descargable desde este enlace:
S4A para desarrolladores

¿Qué placas son compatibles con S4A?

S4A funciona correctamente con Arduino Diecimila, Duemilanove y Uno. No se ha probado con otras placas, pero es posible que también funcionen.

¿Funcionará S4A en mi ordenador?

S4A funciona sobre los tres sistemas operativos de escritorio más populares: Microsoft Windows, GNU/Linux and MacOS. Así que, muy probablemente, funcionará en vuestro ordenador.

Marina Conde

Marina Conde se diplomó en Ingeniería Técnica en Informática de Gestión por la Universitat Politècnica de Catalunya (UPC) en el año 2009, donde continuó los estudios hasta obtener, en 2012, el título de Ingeniería Superior en Informática.

Víctor Casado

Víctor empezó a estudiar Ingeniería en Informática en la Universitat Autònoma de Barcelona (UAB), pero al cabo de dos años pasó a estudiar el grado de telecomunicaciones en la Escola Politècnica Superior de Castelldefels.

Durante este tiempo, le surgió la oportunidad de entrar al Citilab a través de una beca, donde desarrolló S4A, su proyecto final.

Joan Güell

Joan es un biólogo que, en sus primeros años, trabajó en el campo de la ecología. La necesidad de analizar la información generada y los datos recogidos instigó su aproximación a la informática. Se inscribió a su primer curse de programación en el año 1975, cuando los ordenadores todavía se programaban usando tarjetas perforadas.

Su principal tarea en el Citilab ha estado relacionada con el campo de la formación en dos áreas: la enseñanza de la programación mediante Scratch, especialmente para niños, y la formación en conocimientos de informática a ciudadanos adultos.

Jose García

Jose estudió Inginiería Superior en Telecomunicaciones, pero empezó a trabajar en una editorial andes de terminar los estudios. Durante el tiempo en qué trabajó en esta empresa, programó una amplia variedad de aplicaciones.

Bernat Romagosa

En el año 2009, Bernat se graduó como Ingeniero Técnico en Informática de Gestión por la Universitat Oberta de Catalunya (UOC). Aprendió Smalltalk en un curso impartido pir Jordi Delgado en el Citilab durante el año 2008, donde más adelante entró a trabajar con el objetivo de desarrollar una escuela virtual de programación.

Desde entonces, ha estado involucrado en varios proyectos de programación en el Citilab. Entre otros, un sistema de gestión del conocimiento y varias aplicaciones educativas.

Jordi Delgado

Jordi es profesor titular en el departamento de Lenguajes y Sistemas Informáticos de la Universitat Politècnica de Catalunya (UPC). Pertenece al grupo de investigación LARCA e imparte clases en la Facultat d'Informàtica de Barcelona.

Para formular preguntas y respuestas, por favor utilitzad la lista de correo de la comunidad. Para suscribiros, enviad un correo a:
s4a-community+subscribe@googlegroups.com
Una vez suscritos, podéis mandar vuestros mensajes a:
s4a-community@googlegroups.com
También podéis utilizar la interfaz web de la lista de correo para suscribiros, contribuir y consultar el archivo:
Página web de la lista de correo

Puedes contactar con nosotros en scratch@citilab.eu para informarnos sobre bugs o para cualquier sugerencia.

# data[].attributes.attachment_link.description
S4A - Scratch for Arduino es una modificación de Scratch que trae la facilidad de programar en Scratch a la placa de prototipaje Arguino

# data[].attributes.body
Aplicación web para diseñar en 3D, crear y simular circuitos eléctricos y electrónicos, programar, etc.

# data[].attributes.attachment_link.title
Tinkercad | From mind to design in minutes

# data[].attributes.attachment_link.description
Tinkercad is a free, easy-to-use app for 3D design, electronics, and coding.

# data[].attributes.body
Entorno de programación por bloques pensado para robots/placas.

# data[].attributes.attachment_link.readable_text
One-stop coding platform tailored to coding education, trusted by 20 million educators, and learners

Share your coding projects and get to meet coders from around the world

Online coding training

Join Makeblock STEAM on Board project and get free education resources

Join now

Education resources

Rich resources for teaching coding including textbooks, curriculum, lesson plans etc.

View all

Classroom management

Easily upload and manage homework with built-in intergration Google Classroom

Learn more

Use mBlock across different devices.
(Supports Windows, Mac, Linux, Chromebook, iOS, Android)

Join mBlock volunteer translator platform Crowdin and help localize mBlock

By accepting our site you accept that we use and share cookies and similar technologies to perform analytics and provide content tailored to your interests. By continuing to use our site, you consent to this. Please see our Privacy Policy and Terms of Use for more information. Accept

# data[].attributes.attachment_link.title
mBlock - One-Stop Coding Platform for Teaching and Learning

# data[].attributes.attachment_link.description
Makeblock's coding platform for beginners. Scratch 3.0 based. Supports coding for robots like Makeblock, Arduino with blocks or Python, learning AI & IoT

# data[].attributes.attachment_link.readable_text
Sensor de Movimiento(PIR)

¿Qué es?

Rango de detección de los sensores PIR

Conexión

Características

Uso

Referencia: S/N. (2017). Sensor infrarrojo de movimiento PIR HC-SR501 . 2020, de Punto Flotante Sitio web: https://puntoflotante.net/MANUAL-DEL-USUARIO-SENSOR-DE-MOVIMIENTO-PIR-HC-SR501.pdf

Generalmente funcionan con alcances de hasta 7 metros con aperturas de 90° a 110°

Los sensores infrarrojos pasivos (PIR) son dispositivos para la detección de movimiento

Rango de detección: 3m a 7m, ajustable mediante trimmer (Sx) Lente fresnel de 19 zonas, ángulo < 100º Salida activa alta: 3.3V Tiempo en estado activo de la salida configurable mediante trimmer (Tx) Redisparo configurable mediante jumper de soldadura Consumo de corriente en reposo: < 50 μA Voltaje de alimentación: 4.5 VDC a 20 VDC

Son baratos, pequeños, de baja potencia y fáciles de usar

Frecuentemente usados en juguetes, aplicaciones domóticas o sistemas de seguridad

# data[].attributes.attachment_link.description
Sensor de Movimiento(PIR) ¿Qué es? Rango de detección de los sensores PIR Conexión Características Uso Referencia: S/N. (2017). Sensor infrarrojo de movimiento PIR HC-SR501 .

# data[].attributes.attachment_link.readable_text
Fotorresistencia

Uso con Arduino

Tipos

Características

¿Cómo funciona?

¿Qué es?

Es un componente electrónico cuya resistencia varía en función de la luz

Su función radica en su componente principal, el sulfuro de cadmio Este componente químico es un semiconductor que tiene la capacidad de variar su resistencia según la cantidad de luz que en él incida

A. Fotorresistencia o LDR lineales: Son aquellas que polarizan a la inversa de la fuente donde se conecte. Son también llamadas foto-diodos B. Fotorresistencia o LDR no lineales: La polaridad de este fotoresistor no depende de la fuente donde se conecte

Se muestra en el siguiente diagrama un Circuito de armado Recordar que los LED tienen polaridad y hay que respetarla. El pin más largo va conectado a la tarjeta Arduino, mientras que el pin más corto va con una resistencia a tierra, la resistencia también puede colocarse sin problema entre el ánodo del LED y el Arduino (del lado positivo del LED)

Conformados por un semiconductor de alta resistencia

La resistencia varia entre 1MΩ cuando hay mucha oscuridad y 100Ω con altas intensidades de luz

Tiempo de respuesta de 1 décima de segundo cuando varia la intensidad lumínica

De muy bajo costo y tecnología sencilla, por lo tanto se puede encontrar en cámaras, medidores de luz, alarmas de seguridad, medidores de radio o los sistemas de alumbrado publico; también en autos modernos

Desventajas

Se debe elegir la fotorresistencia en función del tipo de luz que se quiere medir (infrarrojo, luz visible o ultravioleta)

Se produce lo que se conoce como efecto histéresis

No pueden ser usados en lugares donde la luz varia rápidamente, ya que tiene una velocidad de respuesta lenta

La variación de la resistencia en función de la intensidad lumínica no es lineal

Ventajas

Puede abarcar superficies grandes

Es fácil de usar, solo con conectar las terminales funciona

El costo de adquirir una fotorresistencia es bajo y permite abaratar costos de personal

Tiene una gran relación luz, oscuridad, electricidad

# data[].attributes.attachment_link.description
Fotorresistencia Uso con Arduino Tipos Características ¿Cómo funciona? ¿Qué es? Es un componente electrónico cuya resistencia varía en función de la luz Su función radica en su componente principal, el sulfuro de cadmio Este componente químico es un semiconductor que tiene la capacidad de variar su resistencia según la cantidad de luz que en él incida A.

# data[].attributes.attachment_link.readable_text
Sensor Ultrasónico

¿Qué es?

HC-SR04 uso con Arduino

Pines

Características

¿Comó funciona?

https://www.web-robotica.com/arduino/como-usar-el-sensor-de-distancia-ultrasonico-hc-sr04-con-arduinohttps://programarfacil.com/blog/arduino-blog/sensor-ultrasonico-arduino-medir-distancia/https://programarfacil.com/blog/arduino-blog/sensor-ultrasonico-arduino-medir-distancia/

HC-SR04 Es un sensor de proximidad que detecta objetos a distancias que van desde pocos centímetros hasta varios metros, es decir permite medir distancias a través de ultrasonidos

La interfaz del sensor HC-SR04 y Arduino se logra mediante 2 pines digitales: el pin de disparo (trigger) y eco (echo) La función de cada uno de estos pines es la siguiente:

El pin trigger recibe un pulso de habilitación de parte del microcontrolador, mediante el cual se le indica al módulo que comience a realizar la medición de distancia

El pin echo es el sensor que devuelve al microcontrolador un puso cuyo ancho es proporcional al tiempo que tarda el sonido en viajar del transductor al obstáculo y luego de vuelta al módulo

Fuente de alimentación: + 5V DC

Corriente en reposo: <2 mA

Trabajo actual: 15mA

Ángulo Eficaz: <15 °

Distancia: 2 cm - 400 cm.

Resolución: 0,3 cm.

Medición de ángulo: 30 grados

Disparo por ancho de pulso de entrada: 10uS

Dimensiones: 45mm x 20mm x 15mm

El sensor envía una onda ultrasónica a través del disparador o trigger, el cual revota contra el objeto y el receptor detecta la onda

Sabiendo cuánto ha tardado en viajar dicha onda se puede conocer la distancia a la que se encuentra el objeto. (Se pude visualizar en Arduino o pantalla LCD)

Conexiones

Forma de Onda del sensor ultrasónico

# data[].attributes.attachment_link.description
Sensor Ultrasónico ¿Qué es? HC-SR04 uso con Arduino Pines Características ¿Comó funciona?

# data[].attributes.attachment_link.readable_text
Diodo Emisor de Luz (LED)

Álvarez, J. A. (Septiembre de 2015). Así funcionan los diodos LED. Obtenido de http://www.asifunciona.com/fisica/af_leds/af_leds_3.htm

¿Qué es?

Características

Funcionamiento

Funcionamiento

Funcionamiento

Funcionamiento

Funcionamiento

Conexión con Arduino

El LED es un tipo especial de diodo que trabaja como un diodo común, pero que al ser atravesado por la corriente eléctrica, emite luz El color, depende del material semiconductor empleado en la construcción del diodo

Tienen dos patillas de conexión una larga y otra corta

El voltaje de operación va desde 1,8 hasta 3,8 volts

Los Diodos Led tienen dos patillas de conexión una larga y otra corta Para que pase la corriente y emita luz se debe conectar la patilla larga al polo positivo (VCC) y la corta al negativo (GND) En caso contrario la corriente no pasará y no emitirá luz

Conexión LED a Placa Arduino

Conexión Led RGB

# data[].attributes.attachment_link.description
Diodo Emisor de Luz (LED) Álvarez, J. A. (Septiembre de 2015). Así funcionan los diodos LED. Obtenido de http://www.asifunciona.com/fisica/af_leds/af_leds_3.htm ¿Qué es?

# data[].attributes.attachment_link.readable_text
LED RGB

¿Qué es?

Características

¿Cómo funciona?

Uso con Arduino

Tipos de conexiones

Es un tipo de diodo emisor de luz y su nombre deriva de las palabras Rojo, Azul y Verde. Tienen cuatro hilos con una terminal en común ya sea un Led RGB de ánodo o cátodo común

RGB es un modelo de color basado en la síntesis aditiva Los colores del Led RGB vienen representados con números comprendidos entre el valor 0 y el valor 255

1. Conexión de un LED RGB de ánodo común La conexión básica de un LED RGB de 4 patas se realiza de manera muy sencilla solo hay que conectar la terminal común o ánodo al terminal positivo de voltaje o fuente de alimentación y el resto de las terminales o patas del componente a tierra a través de una resistencia

2.Conexión de un LED RGB de cátodo común Para conectar un RGB de cátodo común solo se debe conectar la terminal común o cátodo a tierra y las demás terminales o patas del RBB a la fuente de alimentación a través de una resistencia

Un LED RGB es uno de los tipos de LED que pareciera ser 3 LED conectados entre sí, esta unión en común puede ser a través de su polos negativos o catados, también puede ser a través de sus polos positivos o ánodos y en el estándar suele ser la pata o terminal más grande del componente

# data[].attributes.attachment_link.description
LED RGB ¿Qué es? Características ¿Cómo funciona? Uso con Arduino Tipos de conexiones Es un tipo de diodo emisor de luz y su nombre deriva de las palabras Rojo, Azul y Verde.

# data[].attributes.attachment_link.readable_text
SERVOMOTOR

¿Qué es?

Rango de Movilidad

Conexión con Arduino

Funcionamiento

Uso

Referencia: S/N. (2017). Sensor infrarrojo de movimiento PIR HC-SR501 . 2020, de Punto Flotante Sitio web: https://puntoflotante.net/MANUAL-DEL-USUARIO-SENSOR-DE-MOVIMIENTO-PIR-HC-SR501.pdf

Típicamente los servos disponen de un rango de movimiento de entre 0 a 180º. Es decir, no son capaces de dar la vuelta por completo (de hecho disponen de topes internos que limitan el rango de movimiento)

Un servomotor es un tipo de accionador ampliamente empleado en electrónica A diferencia de otros tipos de motores en los que controlamos la velocidad de giro, en un servo indicamos directamente el ángulo deseado, por lo que se encarga de posicionarse en ese ángulo

Internamente un servomotor está constituido por un motor de corriente continua, acoplado a un reductor para reducir la velocidad de giro, junto con la electrónica necesaria para controlar su posición Internamente un servomotor frecuentemente consta de un mecanismo reductor. Por tanto proporcionan un alto par y un alto grado de precisión (incluso décimas de grado) Por lo contrario, las velocidades de giro son pequeñas frente a los motores de corriente continua

Un servomotor, es aquel que contiene en su interior un encoder, conocido como decodificador, que convierte el movimiento mecánico (giros del eje) en pulsos digitales interpretados por un controlador de movimiento También utilizan un driver, que en conjunto forman un circuito para comandar posición, torque y velocidad

# data[].attributes.attachment_link.description
SERVOMOTOR ¿Qué es? Rango de Movilidad Conexión con Arduino Funcionamiento Uso Referencia: S/N. (2017). Sensor infrarrojo de movimiento PIR HC-SR501 . 2020, de Punto Flotante Sitio web: https://puntoflotante.net/MANUAL-DEL-USUARIO-SENSOR-DE-MOVIMIENTO-PIR-HC-SR501.pdf Típicamente los servos disponen de un rango de movimiento de entre 0 a 180º.

# data[].attributes.body
Manual donde se describen las características básicas de la placa de Arduino y se muestran las principales consideraciones para realizar su programación.

# data[].attributes.attachment_link.readable_text
Módulo Relé (Relevador)

¿Qué es?

Módulos

Obtenido de :ABCelectronica.net. (s.f.). ABC ProyectosEléctronicos : https://www.abcelectronica.net/productos/reles/modulos/

Conexión

Funcionamiento

Características

Es un dispositivo electromagnético que funciona como un interruptor controlado por un circuito eléctrico en el que se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos independientes

Relés de 1 y 4 módulosRelés de 2 y 8 módulos

Si activamos el Relé, poniendo a 5 Volts el pin de control dejará pasar la corriente (se cierra el circuito interruptor), mientras que si la tensión es cero Volts se interrumpirá la corriente

Existen relés para

El módulo cuenta con tres pines:

Positivo (VCC)

Señal

Negativo (GND)Este tipo de modulo se activa con una señal de cero VDC, es decir, cero lógico

# data[].attributes.attachment_link.description
Módulo Relé (Relevador) ¿Qué es? Módulos Obtenido de :ABCelectronica.net. (s.f.).

# data[].attributes.attachment_link.title
Motor DC con Arduino y driver L293D o L298N

# data[].attributes.attachment_link.description
Es hora de hablar sobre el funcionamiento de un motor de corriente continua o motor DC y como controlarlo mediante los drivers L298N y L293D

# data[].attributes.body
Instalación de drivers y software en Windows

# data[].attributes.attachment_link.readable_text
En esta práctica vamos a instalar los drivers y software en el ordenador, cosas imprescindible para sincronizar las comunicaciones entre PC y placa ARDUINO, y así poder cargar los programas que vamos a desarrollar en las siguientes prácticas.

Ahora seleccionamos el sistema operativo que utilizamos en nuestro PC (windows, MAC o Linux)

Guardamos el archivo donde deseemos:

Descomprimimos la carpeta, accedemos a ella, y buscamos el ejecutable llamado "arduino":

Hacemos dobre click sobre dicho icono y ejecutamos ya el programa:

Ahora seleccionamos el tipo de placa o Arduino que vamos a utilizar (en nuestro caso Arduino UNO):

Para instalar los drivers en nuestro PC, debemos conectar con el cable USB nuestra placa ARDUINO al PC. En ese momento el ordenador lo detectará y nos sugerirá si deseamos instalarlo automáticamente o a partir de los archivos que están en una determinada carpeta. Seleccionamos esta opción y le marcamos la ruta de la carpeta drivers, dentro de la carpeta de la versión de arduino descargada con anterioridad.

Los drivers se instalarán y asignará un puerto de comunicaciones (en nuestro caso el COM4), y ya estará finalizada la instalación.

Ahora comprobamos que tiene bien seleccionado el puerto serie:

Pues ya estamos en disposición de pasar a la siguiente práctica para cargar nuestro primer programa y ver que todo lo hecho en ésta se ha ejecutado correctamente.

# data[].attributes.attachment_link.title
PRACTICA 0: INSTALACIÓN DE DRIVERS Y SOFTWARE

# data[].attributes.attachment_link.description
En esta práctica vamos a instalar los drivers y software en el ordenador, cosas imprescindible para sincronizar las comunicaciones entre PC...