Brevísima introducción a Arduino
Seguramente que todos hemos oído hablar de Arduino. Y con todo lo hablado, a lo largo y ancho del mundo, puede que no te hagas una idea clara. Por ejemplo, la primera vez que lo oí nombrar yo, pensé que era, simplemente, una tarjeta electrónica. Así que permitidme realizar una traducción aproximada de la definición en inglés de la pagina web de Arduino:
Arduino es una plataforma abierta basada en software y hardware sencillo de usar. Su propósito es que cualquiera pueda realizar proyectos interactivos.
Dos palabras son destacables:
- plataforma: lo que significa que no es una sola cosa, sino un conjunto de cosas: tarjetas, programas, librerías, etc. Todas ellas estarán relacionadas para realizar un objetivo, el proyecto en este caso.
- abierta: sin extendernos en lo que es el código abierto, diremos simplemente que cualquiera puede usar, colaborar, modificar según sus gustos o necesidades.
Vale, sencillo de usar también es algo muy destacable de Arduino.
Creando tarjetas
No, no vamos a crear ninguna tarjeta (quizás otro día). Los fabricantes lo hacen por nosotros.
Vamos a dividir las tarjetas en tres categorías:
- Tarjetas originales: Estas tarjetas son diseñadas y fabricadas por la compañía Arduino.
- Tarjetas copia: Estas tarjetas son fabricadas por otras compañías empleando los diseños originales de la compañía Arduino. Hemos dicho que la plataforma es abierta, por lo que pueden hacerlo.
- Tarjetas compatibles: Son otras compañías quienes diseñan y fabrican otras tarjetas que son compatibles con la plataforma.
El IDE (el programa que nos permite programar las tarjetas) soporta las primeras directamente. Las segundas también, pues, salvo por su fabricación, son exactamente iguales a las originales.
El objetivo de este articulo son las terceras. Pudiendo cualquiera diseñar su tarjeta compatible Arduino, estas pueden llegar a ser cientos, miles o millones!!! (vale, millones sería un poco descabellado, de momento…). Estas tendrán distintas características (tamaño, cantidad de entradas/salidas, capacidad de cálculo…) que será lo que las distinga a unas de otras, y su razón de ser.
Para este ejemplo usaremos una, pequeña pero potente, tarjeta que es “amor a primera vista”, la Trinket M0 de Adafruit. Es la de la imagen de cabecera.
Paso 1: Donde buscar
Para poder programar una tarjeta, el IDE debe conocerla para poder adaptarse a la misma a la hora de compilar y transferir el programa. Como hemos dicho que pueden ser muchos modelos y de distintos fabricantes, resulta imposible que el IDE los conozca todos. Por ello, mediante repositorios externos, podemos facilitarle los datos de las tarjetas que queramos. Cada fabricante deberá mantener un repositorio con los datos de sus tarjetas (generalmente estos repositorios no serán de una sola tarjeta, incluirán información de todas las tarjetas que tenga dicho fabricante). En este caso, Adafruit nos dice que es: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json.
Entonces, vamos a Archivo -> Preferencias y en la parte inferior veremos Gestor de URLs Adicionales de Tarjetas:. Pulsamos sobre el botón de la derecha y aparece otra ventana donde pondremos la dirección del repositorio mencionado antes. Pulsa OK para cerrar las ventanas o el repositorio no será añadido.
Como dice el título de este paso, esto solo indica al IDE donde buscar, por lo que tenemos que ir al Paso 2 antes de poder usar las nuevas tarjetas.
Paso 2: Instalar
Ahora nos dirigimos a Herramientas -> Placa -> Gestor de tarjetas. En la ventana que aparece introducimos el nombre de la tarjeta a buscar y pulsamos Intro. Si quieres puedes probar a buscarla antes del Paso 1 para comprobar que no la encuentra. La búsqueda se realiza sobre las tarjetas oficiales y los repositorios incluidos en el paso anterior. Pulsamos sobre el resultado y abajo a la derecha del mismo veremos el botón Instalar. Lo pulsamos y esperamos a que termine la instalación.
Uso
Ya está todo listo. Lo último que nos queda por hacer es seleccionar el nuevo modelo de tarjeta dentro de Herramientas -> Placa y a disfrutar!!!
Hola, tengo un problema y es que debo hacer una modificacion a la placa arduino uno y no se como hacer esto..alguien con experiencia podria explicarme un poco acerca del proceso que debo realizar pora cumplir con la tarea, donde creo este *.json..saludos.
Hola Rene,
En primer lugar, dependiendo del tipo de modificación que realices, puede que no sea necesario que crees tu tarjeta como una nueva y te sirva el identificarla en el IDE como “Arduino UNO”. Por ejemplo, esto es lo que hace la tarjeta mCore del robot mBot y después lo que hacen es tener sus librerías para utilizar sus características. Tendrían que ser modificaciones a muy bajo nivel para necesitar estos cambios, aunque también lo podrías hacer más por temas de “marketing” para dar visibilidad al nombre de tu tarjeta.
En segundo lugar, si realmente necesitas crearla como una tarjeta nueva, el proceso tiene varios pasos que no son inmediatos. Es una tarea a la que no nos habíamos enfrentado. Buscando he encontrado esta página de Instructables (en inglés) que explica los pasos, he hecho una prueba rápida y he visto:
De todas formas no es un proceso que se pueda explicar brevemente en una respuesta, por lo que investigaremos un poco más y en unos días publicaremos una entrada con las pruebas realizadas.
Como podria hacerlo en IDE 1.0.6?
No hay la opción de poder insertar el .Json en “Preferencias” de Arduino
Hola Marc,
Por lo que veo en las [release notes]([https://www.arduino.cc/en/Main/ReleaseNotes) este método apareció en la versión 1.6.4:
* Additional boards/cores can be listed specifying comma separated list of package_SOMETHING_index.json url in File > Preferences
Y [aquí](https://www.digikey.com/en/maker/project) dicen que en esta misma versión fue cuando apareció el soporte oficial para tarjetas de otros fabricantes, y que antes había que hacerlo de forma manual y llevaba mucho trabajo.
La primera versión que yo probé fue la 1.8.1 por lo que no tengo experiencia con versiones anteriores. Pero en general, en todas las versiones se pueden realizar configuraciones directamente “a mano” en el fichero preferences.txt, en la parte de abajo de la ventana de preferencias sale como localizarlo/abrirlo. He mirado el mio y hay una línea así:
boardsmanager.additional.urls=https://adafruit.github.io/arduino-board-index/package_adafruit_index.json,http://arduino.esp8266.com/stable/package_esp8266com_index.json
Podrías probar a añadirla, con tus datos, a ver que pasa. Pero sospecho que no funcionará por lo ya mencionado.
De todas formas, la versión 1.0.6 tiene ya 4 años, por lo que te recomendaría, salvo razón de mucho peso, que actualizases el IDE a una versión mas reciente, con preferencia por la última.