Digispark - Programar microcontrolador Atmel ATtiny con Arduino IDE

17 de junio de 2016

Lang: cs en de es

Digispark es una plataforma programable que utiliza procesadores ATtiny y es compatible con Arduino. Podría describirse como un Arduino sólo que con un procesador diferente. ¿Cómo empezar a utilizar Digispark?

Digispark está basado en el microcontrolador ATtiny, que es pequeño, barato, no muy potente y con pocas salidas, pero es suficiente para algunas tareas básicas. Además, ya incluye USB, por lo que no es necesario un conversor serie USB. Digispark incluye un bootloader que sirve para cargar cómodamente un programa en el microcontrolador.

Creencias

Digispark

Digispark contiene el microcontrolador ATtiny85. Los principales parámetros de Digispark son:

  • 6 Pines de E/S
  • 8k Memoria Flash
  • I2C y SPI
  • PWM en 3 pines
  • ADC en 4 pines
  • LED de encendido y prueba
  • LED de alimentación y LED de prueba/estado

digispark

Digispark Pro

Digispark Pro contiene el microcontrolador ATtiny167.

  • 16KB de Memoria Flash
  • 14 Pines de E/S
  • 14 pines de E/S
  • I2C, SPI verdadero, UART, LIN y USI
  • AdC en 10 pines
  • ADC en 10 pines
  • LED de encendido y prueba
  • LED de alimentación y LED de prueba/estado

digispark pro

Funcionamiento

Tras conectar Digispark al PC vía USB, el puerto serie virtual no aparece en el sistema como estamos acostumbrados con Arduino. No es necesario instalar otro módulo(driver). Al menos este es el caso con Linux. Al programar, probablemente acceda directamente al dispositivo USB.

Descripción El funcionamiento de la extensión Digispark en el IDE Arduino está ilustrado en la web oficial. Sólo tienes que pinchar a través de ella y en Boards Manager añadir el soporte de placas a Digistum.

Para que un usuario sin privilegios pueda utilizar este dispositivo USB, hay que añadir un subsistema La regla de evento para Dispark es de nuevo todo claramente visible en el manual oficial. Otra opción es añadir el usuario a un grupo que ya tenga derechos de acceso a dispositivos USB.

La carga de un programa a Digispark funciona en el orden: iniciar la carga y luego conectar el dispositivo.

Inicio de Digispark Pro

Subir código a Digispark Pro no me ha funcionado. El IDE de Arduino informó de este problema:

 Advertencia: se ha detectado un dispositivo con una nueva versión desconocida de Micronucleus.
Esta herramienta no sabe cómo cargar a este nuevo dispositivo. Las actualizaciones pueden estar disponibles.
El dispositivo informa de la versión como: 2.2
La utilidad micronucleus utilizada para cargar un programa al microcontrolador era antigua. Por lo tanto, utilicé los siguientes comandos para descargar la versión actual del código fuente de micronucleus. Compilé el programa y copié el binario resultante a la ubicación donde estaba instalada la extensión Digispark.
git clone https://github.com/micronucleus/micronucleus.git
cd micronucleus/
cd commandline/
make
cp micronucleus ~/.arduino15/packages/digistump/tools/micronucleus/2.0a4/micronucleus


Programa

El primer uso se puede probar fácilmente con el programa de parpadeo de diodos.

Digispark (Modelo A ) y Digispark Pro tienen ambos un led en el Pin 1 de Arduino. Digispark Modelo B tiene el led en el Pin 0 de Arduino. El código para parpadear el led es el siguiente:

void setup() {
  pinMode(1, OUTPUT);
}


void loop() {
  digitalWrite(1, HIGH); // enciende el LED (HIGH es el nivel de voltaje)
  delay(1000); // espera un segundo
  digitalWrite(1, LOW); // apaga el LED haciendo que el voltaje sea BAJO
  delay(1000); // espera un segundo
}

La programación de Digispark utilizando el entorno de desarrollo Arduino IDE se puede ver en la siguiente figura. El listado muestra el progreso de subida del programa a Digispark.

arduino-ide-digispark.png

Aquellos que tienen experiencia con Arduino pueden desarrollar rápidamente programas para microcontroladores. Todo ello gracias a la librería Wiring y a la gran disponibilidad de librerías para diversos periféricos. Además, ya no es necesario limitarse a un procesador y a un fabricante. Ahora la experiencia de Arduino puede aplicarse fácilmente no sólo a los numerosos procesadores de Atmel (recientemente adquirida por Microchip), sino también a microcontroladores ARM y en SoCs ESP8266 de IoT.

LEDs RGB

Artículos sobre un tema similar

Análisis de la asignación y fijación de precios del desarrollo de proyectos de software
Programa Python para controlar Docker mediante la API
Cómo utilizar MailCatcher para probar correos electrónicos
API OpenAI de Python
Creación de una aplicación web WebSocket y configuración de un proxy
Gestión de proyectos: desarrollo ágil de software
Cómo ejecutar aplicaciones PHP antiguas
Lo que debe saber un buen programador
Lenguaje de programación Rust
NodeJS: desarrollo, configuración del servidor
Fallo de seguridad de Nette CVE-2020-15227
API REST: API de plataforma
Alojamiento web y de correo personalizado con el software ISP Config
Programación en SQL: PostgreSQL, MySQL/MariaDB
HTTPS: web segura
Base de datos NoSQL Mongo DB
Connecting to Microsoft SQL Server from Linux
¿Cuál es la descripción del trabajo de un programador?
Localización de aplicaciones Python
Qué correo y alojamiento web elegir
Desarrollo para procesadores ARM con Arduino IDE
Cómo programar el procesador WiFi ESP8266
Smartphone abierto con Linux - Openmoko Neo FreeRunner

Boletin informativo

Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email suscripción de noticias.


+