Herramientas de usuario

Herramientas del sitio


acemu:articulos:articulos_tecnicos:software:arduino_ide

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
acemu:articulos:articulos_tecnicos:software:arduino_ide [2016/09/14 20:12]
kenneth
acemu:articulos:articulos_tecnicos:software:arduino_ide [2019/09/02 03:54] (actual)
kenneth [Bibliotecas de Arduino]
Línea 1: Línea 1:
-====== Adafruit Trinket ATTiny85 y el IDE de Arduino ======+====== Arduino ======
  
  
-==== Cómo manejar este bicho desde Linux ====+===== Ardunio IDE =====
  
-Referencias: [[https://learn.adafruit.com/introducing-trinket/introduction| Introducción al Trinket de Adafruit]] +Sección sobre programación con el IDE de Ardunio
- +
-Para poder programar este dispositivo, empleando el IDE de Arduino (versión 1.6 o superior), es necesario hacer unas cuantas cosas antes. +
- +
-=== Registrar el dispositivo en el IDE de Arduino === +
-Para eso seguir las instrucciones que se recomiendan en el sitio web de Adafruit y podemos resumir como sigue: +
- +
-1) Primero debemos conseguir el firmware de Adafruit para que el IDE de Arduino sea capaz de manejarlo. Para eso ir a [[https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls|Unofficial-list-of-3rd-party-boards-support-urls]] y allí buscar el link que corresponde a Adafruit: +
- +
-[[https://adafruit.github.io/arduino-board-index/package_adafruit_index.json]] +
- +
-Copiar ese link en las preferencias del IDE de Arduino: Ir a  +
- +
-Archivo --> Preferencias  +
- +
-y en esa ventana, copiar el link donde dice ''Additional Boards Manager URLs'' +
- +
-2) Instalar los ''board managers'' en el IDE de Arduino: para eso vamos a +
- +
-Herramientas --> Placa: --> Board Managers +
- +
-eso abre la ventana de ''Boards Manager'' y allí seleccionamos ''Type --> Contributed'' y del listado que  +
-aparezca en la ventana, seleccionar e instalar el marcado como ''Adafruits AVR Boards'' +
- +
-De esa manera, de ahora en adelante aparecerán en las placas disponibles, las que correspondan a Adafruits, entre ellas seleccionar la ''Adafruit Trinket 8MHz'' cuando queramos programar el **trinket** +
- +
-3) Como programador hay que usar el ''USBtinyISP'' +
- +
-=== Habilitar la lectura/escritura al dispositivo en Linux === +
-Ojo: el trinket sólo funciona en puertos USB 2.0. No lo podemos manejar con USB 3.0! +
- +
-El problema es el siguiente: si cuando conectamos el **trinket** ejecutamos el comando ''dmesg'', veremos +
-algo por el estilo: +
- +
-<code> +
-[10862.096128] usb 3-5: USB disconnect, device number 13 +
-[10862.750972] usb 3-5: new low-speed USB device number 14 using xhci_hcd +
-[10862.777018] usb 3-5: New USB device found, idVendor=1781, idProduct=0c9f +
-[10862.777027] usb 3-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0 +
-[10862.777032] usb 3-5: Product: Trinket +
-[10862.777036] usb 3-5: Manufacturer: Adafruit +
-</code> +
- +
-Vemos que lo reconoce con IDs de Adafruit: idVendor=1781, idProduct=0c9f +
- +
-Si ejecutamos el comando ''lsusb'' obtendremos una listado de dispositivos USB, entre los cuales encontramos +
-el **trinket** como USBtiny +
- +
-  Bus 003 Device 014: ID 1781:0c9f Multiple Vendors USBtiny +
- +
-En este caso el dispositivo quedó en el Bus 3, identificado como dispositivo 14 (vemos que coindice con los datos que declara ''dmesg''+
- +
-Así que si miramos los permisos que tiene el dispositivo: +
- +
-  ls -la /dev/bus/usb/003/014 +
- +
-puede que veamos algo similar a lo siguiente: +
- +
-  crw-rw-r-- 1 root root 189, 269 sep 14 23:41 /dev/bus/usb/003/014 +
- +
-Eso quiere decir que sólo root tiene permiso de escritura. Los demás usuarios del sistema sólo pueden leer del dispositivo. +
- +
-Para poder cambiar esta situación, tenemos que crear una regla de ''udev'' nueva. +
- +
-Como root, podemos crear un archivo nuevo en ''/etc/udev/rules.d'', llamémosle ''99-USB-Adafruit-Trinket.rules'' y pongamos en su interior el siguiente texto: +
- +
-  # Set Group for Adafruit Trinket +
-  SUBSYSTEM=="usb", ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", GROUP="plugdev" +
- +
-En este caso vemos que estamos identificando el dispositivo a partir de sus ''idVendor'' e ''idProduct'',+
-lo estamos asociando al grupo ''plugdev''+
- +
-al salvar el archiv, el subsistema de ''udev'' detecta que apareció un archivo de reglas nuevo y las activa inmediatamente. Si ahora miramos los permisos en el filesystem, vemos que el dispositivo cambió de grupo: +
- +
-  crw-rw-r-- 1 root plugdev 189, 269 sep 14 23:41 /dev/bus/usb/003/014 +
- +
-(probablemente haya que reiniciar el **trinket** para que el cambio tega efecto...) +
- +
-Ahora alcanza con asignar al o los usuarios de linux que queramos que tengan permisos de escritura, al grupo ''plugdev'' (puede ser cualquier grupo que ya exista en ''/etc/group'' o podemos crear un grupo nuevo, a gusto de consumidor).  +
- +
-Por ejemplo en mi caso el archivo ''/etc/group'' quedó con lso siguiente linuea modificada: +
- +
-  plugdev:x:46:ken +
- +
-De esa manera me aseguro que tener los permisos adecuados para escribir (programar) el **trinket**. +
  
 +  * [[adafruit_trinket|Adafruit Trinket ATTiny85 y Linux]]
  
  
 +===== Arduino sin IDE =====
  
 +Cómo compilar código para Arduino sin depender del IDE: usando la linea de comando desde Linux.
  
 +Referencias:
 +  * [[https://github.com/pavelmc/amake|amake]]
 +  * [[https://github.com/sudar/Arduino-Makefile|arduino-mk]]
 +  * [[https://www.youtube.com/watch?v=qAM2S27FWAI&feature=youtu.be|How to upload an arduino sketch from the Linux terminal]]
  
 +===== Bibliotecas de Arduino =====
  
 +  * [[arduino:bibliotecas|Bibliotecas]]
  
  
acemu/articulos/articulos_tecnicos/software/arduino_ide.1473909169.txt.gz · Última modificación: 2016/09/14 20:12 por kenneth