Arduino
Todo lo relacionado con el HW libre y en concreto con Arduino y placas derivadas o compatibles con Arduino está evolucionando continuamente, por lo tanto debemos estar atentos a las noticias y tendencias en este sector.
La principal noticia sobre Arduino ocurrida en los últimos años y que supone bastantes cambios en el HW y SW de Arduino es la división de Arduino en dos empresas y dos webs oficiales de Arduino: arduino.cc (Arduino LLC) y arduino.org (Arduino Slr).
A principios de 2015 se produjo una división dentro de Arduino y desde entonces han aparecido bastante cambios para los usuarios de Arduino, la primera es que ha aparecido una nueva marca llamada “Genuino” asociada a arduino.cc y una nueva web oficial de Arduino www.arduino.org. Pero no solo es que haya dos páginas web oficiales de Arduino, sino que ahora hay dos entornos de programación y han aparecido nuevos modelos de placas Arduino pero fabricadas por diferentes empresas.
En este momento hay dos páginas oficiales de Arduino: www.arduino.cc y www.arduino.org, la primera es la que nació originalmente y la segunda es la que se creó a raiz del la división entre el equipo creador de Arduino y la empresa que fabricaba el Hardware en Italia.
Cada una de estas webs tienen placas Arduino diferentes, IDEs diferentes y marcas diferentes con la aparición de Genuino fuera de EEUU. Esto puede causar cierta confusión a los usuarios de Arduino pero vamos a aclararlo en este capítulo.
Un poco de Historia Formación Profesional
Arduino LLC fue la compañía creada por Massimo Banzi, David Cuartielles, David Mellis, Tom Igoe and Gianluca Martino en 2009 y era la propietaria de la marca Arduino. Las placas Arduino eran fabricadas por una spinoff llamada Smart Projects Srl creada por Gianluca Martino. En noviembre de 2014 cambiaron el nombre de la empresa que manufactura las placas Arduino de Smart Projects Srl a Arduino Srl y registraron el dominio arduino.org, esto fue el inicio de la división que se produjo poco después.
Hasta principios de 2015 la web oficial de Arduino era www.arduino.cc mantenida por los creadores de Arduino y todo su equipo. En febrero de 2015 se hizo público la ruptura entre los fundadores de Arduino y el fabricante de las placas de Arduino liderado por Gianluca Martino, comenzando este una nueva dirección del proyecto Arduino con la empresa Arduino Srl.
Más información en estos enlaces:
http://makezine.com/2015/03/19/massimo-banzi-fighting-for-arduino/
http://panamahitek.com/inicia-batalla-legal-por-el-control-de-la-marca-arduino/
En mayo de 2015 Massimo Banzi anunció la nueva marca de Arduino y el nuevo desarrollo de Arduino en la Maker Faire Bay Area 2015. Ver: https://blog.arduino.cc/2015/05/22/the-state-of-arduino-a-new-sister-brand-announced/
En enero de 2016 Federico Musto de Arduino SRL publicó los futuros nuevos productos y direcciones de arduino.org en http://hackaday.com/2016/01/04/new-products-and-new-directions-an-interview-with-federico-musto-of-arduino-srl/.
A partir de esta ruptura, durante 2015 se vivieron muchos cambios en ambas páginas web, mejoras notables en el IDE oficial de Arduino de www.arduino.cc y la aparición de dos nuevos IDEs de Arduino desde www.arduino.org, uno como un fork del original y otro un nuevo desarrollo de arduino.org llamado Arduino Studio escrito de nuevo completamente en javascript y basado en Brackets, pero que aun está en versión alpha.
Podemos resumir que ahora mismo hay dos empresas: Arduino LLC con Massimo Banzi y los demás co-fundadores de Arduino y Arduino SRL con Gianluca Martino y Federico Musto, este último no perteneciente al equipo original e incorporado posteriormente.
Actualmente arduino.cc son https://www.arduino.cc/en/Main/AboutUs
Más información sobre la historia de Arduino, ver el artículo de Hernando Barragán sobre la historia no contada de Arduino: https://arduinohistory.github.io/ donde también se explica el origen de Arduino tomando como base Wiring http://wiring.org.co/
La última noticia de importancia en Arduino paso el pasado 1 de octubre de 2016 durante el World Maker Faire de New York, donde Massimo Banzi and Federico Musto anunciaron las empresas Arduino LLC (arduino.cc) y ArduinoSRL (arduino.org) han firmado un acuerdo, cerrando las disputas iniciadas a principio de 2015.
Para finales de 2016 el recién creado “Arduino Holding” será el punto único para la distribución de los productos Arduino actuales y futuros y continuará sacando al mercado nuevas innovaciones.
Además, Arduino formará la “Fundación Arduino” sin ánimo de lucro, que será la responsable de mantener el IDE Arduino open source y continuará fomentando el movimiento open source.
Más información en:
Las marcas Arduino
Puesto que las placas Arduino son open source, cualquiera puede hacer una placa Arduino compatible o incluso una copia exacta, sin embargo el nombre, la marca Arduino y el logotipo están protegidos: https://www.arduino.cc/en/Trademark/HomePage.
Ahora mismo en europa la marca y el logo arduino es usado por arduino.org y en USA es usado por arduino.cc. Por este motivo fuera de USA arduino.cc ha sacado una nueva marca llamada GENUINO y un nuevo logo.
Genuino es la marca de arduino.cc creada por los fundadores de Arduino y usada para las placas y productos vendidos fuera de Estados Unidos. Más información en: https://www.arduino.cc/en/Main/GenuinoBrand
Por lo tanto cuando vemos una placa genuino, se trata de una placa Arduino LLC. Se puede decir que Arduino y Genuino son lo mismo pero por temas legales debe tener un nombre/marca diferente.
Las dos webs a fondo
www.arduino.cc es el sitio original de Arduino de los creadores de Arduino y www.arduino.org es un “fork” creado por la empresa que fabricaba las placas Arduino. Ambas páginas tratan sobre Arduino pero fabrican placas diferentes, nos ofrecen IDEs diferentes y contiene información de cada uno de sus productos.
Arduino.cc
Como hemos dicho es la web original de Arduino y la que conocen bien todos los que han trabajado con Arduino. Los elementos más importantes de esta web son:
Download: https://www.arduino.cc/en/Main/Software donde podemos descargar la última versión del software de desarrollo de Arduino para cualquier SO, así como las versiones anteriores, código fuente, preview de las próximas versiones y otro software relacionado.
Tienda: https://store.arduino.cc/index.php?main_page=index donde podemos comprar todos los productos de la marca Genuino fuera de USA.
Productos: https://www.arduino.cc/en/Main/GenuinoProducts, aquí hay dos claras divisiones:
Para los productos Arduino (USA only) https://www.arduino.cc/en/Main/Products, están todos los productos Arduino desde que nació, incluidas las placas retiradas y que siempre lo podemos consultar como referecia a placas Arduino creadas desde la creación de Arduino hasta su división.
Para los productos Genuino (outside USA) https://www.arduino.cc/en/Main/GenuinoProducts, son las placas que actualmente podemos comprar fuera de USA con la marca Genuino y creadas por el equipo original de Arduino.
Reference: https://www.arduino.cc/en/Reference/HomePage con la documentación para programar Arduino, que es común para todo tipo de Arduinos.
Tutoriales: https://www.arduino.cc/en/Tutorial/HomePage contiene amplia información común de Arduino pero personalizada para el IDE de arduino.cc y sus productos.
Getting Started: https://www.arduino.cc/en/Guide/HomePage
Playground: http://playground.arduino.cc/ es el wiki de los usuarios de arduino.cc que ha ido creciendo desde el inico de Arduino y es una magnifca base de datos de conocimiento de Arduino.
Foro: http://forum.arduino.cc/ es el foro de Arduino con documentación desde el inico de Arduino y una magnifica herramienta de consulta y donde preguntar las dudas de Arduino.
Blog: https://blog.arduino.cc/ blog de arduino.cc donde poder estar al día de las novedades del grupo que creó Arduino.
Arduino Create: https://create.arduino.cc/ IDE online, y project hub enfocado principlamente al uso de Arduino con Internet de las cosas, así como el interesante proyecto de Arduino Cloud que se encuentra en versión beta.
La web de arduino.cc ha evolucionado mucho en los meses posteriores a la división de Arduino. Ha cambiado la imagen y han actualizado y añadido contenidos muy interesantes.
Se pueden ver las novedades en la entrada del blog de arduino.cc: https://blog.arduino.cc/2015/09/11/keeping-the-arduino-website-in-motion/
Arduino.org
Web oficial de la marca Arduino fuera de USA. Los elementos más importantes de esta web son:
Productos: http://www.arduino.org/products/boards todas las placas y http://www.arduino.org/products/shields los shields de arduino.org. Fuera de USA son las únicas placas oficiales que podemos comprar con la marca Arduino.
Distribuidores: http://www.arduino.org/distributors
Tienda: http://world.arduino.org/en/
Software: http://www.arduino.org/software para descargar el IDE de arduino.org que no es el mismo que arduino.cc y no debemos confundirlos.
Reference: http://www.arduino.org/learning/reference similar al reference de arduino.org, la programación de Arduino sigue siendo la misma.
Tutoriales: http://www.arduino.org/learning/tutorials para el HW de arduino.org
Getting Started: http://www.arduino.org/learning/getting-started para empezar con Arduino y el HW de arduino.org
Blog: http://www.arduino.org/blog es un nuevo blog de arduino.org
Foro: http://www.arduino.org/forums, solo tiene lo relacionado con arduino.org y para cualquier consulta que no sea específica de arduino.org, mejor usar el foro arduino.cc
Makers: http://www.arduino.org/makers espacio dedicado a los makers donde se muestran proyectos con Arduino.Puedes mandar tu proyecto y ganar un Arduino Yun.
Foundation: http://www.arduino.org/foundation fundación Arduino a las universidades, entidades educacionales y la comunidad
El Hardware Arduino
La división de Arduino en dos partes ha provocado que haya dos tipos de placas Arduino originales con marcas diferentes como hemos visto. En la página arduino.org se encuentra disponibles productos que en el arduino.cc no están y viceversa.
arduino.cc tiene un acuerdos con adafruit y seeedstudio para manufacturar sus placas y también tiene nuevos acuerdos para usar MCUs de Intel además de los de Atmel, como el arduino 101 con chip intel curie.
Anuncios de los acuerdos de arduino.cc
https://blog.arduino.cc/2015/05/16/arduino-manufacturing-partnership-with-adafruit/
https://blog.arduino.cc/2015/06/20/arduino-and-seeedstudio-announce-partnership/
Las placas oficiales para Europa de genuino son:
Genuino UNO: https://www.arduino.cc/en/Main/ArduinoBoardUno el Arduino por excelencia con el microcontrolador de 8 bits AVR Atmega328P
Genuino 101: https://www.arduino.cc/en/Main/ArduinoBoard101 la siguiente generación del Arduino UNO con procesador Intel de 32 bits. Exclusiva de arduino.cc
Genuino MICRO: https://www.arduino.cc/en/Main/ArduinoBoardMicro version reducida con MCU Atmel AVR de 8 bits ATmega32U4
Genuino MEGA: https://www.arduino.cc/en/Main/ArduinoBoardMega2560 la versión más potente con MCU Atmel AVR de 8 bits ATmega2560 y mayor cantidad de puertos I/O y comunicación.
Genuino ZERO: https://www.arduino.cc/en/Main/ArduinoBoardZero version con procesador Atmel ARM Cortex M0+ de 32bits SAMD21. Esta placa solo soporta hasta 3.3V en lugar de los 5V de las anteriores. Dispone de un Atmel Embedded Debugger (EDGB). Exclusiva de arduino.cc, pero es igual que la Arduino M0 pro
Genuino MKR1000: https://www.arduino.cc/en/Main/ArduinoMKR1000 version para IoT con procesador Atmel ARM Cortex M0+ de 32bits ATSAMW25 que es el mismo procesador que Genuino Zero pero con wifi integrado, chip de cifrado y antena integrada. También dispone de entrada de batería y cargador para baterías LiPo de una celda. Exclusiva de arduino.cc
Tabla comparativa: https://www.arduino.cc/en/Products/Compare
Shields oficiales para Europa de genuino son:
Genuino Yun Shield: https://www.arduino.cc/en/Main/ArduinoYunShield que permite dar las caracteristicas de Arduino Yun a cualquier arduino. Es la placa perfecta para proyectos de IoT y gracias a la librería bridge su uso es muy sencillo. Exclusiva de arduino.cc
Para el mercado USA arduino.cc oferece un mayor número de placas con la marca Arduino: https://www.arduino.cc/en/Main/Products.
En cada uno de los enlaces tenemos amplia información de cada placa y todo tipo de documentación sobre ellas, que es imprescindible leer antes de comenzar a usarlas.
arduino.org es fabricante de sus propias placas en Italia y se habló de conversaciones para fabricar con Panasonic y Bosch para expandir por el mundo la fabricación de placas Arduino y reducir su coste según http://readwrite.com/2015/03/18/arduino-open-source-schism/
Las placas de arduino.org disponibles son:
Arduino UNO: http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno el arduino por excelencia igual al Genuino UNO. Ahora en versión TH y SMD.
Arduino Mega 2560: http://www.arduino.org/products/boards/4-arduino-boards/arduino-mega-2560 con MCU Atmel AVR de 8 bits ATmega2560. Igual que el Genuino Mega.
Arduino Leonardo: http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo con MCU Atmel AVR de 8 bits ATmega32U4. Esta MCU tiene la comunicación USB integrada sin necesidad de una MCU adicional para el USB.
Arduino Ethernet: http://www.arduino.org/products/boards/4-arduino-boards/arduino-ethernet es un Arduino UNO con ethernet proporcionado por el controlador W5100, el mismo que el Shield Ethernet. Para programar este Arduino es necesario un cable FTDI al no tener un USB-to-serial driver chip.
Arduino Leonardo ETH: http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo-eth es un Arduino Leonardo con ethernet proporcionado por el controlador W5500. Se trata de la versión actualizada del Arduino Ethernet. Exclusiva de arduino.org
Arduino Due: http://www.arduino.org/products/boards/4-arduino-boards/arduino-due con MCU Atmel ARM de 32 bits SAM3X8E ARM Cortex-M3. Fue el primer Arduino de 32-bits ARM core. Una versión más potente del Mega.
Arduino Micro: http://www.arduino.org/products/boards/4-arduino-boards/arduino-micro con la misma MCU que el Leonardo. Versión compacta de Arduino Leonardo.
Arduino Nano: http://www.arduino.org/products/boards/arduino-nano versión compacta del Arduino UNO.
Arduino UNO Wifi: http://www.arduino.org/products/boards/arduino-uno-wifi es un Arduino UNO con wifi integrado gracias a un chip ESP8266 y un firmware exclusivo para integarlo en esta placa. Perfecta para inciarse en proyectos de IoT. Exclusiva de arduino.org
Arduino M0: http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0 con procesador Atmel ARM Cortex M0+ de 32bits SAMD21. Similar al Genuino Zero pero sin EDGB. Exclusiva de arduino.org
Arduino M0 Pro: http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0-pro similar al Genuino Zero y es la versión del Arduino M0 con puerto de debug. Exclusiva de arduino.org
Arduino Primo: http://www.arduino.org/products/boards/arduino-primo combina la potencia de procesamiento de un procesador nRF52 (https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52832) de nordic semiconductor que soporta Bluetooth LE, ANT y comunicación inalámbrica propietaria a 2.4 GHz (compatible con los productos nRF51 Series, nRF24L and nRF24AP Series de Nordic Semiconductor), a lo que añade wifi gracias al procesador ESP8266. Más información en http://download.arduino.org/summercontest/primo_chart_20160714.pdf. Exclusiva de arduino.org
Arduino STAR – OTTO: http://www.arduino.org/products/boards/arduino-star-otto con procesador STM32F469 de gran potencia (http://www.st.com/content/ccc/resource/technical/document/datasheet/2f/48/57/b4/79/f7/4f/65/DM00219980.pdf/files/DM00219980.pdf/jcr:content/translations/en.DM00219980.pdf) con wifi integrado gracias al microprocesador ESP8266. Dispone de diversos periféricos en la placa como conector para cámara y LCD, auriculares y altavoces.
Arduino Yun: http://www.arduino.org/products/boards/4-arduino-boards/arduino-yun con MCU Atmel AVR de 8 bits ATmega32U4 y procesador MIPS Qualcomm Atheros AR9331 a 400 MHz con wifi integrado y SO linux Linino basado en OpenWRT y ethernet. Su principal característica es la capacidad de comunicar la MCU con el SO linux mediante un puerto serie interno. Esta placa no es 100% hardware libre, al no hacerse público la parte donde se encuentra el procesador Atheros AR9331. Exclusiva de arduino.org
Arduino Yun Mini: http://www.arduino.org/products/boards/arduino-yun-mini. Versión compacta para protoboards de Arduino Yun. Exclusiva de arduino.org
Arduino Industrial 101: http://www.arduino.org/products/boards/arduino-industrial-101 es una breakout board con pequeño factor de forma de Arduino Yun diseñada para integración de producto. Exclusiva de arduino.org
Arduino Tian: http://www.arduino.org/products/boards/4-arduino-boards/arduino-tian con MCU Atmel ARM Cortex M0+ de 32bits SAMD21 y procesador MIPS Qualcomm Atheros AR9342 a 560 MHz con wifi integrado dual band y SO linux Linino basado en OpenWRT, ethernet a giga y bluetooth. Un Arduino YUN con más potencia. Exclusiva de arduino.org
Resumen de todas las placas: http://www.arduino.org/products/boards
Tabla comparativa: http://www.arduino.org/comparative-table
Los shields de arduino.org disponibles son:
Arduino Ethernet Shield 2: http://www.arduino.org/products/shields/arduino-ethernet-shield-2 para conectar Arduino a una red ethernet. Basado en el chip WIZnet W5500. Exclusiva de arduino.org
Arduino 4 Relays Shield: http://www.arduino.org/products/shields/arduino-4-relays-shield para controlar 4 relés y manejar grandes cargas no conectadas directamente con Arduino. Exclusiva de arduino.org
Arduino GSM Shield 2: http://www.arduino.org/products/shields/arduino-gsm-shield-2 permite conectar Arduino a Internet mediante GPRS. También permite enviar y recibir SMSs y realizar llamadas.
Arduino Lucky Shield: http://www.arduino.org/products/shields/arduino-lucky-shield que dispone de varios sensores como barométrico, altitud relativa, luminosidad, temperatura, movimiento y presencia. También dispone de dos relés y soporte para pantallas OLED. Exclusiva de arduino.org
Arduino Motor Shield: http://www.arduino.org/products/shields/arduino-motor-shield que permite manejar 2 motores DC o un motor paso a paso, basado en el doble puente H L298. Exclusiva de arduino.org
Arduino 9 AXES motion Shield: http://www.arduino.org/products/shields/arduino-9-axes-motion-shield con una IMU de 9 ejes basada en el chip BNO055 sensor de Bosch Sensortec GmbH. Exclusiva de arduino.org
Arduino WiFi Shield: http://www.arduino.org/products/shields/arduino-wifi-shield conecta Arduino por wifi basado en el chip HDG204 http://pub.ucpros.com/download/1451_hdg204_datasheet_pa4.pdf?osCsid=mcrh728ovgeg6ub4ka6mccrso5s. Exclusiva de arduino.org
Arduino Wireless SD Shield: http://www.arduino.org/products/shields/arduino-wireless-sd-shield permite conectar módulos XBee o similares, además de un lector de tarjetas micro SD. Exclusiva de arduino.org
Arduino USB Host Shield: http://www.arduino.org/products/shields/arduino-usb-host-shield permite a arduino conectar un dispositivo USB gracias al controlador MAX3421E. Exclusiva de arduino.org
Resumen de todos los shields: http://www.arduino.org/products/shields
Tabla comparativa: http://www.arduino.org/comparative-table
Los IDEs de Arduino
Arduino no es solo Hardware, sino también el software que nos facilita programar el microcontrolador. Esta división en el hardware también se ha visto reflejada en la división de software teniendo ahora dos IDEs oficiales de Arduino, el de arduino.cc y el de arduino.org.
Una consecuencia de esta división es que las placas de arduino.org pueden no funcionar con el IDE original de arduino.cc ni al contrario. Para resolver este problema, la solución más sencilla este tener instalados ambos IDEs. Pero si solo queremos usar un IDE o nos gusta uno más que otro, siempre se pueden hacer pequeñas modificaciones en el IDE para poder usar las placas de un arduino en el IDE del otro arduino.
Si abrimos en cada uno de los IDEs las placas soportadas, podemos ver las diferencias. El listado de placas soportadas por cada IDE difiere un poco:
Placas IDE arduino.cc
Placas IDE arduino.org
Lo más probable es que haya problemas con los Arduinos nuevos que vayan saliendo a partir de 2015, pero con los arduinos anteriores a la división de Arduino seguirán siendo soportados en ambos IDEs, puesto que son esencialmente las mismas placas. Lo mismo ocurre con los shields.
También es posible que cada uno de los IDEs de arduino.cc y arduino.org tengan versiones diferentes de las librerías que tienen incluidas, esto nos puede traer problemas al usar un sketch en un IDE o en otro y habrá que tenerlo en cuenta.
Puede que nos aparezcan avisos de placas no certificadas al usar un IDE diferente del fabricante de la placa como el que se añadió en: https://github.com/arduino/Arduino/commit/39d1dfc9995e75e858fa238c7c8881ee2d7679c6
Esto se debe a que arduino.cc y arduino.org tienen su propio identificador de USB (vendor ID) y lo detectan los IDEs. También puede pasar con falsificaciones o clones de placas arduino. El vendor ID para arduino.cc es 0x2341 y por ejemplo para el Arduno UNO el product ID es 0x0001. El vendor ID para arduino.org es 0x2A03 que pertenece a la empresa Dog Hunter AG.
Más información de la diferencia entre los IDEs: https://www.330ohms.com/blogs/blog/115110980-el-ide-de-arduino-cc-y-arduino-org-son-lo-mismo
IDE Arduino.cc
Es el IDE original de Arduino pero que desde la aparición de la versión 1.6.2 hay grandes mejoras que incluyen la gestión de librerías y gestión de placas muy mejoradas respecto a la versión anterior, así como los avisos de actualización de versiones de librerías y cores.
Todos los cambios en la versiones pueden verse en: https://www.arduino.cc/en/Main/ReleaseNotes
El IDE está disponible en: https://www.arduino.cc/en/Main/Software
Guia de inicio en: https://www.arduino.cc/en/Guide/HomePage
Código fuente del IDE: https://github.com/arduino/Arduino/
En verano de 2016 arduino.cc libero finalmente al público su IDE on-line o Arduino Web Editor dentro del portal Arduino Create: https://create.arduino.cc/. Es un IDE online similar al IDE de Arduino que te permite tener siempre la versión actualizada del propio IDE, librerías y cores de las MCUs, así como guardar online los sketches en la nube.
Más información de Arduino Create:
¿Qué es Arduino Create? https://blog.arduino.cc/2016/05/20/arduino-create-is-a-one-stop-shop-for-makers/
https://blog.arduino.cc/2015/05/05/sneak-peak-arduino-create/
https://blog.arduino.cc/2015/12/02/the-next-steps-of-the-arduino-create-betatesting/
Para usarlo es necesario usar un agente e instalarlo en el ordenador. Código fuente del agente: https://github.com/arduino/arduino-create-agent
El portal Arduino Create además de tener el IDE on-line dispone de:
Una guía de inicio: https://create.arduino.cc/getting-started
Arduino Project Hub: https://create.arduino.cc/projecthub donde es posible encontrar proyectos hechos con Arduino con buenas guías, código y lista de compontes entre otras cosas.
Arduino Cloud: https://cloud.arduino.cc/cloud un proyecto en fase beta para tener un portal en la nube de servicios para IoT.
IDE Arduino.org
Se trata de un fork del IDE de arduino.cc que a su vez deriva de Wiring http://wiring.org.co/. Este IDE no dispone de la gestión mejorada de librerías y placas, algo que se echa en falta.
Ambos IDEs son actualmente muy similares a simple vista, pero en el interior hay bastantes diferencias.
Descarga del IDE de arduino.org en http://www.arduino.org/software
Todos los cambios de las versiones se pueden ver en: http://www.arduino.org/previous-releases
Guía de inicio: http://www.arduino.org/learning/getting-started/first-steps-with-arduino-ide
Código fuente: https://github.com/arduino-org/Arduino
IMPORTANTE: la versión del IDE de arduino.org es actualmente la 1.7.11, puede llevar a error y pensar que es una versión superior al IDE de arduino.cc que va por la version 1.6.12, pero no es cierto, se trata de un IDE diferente, es más, el IDE de arduino.org está menos evolucionado que el IDE de arduino.cc. Ver Issue: https://github.com/arduino-org/Arduino/issues/2
IMPORTANTE: si ya tienes instalado el IDE de arduino.cc, el instalador del IDE de arduino.org trata de desinstalarlo como si fuera una versión anterior, cuando realmente es un IDE diferente. Por este motivo es mejor hacer una instalación manual del IDE de arduino.org mediante la descarga del fichero zip, en lugar de usar el instalador.
La pantalla de preferencias y la ruta donde se guardan estas preferencia en los dos IDEs es diferente y su configuración es importante si vamos a tener en nuestro ordenador conviviendo ambos IDEs y queremos que compartan librerías y sketches.
Para el IDE de arduino.cc, desde la pantalla de preferencias del IDE configuramos la ruta donde se guardan los sketches y librerías, de forma que al instalar una actualización mantenemos todos sketches y librerías o si instalamos varios IDEs van a compartir estos elementos.
Las preferencias se guardan en: C:\Users\nombre_usuario\AppData\Local\Arduino15, así como el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.
Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino
Para el IDE de arduino.org las preferencias son:
Las preferencias se guardan en: C:\Users\nombre_usuario\AppData\Roaming\Arduino15\preferences.txt, cuya ruta es diferente al IDE de arduino.cc y por lo tanto no comparten preferencias.
Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino, que lo comparte con el IDE de arduino.cc por lo que disponemos de los mismo sketches y librerías en ambos IDEs, pero podemos cambiar esta configuración para separar ambos IDEs.
Arduino Studio de Arduino.org: Es un nuevo entorno de desarrollo open source que se encuentra en version Alpha (de hecho ha desaparecido de la zona de descarga de arduino.org). Es un nuevo IDE totalmente diferente al IDE original y creado desde cero. Está escrito en Javascript y basado en Brackets: http://brackets.io/
Descarga en: http://www.arduino.org/software#studio (ahora no es posible su descarga)
Guía de inicio: http://labs.arduino.org/Arduino+Studio+for+Windows
Como usar Arduino Studio: http://labs.arduino.org/How+to+use+Arduino+Studio
De momento es una versión en prueba, pero habrá que seguir su evolución. Su filosofía es: “Just one editor for all the environments”
Más información en: http://labs.arduino.org/Arduino%20Studio
Código fuente: https://github.com/arduino-org/ArduinoStudio
Esta imagen define la estrategia de arduino.org en cuanto a los IDEs:
Distribuciones Linux Embebido
Además de los entornos de programación que nos ofrecen arduino.cc y arduino.org, tenemos otro apartado de software diferenciado que es el Sistema Operativo basado en Linux que corre dentro de los Arduinos con procesador MIPS Qualcomm Atheros como el Yun o el Tian.
arduino.cc distribuye para los Arduino Yun el openwrt-yun en su version 1.5.3.
Para descargarlo: https://www.arduino.cc/en/Main/Software
Instrucciones para instalarlo: https://www.arduino.cc/en/Tutorial/YunSysupgrade
La librería usada para comunicar el microcontrolador con linux se llama Bridge:
arduino.org usa Linino OS (http://www.linino.org/) que es una distribución Linux basada en OpenWRT e integrado con LininoIO. LininoOS es usado por Arduino Yun, Yun Mini, Tian e Industrial 101
Más información sobre Linino OS en http://wiki.linino.org/doku.php
LininoIO es un framework capaz de integrar las capacidades de un microcontrolador dentro de un entorno Linux. Es posible escribir una aplicación en Python, Node.js, etc… usando LininiOS para controlar completamente la MCU y los dispositivos conectados.
La librería usada para comunicar el microcontrolador con linux se llama Arduino Ciao. Simplifica la interacción entre el microcontrolador y LininoOS permitiendo su conexión la mayoría de protocolos y servicios de terceros.
Más información: http://www.arduino.org/learning/reference/ciao-library
Ciao se divide en dos partes:
Librería Ciao que se usa en la MCU: http://labs.arduino.org/Ciao%20MCU y código fuente: https://github.com/arduino-org/arduino-ciao-library
Ciao Core que se usa en LininiOS: http://labs.arduino.org/Ciao%20CPU y código fuente https://github.com/arduino-org/Ciao
Cómo funciona Ciao:
La librería Ciao aún está en desarrollo. El reference de la librería está en:
Guía de inicio con Ciao: http://labs.arduino.org/Ciao+setup
Linino.org también tiene sus placas que son similares a las de arduino.org: http://www.linino.org/linino-modules/
Placas Compatibles Arduino
No solo hay novedades en torno a la división de Arduino, en los últimos años han aparecido muchas placas de prototipado basadas en diferentes microcontroladores que bien por acuerdos con Arduino, por los propios fabricante de los microcontroladores o por la comunidad, estas placas tienen soporte del IDE de Arduino y es posible programarlas como el resto de Arduinos oficiales.
Placas no Arduino con soporte para el IDE de arduino.cc: https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls
Este es un listado de algunas de las placas que han aparecido y que tienen mayor popularidad entre la comunidad de Arduino:
ESP8266
Web oficial ESP8266: http://www.espressif.com/en/products/hardware/esp8266ex/overview
ESP8266 datasheet: https://www.espressif.com/sites/default/files/0a-esp8266ex_datasheet_en_1.pdf
Soporte para el IDE de Arduino: http://arduino.esp8266.com/stable/package_esp8266com_index.json
ESP32:
Web oficial: http://www.espressif.com/en/products/hardware/esp32/overview
Datasheet: http://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en_0.pdf
Soporte para el IDE Arduino en version beta: https://github.com/me-no-dev/ESP31B
Chipkit: http://chipkit.net/ placas basadas en el microcontrolador PIC32. Soporte IDE https://github.com/chipKIT32/chipKIT-core/raw/master/package_chipkit_index.json
Placas Adafruit con AVR: Flora, Metro, Trinket, Pro Trinket y Gemma y con SAMD Feather. Soporte IDE: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
Microcontroladores ATtiny http://www.atmel.com/products/microcontrollers/avr/tinyavr.aspx. Soporte IDE http://drazzy.com/package_drazzy.com_index.json
Linkit One: https://www.seeedstudio.com/LinkIt-ONE-p-2017.html. Soporte IDE http://download.labs.mediatek.com/package_mtk_linkit_index.json
Moteino: https://lowpowerlab.com/moteino/. Soporte IDE https://lowpowerlab.github.io/MoteinoCore/package_LowPowerLab_index.json
Windows 10 IoT Core: https://developer.microsoft.com/es-es/windows/iot. Soporte IDE ttps://github.com/ms-iot/iot-utilities/raw/master/IotCoreAppDeployment/ArduinoIde/package_iotcore_ide-1.6.6_index.json
Teensy: http://www.pjrc.com/teensy/. Soporte IDE con Teensyduino http://www.pjrc.com/teensy/td_download.html
Particle Photon: https://www.particle.io/products/hardware/photon-wifi-dev-kit.
Listado de placas similares a Arduino y shields: http://playground.arduino.cc/Main/SimilarBoards
Shields Compatibles con Arduino
Respecto a las shields, continuamente están saliendo interesantes shields para Arduino que amplían las capacidades de las placas. Merece la pena estar atento a los principales fabricantes de placas para ver las novedades de nuevas shields y HW para Arduino.
Esta entrada se publicó en Arduino, Arduino.cc, Arduino.org, ESP8266, IDE, Shields y está etiquetada con Arduino, Arduino Ciao, Arduino Create, Arduino.cc, Arduino.org, ESP8266, IDE, Linino, Novedades Arduino, Shields en 25 septiembre, 2016.
Arduino dispone de una amplia variedad de placas y shields para usar dependiendo de nuestras necesidades.
Un shield es una placa compatible que se puede colocar en la parte superior de los arduinos y permite extender las capacidades del arduino. De estas hablaremos en profundidad más adelante.
Primer Arduino:
Arduino Uno
Web: http://arduino.cc/en/Main/ArduinoBoardUno
Es la placa estándar y posiblemente la más conocida y documentada. Salió a la luz en septiembre de 2010 sustituyendo su predecesor Duemilanove con varias mejoras de hardware que consisten básicamente en el uso de un USB HID propio en lugar de utilizar un conversor FTDI para la conexión USB. Es 100% compatible con los modelos Duemilanove y Diecimila. Viene con un Atmega328 con 32Kbytes de ROM para el programa.
Este es el Arduino que vamos a usar en el curso.
Esquematico: http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf
Microcontrolador: http://www.atmel.com/devices/atmega328p.aspx
Planos del Arduino UNO: https://www.arduino.cc/en/Main/ArduinoBoardUno#documentation
Arduino Mega
Web: http://arduino.cc/en/Main/ArduinoBoardMega2560
Es con mucha diferencia el más potente y el que más pines i/o tiene, apto para trabajos ya algo más complejos aunque tengamos que sacrificar un poco el espacio, cuenta con el microcontrolador Atmega2560 con más memoria para el programa, más RAM y más pines que el resto de los modelos.
Esquematico: http://www.arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf
Microcontrolador: http://www.atmel.com/devices/atmega2560.aspx
Planos del Arduino MEGA: http://www.arduino.cc/en/Main/ArduinoBoardMega2560
Arduino Ethernet
Web: http://arduino.cc/en/Main/ArduinoBoardEthernet
Incorpora un puerto ethernet, está basado en el Arduino Uno y nos permite conectarnos a una red o a Internet mediante su puerto de red.
Arduino Due
Web: http://arduino.cc/en/Main/ArduinoBoardDue
Arduino con la mayor capacidad de procesamiento, basado en un microcontrolador de 32 bit y arquitectura ARM: Atmel SAM3X8E ARM Cortex-M3 CPU. Este arduino está alimentado a 3.3V y dado que gran parte de los shields, sensores, actuadores para Arduino y compatible son a 5V lo limita, pero cada vez se ven más elementos donde se puede elegir el voltaje entre 3.3 y 5V.
Importante: 12-bit ADC
Microcontrolador: http://www.atmel.com/devices/sam3x8e.aspx
Arduino Leonardo
Web: http://arduino.cc/en/Main/ArduinoBoardLeonardo
La diferencia de este arduino con el resto es que trae un único MCU ATmega32u4 que tiene integrado la comunicación USB, lo que elimina la necesidad de un segundo procesador. Esto tiene otras implicaciones en el compartimento del arduino al conectarlo al ordenador, lo que no lo hace apto para iniciarse con él.
Microcontrolador: http://www.atmel.com/devices/atmega32u4.aspx
Arduino Micro
Web: http://arduino.cc/en/Main/ArduinoBoardMicro
También basado en el ATmega32u4 pero mucho más compacto.
Arduino Mini
Web: http://arduino.cc/en/Main/ArduinoBoardMini
Versión miniaturizada de la placa Arduino UNO basado en el ATMega328. Mide tan sólo 30x18mm y permite ahorrar espacio en los proyectos que lo requieran. Las funcionalidades son las misma que Arduino UNO. Necesita un programador para conectarlo al ordenador: http://arduino.cc/en/Main/USBSerial
Arduino Lilypad
Web: http://arduino.cc/en/Main/ArduinoBoardLilyPad
Diseñado para dispositivos “wearables” y e-textiles. Para coser con hilo conductor e instalarlo sobre prendas.
Nuevos Arduinos incorporados recientemente
Arduino 101
Web: https://www.arduino.cc/en/Main/ArduinoBoard101 es el sucesor del Arduino UNO con procesador Intel Curie Quark de 32 bit diseñado para ofrecer el mínimo consumo de energía, 384 KB de memoria flash, 80 KB de SRAM, un sensor DSP integrado, bluetooth de baja energía, acelerómetro y giroscopio de 6 ejes.
Video de 101: https://blog.arduino.cc/2016/01/13/unboxing-and-setup-of-arduino-101/
Código Firmware: https://github.com/01org/corelibs-arduino101 que no hace falta instalarlo porque ya viene integrado en el IDE de arduino.cc y desde el gestor de librerías se instala en: C:\Users\<user>\AppData\Local\Arduino15\packages\Intel\hardware\arc32\1.0.5
Genuino MKR1000
Web: https://www.arduino.cc/en/Main/ArduinoMKR1000 version para IoT con procesador Atmel ARM Cortex M0+ de 32bits ATSAMW25 que es el mismo procesador que Genuino Zero pero con wifi integrado, chip de cifrado y antena integrada.
Arduino Leonardo ETH
Web: http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo-eth es un Arduino Leonardo con ethernet proporcionado por el controlador W5500. Se trata de la versión actualizada del Arduino Ethernet.
Documentación: http://labs.arduino.org/Arduino%20leonardo%20eth
Getting Started: http://labs.arduino.org/Getting+Started+with+Arduino+Leonardo+Eth
Otros arduinos oficiales
Arduino Yun (MCU + MP con Linux): http://arduino.cc/en/Main/ArduinoBoardYun
Arduino Zero con puerto de debug: http://arduino.cc/en/Main/ArduinoBoardZero
Arduino Explora: http://arduino.cc/en/Main/ArduinoBoardEsplora
Arduino Robot: http://arduino.cc/en/Main/Robot
Arduino Nano: http://arduino.cc/en/Main/ArduinoBoardNano
Arduino Fio: http://arduino.cc/en/Main/ArduinoBoardFio (Descatalogado)
Arduino Pro: http://arduino.cc/en/Main/ArduinoBoardPro
Arduino Pro Mini: https://www.arduino.cc/en/Main/ArduinoBoardProMini
Arduino Tian (mejora del Yun): http://www.arduino.org/products/boards/4-arduino-boards/arduino-tian
Arduino M0 y M0 Pro (similar al Zero): http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0 y http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0-pro
Arduino UNO Wifi: http://labs.arduino.org/Arduino+UNO+WiFi es un arduino UNO + ESP8266 (próximamente)
Arduino.cc products: https://www.arduino.cc/en/Main/Products
Genuino products: https://www.arduino.cc/en/Main/GenuinoProducts
Arduino.org products: http://www.arduino.org/products
Más información de las diferentes placas de arduino.cc y arduino.org ver: https://aprendiendoarduino.wordpress.com/2016/06/26/novedades-en-arduino-arduino-cc-y-arduino-org/
Como distinguir un arduino oficial de una copia: http://arduino.cc/en/Products/Counterfeit
Guía para comparar Arduino: https://learn.sparkfun.com/tutorials/arduino-comparison-guide
Plataformas open source para wearables: https://openwearabletech.com/open-source-wearable-platforms-review/
Esta entrada se publicó en Arduino, Arduino.cc, Arduino.org, Hardware, Hardware Libre y está etiquetada con Arduino, Arduino 101, Arduino Leonardo, Arduino Mega, Arduino UNO, Arduino.cc, Arduino.org, Genuino MKR1000, Hardware, Hardware Libre, Wearables en 26 junio, 2016.
A principios de 2015 se produjo una división dentro de Arduino y desde entonces han aparecido bastante cambios para los usuarios de Arduino, principalmente que ha aparecido una nueva marca llamada “Genuino” y una nueva web oficial de Arduino www.arduino.org. Pero no solo es que haya dos páginas web oficiales de Arduino, sino que ahora hay dos entornos de programación y han aparecido nuevos modelos de placas Arduino pero fabricadas por diferentes empresas.
En este momento hay dos páginas oficiales de Arduino: www.arduino.cc y www.arduino.org, la primera es la que nació originalmente y la segunda es la que se creó a raiz del la división entre el equipo creador de Arduino y la empresa que fabricaba el Hardware en Italia.
Cada una de estas webs tienen placas Arduino diferentes, IDEs diferentes y marcas diferentes con la aparición de Genuino en Europa. Esto puede causar cierta confusión a los usuarios de Arduino y vamos a aclararlo en este post.
Un poco de Historia
Arduino LLC fue la compañía creada por Massimo Banzi, David Cuartielles, David Mellis, Tom Igoe and Gianluca Martino en 2009 y es la propietaria de la marca Arduino. Las placas Arduino eran fabricadas por una spinoff llamada Smart Projects Srl creada por Gianluca Martino. En noviembre de 2014 cambiaron el nombre de la empresa que manufactura las placas Arduino de Smart Projects Srl a Arduino Srl y registraron el dominio arduino.org, esto fue el inicio de la división que se produjo poco después.
Hasta principios de 2015 la web oficial de Arduino era www.arduino.cc mantenida por los creadores de Arduino y todo su equipo. En febrero de 2015 se hizo público la ruptura entre los fundadores de Arduino y el fabricante de las placas de Arduino liderado por Gianluca Martino, comenzando este una nueva dirección del proyecto Arduino.
Más información en estos enlaces:
http://makezine.com/2015/03/19/massimo-banzi-fighting-for-arduino/
http://panamahitek.com/inicia-batalla-legal-por-el-control-de-la-marca-arduino/
En mayo de 2015 Massimo Banzi anunció la nueva marca de Arduino y el nuevo desarrollo de Arduino en la Maker Faire Bay Area 2015. Ver: https://blog.arduino.cc/2015/05/22/the-state-of-arduino-a-new-sister-brand-announced/
A partir de esta ruptura, durante 2015 se vieron muchos cambios en ambas páginas web, mejoras notables en el IDE oficial de Arduino de www.arduino.cc y la aparición de dos nuevos IDEs de Arduino desde www.arduino.org, uno como un fork del original y otro un nuevo desarrollo de arduino.org llamado Arduino Studio escrito de nuevo completamente en javascript y basado en Brackets, pero que aun está en versión alpha.
Podemos resumir que ahora mismo hay dos empresas: Arduino LLC con Massimo Banzi y los demás co-fundadores de Arduino y Arduino SRL con Gianluca Martino y Federico Musto, este último no perteneciente al equipo original e incorporado posteriormente.
Las marcas Arduino
Puesto que las placas Arduino son open source, cualquiera puede hacer una placa Arduino compatible o incluso una copia exacta, sin embargo el nombre, la marca Arduino y el logotipo están protegidos: https://www.arduino.cc/en/Trademark/HomePage.
Ahora mismo en europa la marca y el logo arduino es usado por arduino.org y en USA es usado por arduino.cc. Por este motivo en europa arduino.cc ha sacado una nueva marca llamada GENUINO y un nuevo logo.
Genuino es una marca de arduino.cc creada por los fundadores de Arduino y usada para las placas y productos vendidos fuera de Estados Unidos.
Más información en: https://www.arduino.cc/en/Main/GenuinoBrand
Por lo tanto cuando vemos una placa genuino, se trata de una placa Arduino. Se puede decir que Arduino y Genuino son lo mismo pero por temas legales debe tener un nombre/marca diferente.
Las dos webs a fondo
www.arduino.cc es el sitio original de Arduino de los creadores de Arduino y www.arduino.org es un “fork” creado por la empresa que fabricaba las placas Arduino. Ambas páginas tratan sobre Arduino pero fabrican placas diferentes, nos ofrecen IDEs diferentes y contiene información de cada uno de sus productos.
Arduino.cc
Como hemos dicho es la web original de Arduino y la que conocen bien todos los que han trabajado con Arduino. Los elementos más importantes de esta web son:
Download: https://www.arduino.cc/en/Main/Software donde podemos descargar la última versión del software de desarrollo de Arduino para cualquier SO, así como las versiones anteriores, código fuente, preview de las próximas versiones y otro software relacionado.
Tienda: https://store.arduino.cc/index.php?main_page=index donde podemos comprar todos los productos de la marca Genuino fuera de USA.
Productos: https://www.arduino.cc/en/Main/GenuinoProducts, aquí hay dos claras divisiones:
Para los productos Arduino (USA only) https://www.arduino.cc/en/Main/Products, están todos los productos Arduino desde que nació, incluidas las placas retiradas y que siempre lo podemos consultar como referecia a placas Arduino creadas desde la creación de Arduino hasta su división.
Para los productos Genuino (outside USA) https://www.arduino.cc/en/Main/GenuinoProducts, son las placas que actualmente podemos comprar fuera de USA con la marca Genuino y creadas por el equipo original de Arduino.
Reference: https://www.arduino.cc/en/Reference/HomePage con la documentación para programar Arduino, que es común para todo tipo de Arduinos.
Tutoriales: https://www.arduino.cc/en/Tutorial/HomePage contiene amplia información común de Arduino pero personalizada para el IDE de arduino.cc y sus productos.
Playground: http://playground.arduino.cc/ es el wiki de los usuarios de arduino.cc que ha ido creciendo desde el inico de Arduino y es una magnifca base de datos de conocimiento de Arduino.
Foro: http://forum.arduino.cc/ es el foro de Arduino con documentación desde el inico de Arduino y una magnifica herramienta de consulta y donde preguntar las dudas de Arduino.
Blog: https://blog.arduino.cc/ blog de arduino.cc donde poder estar al día de las novedades del grupo que creó Arduino.
La web de arduino.cc ha evolucionado mucho en los meses posteriores a la división de Arduino. Ha cambiado la imagen y han actualizado y añadido los contenidos.
Se pueden ver las novedades en la entrada del blog de arduino.cc: https://blog.arduino.cc/2015/09/11/keeping-the-arduino-website-in-motion/
Arduino.org
Web oficial de la marca Arduino fuera de USA. Los elementos más importantes de esta web son:
Productos: http://www.arduino.org/products todas las placas y shields de arduino.org. Fuera de USA son las únicas oficiales que podemos comprar con la marca Arduino. Dispone de un selector de placas: http://www.arduino.org/products/boards
Distribuidores: http://www.arduino.org/distributors
Tienda: http://world.arduino.org/en/
Software: http://www.arduino.org/software para descargar los IDEs de arduino.org que no son los mismos que arduino.cc
Labs: http://labs.arduino.org puedes encontrar tutoriales, ejemplos, recursos, etc… No tiene nada que ver con el Playground de Arduino, tiene información y ejemplos limitados a los productos de arduino.org sus librerías.
Reference: http://labs.arduino.org/Arduino+Reference similar al reference de arduino.org, la programación de Arduino sigue siendo la misma.
Blog: http://www.arduino.org/blog es un nuevo blog de arduino.org
Placas: http://www.arduino.org/products/boards documentación detallada de las placas y los shields de arduino.org
Foro: http://www.arduino.org/forums, solo tiene lo relacionado con arduino.org y para cualquier consulta que no sea específica de arduino.org, mejor usar el foro arduino.cc
Makers: http://www.arduino.org/makers espacio dedicado a los makers donde se muestran proyectos con Arduino.Puedes mandar tu proyecto y ganar un Arduino Yun.
El Hardware Arduino
La división de Arduino en dos partes ha provocado que haya dos tipos de placas con marcas diferentes como hemos visto. En la página arduino.org se encuentra disponibles productos que en el arduino.cc no están y viceversa.
arduino.cc tiene un acuerdos con adafruit y seeedstudio para manufacturar sus placas y también tiene nuevos acuerdos para usar MCUs de Intel además de los de Atmel, como el arduino 101 con chip intel curie.
Anuncios de los acuerdos de arduino.cc
https://blog.arduino.cc/2015/05/16/arduino-manufacturing-partnership-with-adafruit/
https://blog.arduino.cc/2015/06/20/arduino-and-seeedstudio-announce-partnership/
Las placas oficiales para Europa de genuino son:
Genuino UNO: https://www.arduino.cc/en/Main/ArduinoBoardUno el Arduino por excelencia con el microcontrolador de 8 bits AVR Atmega328P
Genuino 101: https://www.arduino.cc/en/Main/ArduinoBoard101 la siguiente generación del Arduino UNO con procesador Intel de 32 bits. Exclusiva de arduino.cc
Genuino MICRO: https://www.arduino.cc/en/Main/ArduinoBoardMicro version reducida con MCU Atmel AVR de 8 bits ATmega32U4
Genuino MEGA: https://www.arduino.cc/en/Main/ArduinoBoardMega2560 la versión más potente con MCU Atmel AVR de 8 bits ATmega2560 y mayor cantidad de puertos I/O y comunicación.
Genuino ZERO: https://www.arduino.cc/en/Main/ArduinoBoardZero version con procesador Atmel ARM Cortex M0+ de 32bits SAMD21. Esta placa solo soporta hasta 3.3V en lugar de los 5V de las anteriores. Dispone de un Atmel Embedded Debugger (EDGB).
Genuino MKR1000: https://www.arduino.cc/en/Main/ArduinoMKR1000 version para IoT con procesador Atmel ARM Cortex M0+ de 32bits ATSAMW25 que es el mismo procesador que Genuino Zero pero con wifi integrado, chip de cifrado y antena integrada. También dispone de entrada de batería y cargador para baterías LiPo de una celda. Exclusiva de arduino.cc
Tabla comparativa: https://www.arduino.cc/en/Products/Compare
Documentación del resto de placas Arduino en: https://www.arduino.cc/en/Main/Products
Para el mercado europeo no ofrece actualmente shields, pero pueden verse todas las placas y shields de Arduino en: https://www.arduino.cc/en/Main/Products
En cada uno de los enlaces tenemos amplia información de cada placa y todo tipo de documentación sobre ellas, que es imprescindible leer antes de comenzar a usarlas.
arduino.org es fabricante de sus placas en Italia y se habló de conversaciones para fabricar con Panasonic y Bosch para expandir por el mundo la fabricación de placas Arduino y reducir su coste según http://readwrite.com/2015/03/18/arduino-open-source-schism/
Las placas de arduino.org disponibles son:
Resumen: http://www.arduino.org/products
Arduino UNO: http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno el arduino por excelencia igual al Genuino UNO. Ahora en versión TH y SMD.
Arduino Mega 2560: http://www.arduino.org/products/boards/4-arduino-boards/arduino-mega-2560 con MCU Atmel AVR de 8 bits ATmega2560. Igual que el Genuino Mega.
Arduino Leonardo: http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo con MCU Atmel AVR de 8 bits ATmega32U4. Esta MCU tiene la comunicación USB integrada sin necesidad de una MCU adicional para el USB.
Arduino Ethernet: http://www.arduino.org/products/boards/4-arduino-boards/arduino-ethernet es un Arduino UNO con ethernet proporcionado por el controlador W5100, el mismo que el Shield Ethernet. Para programar este Arduino es necesario un cable FTDI al no tener un USB-to-serial driver chip.
Arduino Leonardo ETH: http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo-eth es un Arduino Leonardo con ethernet proporcionado por el controlador W5500. Se trata de la versión actualizada del Arduino Ethernet.
Arduino Due: http://www.arduino.org/products/boards/4-arduino-boards/arduino-due con MCU Atmel ARM de 32 bits SAM3X8E ARM Cortex-M3. Fue el primer Arduino de 32-bits ARM core. Una versión más potente del Mega.
Arduino Micro: http://www.arduino.org/products/boards/4-arduino-boards/arduino-micro con la misma MCU que el Leonardo. Similar al Genuino Micro.
Arduino M0: http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0 con procesador Atmel ARM Cortex M0+ de 32bits SAMD21. Similar al Genuino Zero pero sin EDGB.
Arduino M0 Pro: http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0-pro similar al Genuino Zero.
Arduino Yun: http://www.arduino.org/products/boards/4-arduino-boards/arduino-yun con MCU Atmel AVR de 8 bits ATmega32U4 y procesador MIPS Qualcomm Atheros AR9331 a 400 MHz con wifi integrado y SO linux Linino basado en OpenWRT y ethernet. Su principal característica es la capacidad de comunicar la MCU con el SO linux mediante un puerto serie interno. Esta placa no es 100% hardware libre, al no hacerse público la parte donde se encuentra el procesador Atheros AR9331. También hay disponible una version Yun mini para protoboards: http://www.arduino.org/products/boards/4-arduino-boards/arduino-yun-mini
Arduino Tian: http://www.arduino.org/products/boards/4-arduino-boards/arduino-tian con MCU Atmel ARM Cortex M0+ de 32bits SAMD21 y procesador MIPS Qualcomm Atheros AR9342 a 560 MHz con wifi integrado dual band y SO linux Linino basado en OpenWRT, ethernet a giga y bluetooth. El Arduino con más potencia.Exclusiva de arduino.org
Tabla comparativa: http://www.arduino.org/comparative-table
Más documentación de las placas: http://labs.arduino.org/Documentation
Las shields oficiales de arduino.org están en http://www.arduino.org/products/shields donde también han aparecido novedades como la segunda versión del Ethernet Shield y del GSM Shield.
Los IDEs de Arduino
Por supuesto Arduino no es solo Hardware, sino también el software que nos facilita programar el microcontrolador. Esta división en el hardware también se ha visto reflejada en la división de software apareciendo nuevos IDEs de arduino.cc y arduino.org.
Una consecuencia de esta división es que las placas de arduino.org pueden no funcionar con el IDE original de arduino.cc y al contrario. Pero si solo queremos usar un IDE o nos gusta uno más que otro, siempre se pueden hacer pequeñas modificaciones en el IDE para poder usar las placas de un arduino en el IDE del otro arduino.
El listado de placas soportadas por cada IDE difiere un poco:
Placas IDE arduino.cc
Placas IDE arduino.org
Lo más probable es que haya problemas con los Arduinos nuevos que vayan saliendo, pero con los arduinos anteriores a la división de Arduino seguirán siendo soportados en ambos IDEs.
También es posible que cada uno de los IDEs de arduino.cc y arduino.org tengan versiones diferentes de las librerías que tienen incluidas, esto nos puede traer problemas al usar un sketch en un IDE o en otro y habrá que tenerlo en cuenta.
Puede que nos aparezcan avisos de placas no certificadas al usar un IDE diferente del fabricante de la placa como el que se añadió en: https://github.com/arduino/Arduino/commit/39d1dfc9995e75e858fa238c7c8881ee2d7679c6
Esto se debe a que arduino.cc y arduino.org tienen su propio identificador de USB (vendor ID) y lo detectan los IDEs. También puede pasar con falsificaciones o clones de placas arduino. El vendor ID para arduino.cc es 0x2341 y por ejemplo para el Arduno UNO el product ID es 0x0001. El vendor ID para arduino.org es 0x2A03 que pertenece a la empresa Dog Hunter AG.
IDE Arduino.cc: Es el IDE original de Arduino pero que desde la aparición de la versión 1.6.2 hay grandes mejoras que incluyen la gestión de librerías y gestión de placas muy mejoradas respecto a la versión anterior y avisos de actualización de versiones de librerías y cores.
Todos los cambios en la versiones pueden verse en: https://www.arduino.cc/en/Main/ReleaseNotes
El IDE está disponible en: https://www.arduino.cc/en/Main/Software
Guia de inicio en: https://www.arduino.cc/en/Guide/HomePage
Código fuente: https://github.com/arduino/Arduino/
Arduino Create de Arduino.cc: Es un IDE online que actualmente está accesible de forma privada en modo beta testing desde https://create-staging.arduino.cc/.
Un IDE online te permite tener siempre la versión actualizada del propio IDE, librerías y cores de las MCUs, así como guardar online los sketches en la nube.
Más información de Arduino Create:
https://blog.arduino.cc/2015/05/05/sneak-peak-arduino-create/
https://blog.arduino.cc/2015/12/02/the-next-steps-of-the-arduino-create-betatesting/
Para usarlo es necesario usar un agente e instalarlo en el ordenador. Código fuente del agente: https://github.com/arduino/arduino-create-agent
IDE Arduino.org: Se trata de un fork del IDE de arduino.cc que a su vez deriva de Wiring http://wiring.org.co/. Este IDE no dispone de la gestión mejorada de librerías y placas.
Ambos IDEs son actualmente muy similares a simple vista, pero en el interior hay varias diferencias.
Todos los cambio de las versiones se pueden ver en: http://labs.arduino.org/Arduino+IDE+Previous+Releases
Está disponible para su descarga en http://www.arduino.org/software
Guía de inicio: http://labs.arduino.org/First+steps+with+Arduino+IDE+1.7.x+for+Windows
Código fuente: https://github.com/arduino-org/Arduino
Más información en: http://labs.arduino.org/Arduino%20IDE
IMPORTANTE: la versión del IDE de arduino.org es actualmente la 1.7.10, puede llevar a error y pensar que es una versión superior al IDE de arduino.cc que va por la version 1.6.9, pero no es cierto, se trata de un IDE difrente, es más, el IDE de arduino.org está menos evolucionado que el IDE de arduino.cc.
Ver Issue: https://github.com/arduino-org/Arduino/issues/2
IMPORTANTE: si ya tienes instalado el IDE de arduino.cc, el instalador del IDE de arduino.org trata de desinstalarlo como si fuera una versión anterior, cuando realmente es un IDE diferente. Por este motivo es mejor hacer una instalación manual del IDE de arduino.org en lugar de usar el instalador.
Las preferencias y la ruta donde se guardan los sketches y librerías en los dos IDEs difiere y su configuración es importante si vamos a tener en nuestro ordenador conviviendo ambos IDEs y queremos que compartan librerías y sketches.
Para el IDE de arduino.cc, desde la pantalla de preferencias del IDE configuramos la ruta donde se guardan los sketches y librerías, de forma que al instalar una actualización mantenemos todos los datos o si instalamos varios IDEs van a compartir estos datos.
Las preferencias se guardan en: C:\Users\nombre_usuario\AppData\Local\Arduino15, así como el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.
Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino
Para el IDE de arduino.org las preferencias son:
Las preferencias se guardan en: C:\Users\nombre_usuario\AppData\Roaming\Arduino15\preferences.txt, cuya ruta es diferente al IDE de arduino.cc y por lo tanto no comparten preferencias.
Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino, que lo comparte con el IDE de arduino.cc por lo que disponemos de los mismo sketches y librerías en ambos IDEs, pero podemos cambiar esta configuración para separar ambos IDEs.
Arduino Studio de Arduino.org: Es un nuevo entorno de desarrollo open source, se encuentra en version Alpha. Es un nuevo IDE totalmente diferente al IDE original y creado desde cero. Está escrito en Javascript y basado en Brackets: http://brackets.io/
Descarga en: http://www.arduino.org/software#studio
Guía de inicio: http://labs.arduino.org/Arduino+Studio+for+Windows
Como usar Arduino Studio: http://labs.arduino.org/How+to+use+Arduino+Studio
De momento es una versión en prueba, pero habrá que seguir su evolución. Su filosofía es: “Just one editor for all the environments”
Más información en: http://labs.arduino.org/Arduino%20Studio
Código fuente: https://github.com/arduino-org/ArduinoStudio
Esta imagen define la estrategia de arduino.org en cuanto a los IDEs:
Además de los entornos de programación que nos ofrecen arduino.cc y arduino.org, tenemos otro apartado de software difreneciado que es el Sistema Operativo basado en Linux que corre dentro de los Arduinos con procesador MIPS Qualcomm Atheros como el Yun o el Tian.
arduino.cc distribuye para los Arduino Yun el openwrt-yun en su version 1.5.3.
Para descargarlo: https://www.arduino.cc/en/Main/Software
Instrucciones para instalarlo: https://www.arduino.cc/en/Tutorial/YunSysupgrade
La librería usada para comunicar el microcontrolador con linux se llama Bridge:
arduino.org usa LininOS que es una distribución Linux basada en OpenWRT e integrado con LininoIO. LininoOS es usado por Arduino Yun, Yun Mini, Tian e Industrial 101
LininoIO es un framework capaz de integrar las capacidades de un microcontrolador dentro de un entorno Linux. Es posible escribir una aplicación en Python, Node.js, etc… usando LininiOS para controlar completamente la MCU y los dispositivos conectados.
La librería usada para comunicar el microcontrolador con linux se llama Arduino Ciao. Simplifica la interacción entre el microcontrolador y LininoOS permitiendo su conexión la mayoría de protocolos y servicios de terceros.
Más información: http://labs.arduino.org/Ciao
Ciao se divide en dos partes:
Librería Ciao que se usa en la MCU: http://labs.arduino.org/Ciao%20MCU y código fuente: https://github.com/arduino-org/arduino-ciao-library
Ciao Core que se usa en LininiOS: http://labs.arduino.org/Ciao%20CPU y código fuente https://github.com/arduino-org/Ciao
Cómo funciona Ciao:
La librería Ciao aún está en desarrollo. El reference de la librería está en:
Guía de inicio con Ciao: http://labs.arduino.org/Ciao+setup
Más información sobre linino: http://www.linino.org/
Placa de linino: http://www.linino.org/product/linino-one/
Esta entrada se publicó en Arduino, Arduino.cc, Arduino.org, Genuino, IDE y está etiquetada con Arduino, Arduino.cc, Arduino.org, Genuino, Hardware, IDE, Shields en 26 junio, 2016.
En este capítulo vamos a instalar la última versión del IDE de Arduino, conocer el entorno de programación y hacer las principales configuraciones en el entorno para poder trabajar de forma más eficiente.
Descargar la última versión del IDE de Arduino desde: http://arduino.cc/en/Main/Software
Elegir la opción de Windows Installer, aunque también es posible descargar la versión comprimida en zip, que es una versión portable o para aquellos que no tengan privilegios suficientes para instalar aplicaciones o simplemente se quiera hacer una instalación manual.
Para actualizar una versión anterior del IDE de Arduino, el procedimiento es el mismo que el de una instalación inicial, puesto que el instalador detecta una versión anterior y la desinstala manteniendo todas nuestras configuraciones, librerías y sketches anteriores.
En caso que queramos mantener varias versiones del IDE en el mismo ordenador, simplemente hacemos la instalación manual en directorios diferentes y las configuraciones, librerías y sketches son compartidas por las diferentes versiones del IDE instaladas.
Ejecutar el instalador descargado. Si existe una versión anterior el instalador nos avisa y nos desinstala. En el caso que hayamos hecho modificaciones en el directorio de instalación las perderemos.
Ya en la instalación aceptamos el acuerdo de licencia.
Marcar todas las opciones y elegir directorio de instalación, generalmente C:\Program Files (x86)\Arduino\:
Permitir instalar los drivers si lo solicita:
Y ya está instalado:
En este momento ya tenemos instalado el IDE en nuestro ordenador. Con las nuevas versiones del IDE de Arduino no es necesario instalar los drivers en Windows al venir integrados en el IDE y tienen las firmas correspondientes.
Ejecutar la aplicación:
Y este es el aspecto del IDE:
Las novedades de la nueva versión 1.6 del IDE:
Soporte multiplataforma de arduino
Detección automática de la placa conectada
Muestra memoria Flash y SRAM ocupada por un sketch o proyecto
Autoguardado al compilar y cargar sketch
Carga de sketch vía red (wifi o ethernet) para Arduino Yun.
El IDE de Arduino es multiplataforma y en caso de instalar el IDE Arduino en otros sistemas operativos estas son las instrucciones:
Mac OSX: http://arduino.cc/en/Guide/MacOSX
Linux: https://www.arduino.cc/en/Guide/Linux y http://playground.arduino.cc/Learning/Linux
Recientemente se ha liberado una versión para dispositivos HW basados en ARM de forma experimental: http://hackaday.com/2016/04/12/arduino-comes-to-the-raspberry-pi-linux-arm-devices/
NOTA: para usuarios de linux/debian, el IDE Arduino está en los repositorios oficiales, pero instalará una versión antigua del IDE. Por lo tanto aunque funcione “apt-get install arduino “, es recomendable hacer la instalación según https://www.arduino.cc/en/Guide/Linux. Para ver qué versión se instalará desde el repositorio oficial usar el comando “apt-cache showpkg arduino”
Conozcamos este nuevo entorno de trabajo:
IMPORTANTE: Para conocer el entorno de programación a fondo ver http://arduino.cc/en/Guide/Environment
Es posible ver cada uno de los menús y opciones que tiene, los más importantes ahora son:
Botones de Verificar y Subir
Botón Monitor Serie
Consola de Error
Menú herramientas Placa y Puerto
Menú de pestañas
Puerto y placa seleccionada
Menú preferencias
Proyecto/Sketch
Resaltado de palabras clave
Monitor serie
El monitor serie muestra los datos enviados por el Arduino a través del puerto serie también nos permite mandar datos al Arduino mediante el puerto serie.
Hay disponibles alternativas al monitor serie que en algunas circunstancias podemos necesitar puesto que el incluido en el IDE de Arduino es bastante sencillo, pero generalmente suficiente.
Una buena alternativa muy completa es el btaru terminal: https://sites.google.com/site/terminalbpp/
Arduino Serial Plotter. Desde la versión 1.6.6 del IDE de Arduino disponemos de la herramienta Arduino Serial Plotter que nos permite hacer gráficas de los datos mandados por puerto serie.
Cargar Programa en Arduino
El IDE de Arduino contiene un editor de texto para escribir nuestro sketch, una consola de error y un área con los menús y los botones que realizan las funciones más comunes como son abrir sketch, guardar sketch, compilar y cargar programa.
Cuando cargamos un programa en Arduino, estamos usando el bootloader de Arduino, que es un pequeño programa cargado en el microcontrolador que permite subir el código sin usar hardware adicional. El bootloader está activo unos segundos cuando se resetea la placa, después comienza el programa que tenga cargado el Arduino en su memoria Flash. El led integrado en la placa (pin 13) parpadea cuando el bootloader se ejecuta.
Configuración inicial del IDE
Después de la instalación, lo primero es configurar el IDE para facilitar la edición de nuestros programas, que nos muestre toda la información de compilación y subida de programas a Arduino y que nos muestre por pantalla todos los warnings del compilador. Cuanta más información tengamos, más fácil será localizar un problema.
Para ello, entrar en el menú Archivo → preferencias y activar:
Números de Línea
Mostrar salida detallada en la compilación y al subir un sketch
Configurar la ruta de nuestro workspace
Advertencia del compilador: Todos
Asociar extensión .ino a nuestro IDE
Habilitar plegado de código
Verificar el código después de subir
Desde esta pantalla configuramos donde se guardan las preferencias, sketches y librerías, de forma que al instalar una actualización mantenemos todos los datos o si instalamos varios IDEs van a compartir estos datos.
Las preferencias se guardan en el directorio: C:\Users\nombre_usuario\AppData\Local\Arduino15\, así como el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.
Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino
Gestor de Tarjetas
El gestor de tarjetas disponible desde el menú herramientas → Placa → Gestor de tarjetas, nos muestra el soporte a qué tipo de placas tenemos y podemos instalar otro tipo de placas. Estas placas se refieren a la familia de tarjetas no a los modelos de Arduino soportados, eso se debe configurar desde otro fichero.
Por defecto tenemos instalado el soporte a las placas Arduino AVR que son la mayoría, pero nos permite instalar el soporte para los Arduino con MCU ARM de 32 bits como el Arduino MKR1000 o las Intel como el Arduino 101.
En este enlace explica como instalar nuevos cores: https://www.arduino.cc/en/Guide/Cores
Cuando tengamos algún problema, la primera opción es recurrir a la guía de Troubleshooting: http://arduino.cc/en/Guide/Troubleshooting
Instalación y configuración IDE arduino.org
Como ya se ha comentado anteriormente y se puede leer más información en https://aprendiendoarduino.wordpress.com/2016/03/19/arduino-cc-y-arduino-org-los-dos-arduinos/, Arduino se dividió a principios de 2015 en dos compañías y el resultado además de dos páginas web: www.arduino.cc y www.arduino.org, tenemos dos IDEs.
Hemos visto el IDE original de arduino, pero el IDE de arduino.org es un fork del IDE original de arduino.cc que a su vez deriva de Wiring: http://wiring.org.co/. Este IDE de arduino.org no dispone de la gestión mejorada de librerías, ni gestor placas.
Todos los cambios de las versiones se pueden ver en: http://labs.arduino.org/Arduino+IDE+Previous+Releases
Guía de inicio: http://labs.arduino.org/First+steps+with+Arduino+IDE+1.7.x+for+Windows
Código fuente: https://github.com/arduino-org/Arduino
Descargar la última versión del IDE de Arduino.org de http://www.arduino.org/software disponemos de una version con instalador y otra con instalación manual desde un zip.
IMPORTANTE: la versión del IDE de arduino.org es la 1.7.10, puede llevar a error y pensar que es una versión superior al IDE de arduino.cc que va por la version 1.6.9, pero no es cierto, se trata de un IDE difrente, es más, el IDE de arduino.org está menos evolucionado que el IDE de arduino.cc. Ver Issue: https://github.com/arduino-org/Arduino/issues/2
Como ya tenemos instalado el IDE de arduino.cc el instalador del IDE de arduino.org trata de desinstalarlo como si fuera una versión anterior, cuando realmente es un IDE diferente. Por este motivo es mejor hacer una instalación manual del IDE de arduino.org.
Para proceder a la instalación manual, descargar la el fichero zip (for non-administrator install) y descomprimir el contenido por ejemplo en la ruta C:\Program Files (x86)\Arduino.org
Ejecutar arduino.exe y tenemos el IDE de arduino.org que su funcionamiento es similar al de arduino.cc pero carece los gestores de librerías y de tarjetas, también vemos que la tarjetas soportadas son algo difrentes al de arduino.cc.
La imagen al ejecutar el IDE es algo diferente pareciendose a la versión anterior del IDE de arduino.cc
Ambos IDEs son actualmente muy similares a simple vista, pero en el interior hay varias diferencias.
La pantalla de preferencias es diferente:
Desde esta pantalla configuramos donde se guardan las preferencias, sketches y librerías.
Las preferencias se guardan en: C:\Users\nombre_usuario\AppData\Roaming\Arduino15\preferences.txt, cuya ruta es diferente al IDE de arduino.cc y por lo tanto no comparten preferencias.
Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino, que lo comparte con el IDE de arduino.cc por lo que disponemos de los mismo sketches y librerías en ambos IDEs, pero podemos cambiar esta configuración para separar ambos IDEs.
Una consecuencia de esta división de los IDEs es que las placas de arduino.org pueden no funcionar en el IDE original de arduino.cc ni al reves. Pero si solo queremos usar un IDE o nos gusta uno más que otro, siempre se pueden hacer pequeñas configuraciones para poder usar las placas de un arduino en el IDE del otro arduino.
El listado de placas soportadas por cada IDE difiere un poco:
Placas IDE arduino.cc
Placas IDE arduino.org
Lo más probable es que haya problemas con los Arduinos nuevos que vayan saliendo, pero los arduinos antiguos tendrán soporte en ambos IDEs.
Es posible que cada uno de los IDEs de arduino.cc y arduino.org tengan versiones diferentes de las librerías incluidas, esto nos puede traer problemas al usar un sketch en un IDE o en el otro IDE.
También es posible que nos aparezcan avisos de placas no certificadas al usar un IDE diferente del fabricante de la placa como el que se añadió en: https://github.com/arduino/Arduino/commit/39d1dfc9995e75e858fa238c7c8881ee2d7679c6
Esto se debe a que arduino.cc y arduino.org tienen su propio identificador de USB (vendor ID) y lo detectan los IDEs. Esto también puede pasar con falsificaciones o clones de placas arduino.
El vendor ID para arduino.cc es 0x2341 y por ejemplo para el Arduno UNO el product ID es 0x0001. El vendor ID para arduino.org es 0x2A03 que pertenece a Dog Hunter AG.
Esta entrada se publicó en Arduino, Arduino.cc, Arduino.org, IDE y está etiquetada con Arduino, Arduino.cc, Arduino.org, Configuración IDE, Gestor Tarjetas, IDE, instalación, Monitor Serie, Preferencias Arduino, Serial Plotter en 26 junio, 2016.
Descargar la última versión del IDE de Arduino desde: http://arduino.cc/en/Main/Software
Elegir la opción de Windows Installer, aunque también es posible descargar la versión comprimida en zip y se puede decir que es una versión portable o para aquellos que no tengan privilegios suficientes para instalar aplicaciones o simplemente se quiera hacer una instalación manual.
Para actualizar una versión anterior del IDE de Arduino, el procedimiento es el mismo que el de una instalación inicial, puesto que el instalador detecta una versión anterior y la desinstala manteniendo todas nuestras configuraciones, librerías y sketches anteriores.
En caso que queramos mantener varias versiones del IDE en el mismo ordenador, simplemente hacemos la instalación manual en directorios diferentes y las configuraciones, librerías y sketches son compartidas por las diferentes versiones del IDE instaladas.
Ejecutar el instalador descargado. Si existe una versión anterior el instalador nos avisa y nos desinstala. En el caso que hayamos hecho modificaciones en el directorio de instalación las perderemos.
Durante la instalación aceptamos el acuerdo de licencia.
Marcar todas las opciones y elegir directorio de instalación, generalmente C:\Program Files (x86)\Arduino\:
Permitir instalar los drivers (si lo solicita):
Y ya está instalado:
En este momento ya tenemos instalado el IDE en nuestro ordenador. Con las nuevas versiones del IDE de Arduino no es necesario instalar los drivers en Windows al venir integrados en el IDE y estos tienen las firmas correspondientes.
Ejecutar la aplicación:
Y este es el aspecto del IDE:
El IDE de Arduino es multiplataforma y en caso de instalar el IDE Arduino en otros sistemas operativos estas son las instrucciones:
Mac OSX: http://arduino.cc/en/Guide/MacOSX
Linux: https://www.arduino.cc/en/Guide/Linux y http://playground.arduino.cc/Learning/Linux
Conozcamos este nuevo entorno de trabajo:
Para conocer el entorno de programación a fondo ver: http://arduino.cc/en/Guide/Environment
Revisar cada uno de los menús y opciones que tiene, los más importantes ahora son.
Botones de Verificar y Subir
Botón Monitor Serie
Consola de Error
Menú herramientas Placa y Puerto
Menú de pestañas
Puerto y placa seleccionada
Menú preferencias
Proyecto/Sketch
Resaltado de palabras clave
Monitor serie
El monitor serie muestra los datos enviados por el Arduino a través del puerto serie también nos permite mandar datos al Arduino mediante el puerto serie.
Hay disponibles alternativas al monitor serie que en algunas circunstancias podemos necesitar puesto que el incluido en el IDE de Arduino es bastante sencillo.
Una buena alternativa muy completa es el bray’s terminal: https://sites.google.com/site/terminalbpp/
Otras alternativas al monitor serie: https://www.baldengineer.com/alternatives-to-arduinos-serial-monitor.html
Editor de Texto
El IDE de Arduino contiene un editor de texto para escribir nuestro sketch, una consola de error y un área con los menús y los botones que realizan las funciones más comunes.
El IDE también nos permite cargar en Arduino el programa ya compilado. Cuando cargamos un programa en Arduino, estamos usando el bootloader de Arduino, que es un pequeño programa cargado en el microcontrolador que permite subir el código sin usar hardware adicional. El bootloader está activo unos segundos cuando se resetea la placa, después comienza el programa que tenga cargado el Arduino en su memoria Flash. El led integrado en la placa (pin 13 en muchas placas) parpadea cuando el bootloader se ejecuta.
Las novedades de la nueva versión 1.6 del IDE:
Soporte multiplataforma de arduino
Detección automática de la placa conectada
Muestra memoria Flash y SRAM ocupada por un sketch o proyecto
Autoguardado al compilar y cargar sketch
Carga de sketch vía red (wifi o ethernet) para Arduino Yun.
Antes de empezar, lo primero es configurar el IDE para facilitar la edición de nuestros programas, que nos muestre toda la información de compilación y subida de programas a Arduino y que nos muestre por pantalla todos los warnings del compilador. Cuanta más información tengamos, más fácil será localizar un problema.
Para ello entrar en el menú de preferencias y activar:
Números de Línea
Mostrar salida detallada en la compilación y al subir un sketch
Configurar la ruta de nuestro workspace
Advertencia del compilador: Todos
Asociar extensión .ino a nuestro IDE
Habilitar plegado de código
Verificar el código después de subir
Desde esta pantalla configuramos donde se guardan las preferencias, sketches y librerías, de forma que al instalar una actualización mantenemos todos los datos o si instalamos varios IDEs van a compartir estos datos.
Las preferencias se guardan en el directorio: C:\Users\nombre_usuario\AppData\Local\Arduino15\, así como el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.
Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino
El gestor de tarjetas disponible desde el menú herramientas → Placa → Gestor de tarjetas, nos muestra el soporte a qué tipo de placas Arduino tenemos y nos permite instalar el soporte para otro tipo de placas. Estas placas se refieren a la familia de tarjetas no a los modelos de Arduino soportados, para añadir otras placas de a misma familia se debe configurar desde otro fichero.
Por defecto tenemos instalado el soporte a las placas Arduino AVR que son la mayoría, pero desde este gestor podemos instalar el soporte para los Arduino con MCU ARM de 32 bits o las Intel como el Arduino 101.
En este enlace explica como instalar nuevos cores: https://www.arduino.cc/en/Guide/Cores
Cuando tengamos algún problema, la primera opción es recurrir a la guía de Troubleshooting: http://arduino.cc/en/Guide/Troubleshooting
Instalación y configuración IDE arduino.org
Como ya se ha comentado anteriormente (Ver https://aprendiendoarduino.wordpress.com/2016/03/19/arduino-cc-y-arduino-org-los-dos-arduinos/), Arduino se dividió a principios de 2015 en dos compañías y el resultado además de dos páginas web: www.arduino.cc y www.arduino.org, tenemos dos IDEs.
Hemos visto el IDE original de arduino, pero el IDE de arduino.org se trata de un fork del IDE de arduino.cc que a su vez deriva de Wiring: http://wiring.org.co/. Este IDE de arduino.org no dispone de la gestión mejorada de librerías y placas.
Todos los cambios de las versiones se pueden ver en: http://labs.arduino.org/Arduino+IDE+Previous+Releases
Guía de inicio: http://labs.arduino.org/First+steps+with+Arduino+IDE+1.7.x+for+Windows
Código fuente: https://github.com/arduino-org/Arduino
Descargar la última versión del IDE de Arduino.org de http://www.arduino.org/software disponemos de una version con instalador y otra con instalación manual desde un zip.
IMPORTANTE: la versión del IDE de arduino.org es la 1.7.8, puede llevar a error y pensar que es una versión superior al IDE de arduino.cc que va por la version 1.6.8, pero no es cierto, se trata de un IDE difrente, es más, el IDE de arduino.org está menos evolucionado que el IDE de arduino.cc. Ver Issue: https://github.com/arduino-org/Arduino/issues/2
Como ya tenemos instalado el IDE de arduino.cc el instalador del IDE de arduino.org trata de desinstalarlo como si fuera una versión anterior, cuando realmente es un IDE diferente. Por este motivo es mejor hacer una instalación manual del IDE de arduino.org.
Para proceder a la instalación manual, descargar la el fichero zip (for non-administrator install) y descomprimir el contenido por ejemplo en la ruta C:\Program Files (x86)\Arduino.org
Ejecutar arduino.exe y tenemos el IDE de arduino.org que su funcionamiento es similar al de arduino.cc pero carece los gestores de librerías y de tarjetas, también vemos que la tarjetas soportadas son algo difrentes al de arduino.cc.
La imagen al ejecutar el IDE es algo diferente pareciendose a la versión anterior del IDE de arduino.cc
Ambos IDEs son actualmente muy similares a simple vista, pero en el interior hay varias diferencias.
La pantalla de preferencias es diferente:
Desde esta pantalla configuramos donde se guardan las preferencias, sketches y librerías.
Las preferencias se guardan en: C:\Users\nombre_usuario\AppData\Roaming\Arduino15\preferences.txt, cuya ruta es diferente al IDE de arduino.cc y por lo tanto no comparten preferencias.
Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino, que lo comparte con el IDE de arduino.cc por lo que disponemos de los mismo sketches y librerías en ambos IDEs, pero podemos cambiar esta configuración para separar ambos IDEs.
Una consecuencia de esta división de los IDEs es que las placas de arduino.org pueden no funcionar en el IDE original de arduino.cc ni al reves. Pero si solo queremos usar un IDE o nos gusta uno más que otro, siempre se pueden hacer pequeñas configuraciones para poder usar las placas de un arduino en el IDE del otro arduino.
El listado de placas soportadas por cada IDE difiere un poco:
Placas IDE arduino.cc
Placas IDE arduino.org
Lo más probable es que haya problemas con los Arduinos nuevos que vayan saliendo que con los arduinos antiguos que tendrán soporte en ambos IDEs.
Es posible que cada uno de los IDEs de arduino.cc y arduino.org tengan versiones diferentes de las librerías que tienen incluidas, esto nos puede trear problemas al usar un sketch en un IDE o en otro.
También es posible que nos aparezcan avisos de placas no certificadas al usar un IDE diferente del fabricante de la placa como el que se añadió en: https://github.com/arduino/Arduino/commit/39d1dfc9995e75e858fa238c7c8881ee2d7679c6
Esto se debe a que arduino.cc y arduino.org tienen su propio identificador de USB (vendor ID) y lo detectan los IDEs. Esto también puede pasar con falsificaciones o clones de placas arduino. El vendor ID para arduino.cc es 0x2341 y por ejemplo para el Arduno UNO el product ID es 0x0001. El vendor ID para arduino.org es 0x2A03 que pertenece a Dog Hunter AG.
Esta entrada se publicó en Arduino, Arduino Day, Arduino.cc, Arduino.org, IDE, Puerto Serie, Software y está etiquetada con Arduino, Arduino Day, herramientas de programación, IDE, Práctica, Software en 30 marzo, 2016.