Digispark - Programar microcontrolador Atmel ATtiny con Arduino IDE
17 de junio de 2016Digispark 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 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
 
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.2La 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.
 
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
        
            Cómo acelerar la web
                            
            
        
            Rector: actualización de la aplicación PHP
                            
            
        
            Lenguaje de programación Go
                            
            
        
            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
                            
            
        
            ¿Qué plataforma debo elegir para mi tienda electrónica? Por ejemplo, Prestashop
                            
            
        
            OpenStreetMap y rutas GPS en el mapa de la web
                            
            
        
            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.
+
 
             
             
             
             
          