Hoy vamos a aprender a programar las placas Digispark y sus clones basados en el microcontrolador de Atmel Attiny85.
El proyecto Digispark es abierto puedes visitar su WEB http://digistump.com/, el hardware es bastante simple y fácil de replicar. La pieza clave es el bootloader o firmware que va programado en el microcontrolador el cual permite autoprogramarse a través de la conexión USB. Cabe aclarar que el microcontrolador carece de modulo de comunicación USB pero gracias a la implementación de USB virtual definida por software es posible programar y comunicar con el PC estas placas de desarrollo. Debido a esto requieren un paquete especial de controladores que debemos instalar y esta disponible aquí para windows: https://github.com/digistump/DigistumpArduino/releases/download/1.6.7/Digistump.Drivers.zip
Aquí te dejo la URL que debes poner en el "gestor de URLs adicionales de tarjetas" que podemos encontrar en el menu preferencias del Arduino IDE:
http://digistump.com/package_digistump_index.json
Características de las placas de desarrollo Digispark Attiny85:
- Microcontrolador Attiny85 preprogramado con bootloader
- Frecuencia de reloj interno 16.5mhz
- Compatible con Arduino IDE
- Comunicación VUSB
- Regulador integrado de 5V
- 6 puertos de propósito general I/O (2 usados para la comunicación USB)
- 4 canales ADC
- 3 canales PWM
- Led testigo de tensión alimentación
- Led disponible para el usuario
Precauciones:
Al ser una placa de desarrollo de ultra-bajo costo carece de protecciones contra voltaje inverso y sobrecargas, además hay que tener en cuenta que el puerto PB3 y PB4 comparten la conexión con el puerto USB; si quieres proteger de posibles daños tu PC se recomienda usar un USB HUB para conectar la placa. Nunca poner la placa sobre una superficie metálica ya que pondría en corto los puertos.
En el siguiente enlace pueden encontrar el datasheet del Attiny85: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf
Esquema circuital:
Código de pruebas (Blink)
Es importante aclarar que en la mayoría de placas Digispark y clones el led que esta disponible para usar como indicador se encuentra coiectado en el puerto PB1 y en algunas versiones antiguas en el puerto PB0.
void setup() { pinMode(1, OUTPUT); } void loop() { digitalWrite(1, HIGH); delay(1000); digitalWrite(1, LOW); delay(1000); }Lo bueno y lo malo de usar estas placas
- Extremadamente baratas
- Hasta 6 pines I/O
- Programación vía USB emulado
- 4 ADC de 10 bits
- Memoria de programa flash de 8 kb (2kb usa el bootloader quedan 6kb disponibles)
- SRAM de 512 Bytes
- EEPROM de datos de 512 Bytes
- Soporta 10,000 ciclos de borrado/escritura en memoria flash
- Soporta 100,000 ciclos de borrado/escritura en memoria EEPROM
- Comunicación USB emulada
- Bajo consumo energético
- Tamaño reducido
- Fácil de integrar a otras placas
- No cuenta con interfaz USB serial
- No puedes usar directamente el Monitor Serial o el Serial Plotter del Arduino IDE
- Para programarla debes conectarla al puerto USB en el momento de enviar desde el IDEel programa a la tarjeta
- Hay que esperar unos segundos para que arranque el bootloader y salga del modo programación
- Si borras el firmware del Attiny85 debes usar un programador externo para cargárselo de nuevo
Si también necesitas que ensamblen tu circuito ellos tambien tienen ese servicio disponible y lo mejor con envíos a todo el mundo.
0 Comentarios