El chip de microcontrolador ATtiny85 es una alternativa asequible y potente a otros microcontroladores Arduino, especialmente cuando desea reducir su proyecto. El chip cuenta con 8 pines de los cuales seis son pines de E / S (incluido el reinicio) y dos son pines de alimentación. Pero, ¿cómo se programa si no tiene una interfaz USB como otras placas de microcontroladores? Entonces, en este artículo, lo guiaré a través del proceso de programación del ATtiny85 desde el IDE de Arduino con la ayuda del Arduino Uno. Básicamente, usaremos Arduino UNO como programador ATtiny85.
Componentes necesarios para programar ATtiny85
- Arduino UNO
- ATtiny85 IC
- LED
- Resistencia de 220 ohmios
- Tablero de circuitos
- Cables de puente
Chip microcontrolador ATtiny85 - Introducción
El ATtiny85 de Atmel es un microcontrolador de 8 bits de bajo consumo y alto rendimiento basado en la Arquitectura RISC Avanzada. Este chip microcontrolador cuenta con memoria flash ISP de 8KB, EEPROM 512B, SRAM de 512 bytes, 6 líneas de E / S de uso general, 32 registros de trabajo de uso general, un temporizador / contador de 8 bits con modos de comparación, uno de alta velocidad de 8 bits temporizador / contador, USI, interrupciones internas y externas, convertidor A / D de 4 canales y 10 bits, temporizador de vigilancia programable con oscilador interno, tres modos de ahorro de energía seleccionables por software y debugWIRE para depuración en chip. El Pinout ATtiny85 se da a continuación:
La mayoría de los pines de E / S del chip tienen más de una función. Consulte la tabla que se proporciona a continuación para conocer la descripción del pin ATtiny85 para cada pin.
Pin No. |
Nombre de PIN |
Pin Descripción |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Interrupción de cambio de pin 0, Fuente5 RESET: Restablecer Pin ADC0: Canal de entrada 0 de ADC dW: depurar E / S de CABLE |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Interrupción de cambio de pin 0, Fuente3 XTAL1: Pin1 del oscilador de cristal CLKI: Entrada de reloj externo ADC3: Canal de entrada 3 de ADC |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Interrupción de cambio de pin 0, Fuente 4 XTAL2: Pin 2 del oscilador de cristal CLKO: Salida de reloj del sistema OC1B: Timer / Counter1 Compare Match B Output ADC2: Canal de entrada 2 de ADC |
4 |
GND |
Pin de tierra |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: Salida de datos maestros SPI / Entrada de datos esclavos DI: Entrada de datos USI (modo de tres cables) SDA: Entrada de datos USI (modo de dos cables) AIN0: Comparador analógico, entrada positiva OC0A: Timer / Counter0 Comparar salida Match A AREF: Referencia analógica externa PCINT0: Interrupción de cambio de pin 0, Fuente 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: Entrada de datos maestros SPI / Salida de datos esclavos HACER: Salida de datos USI (modo de tres cables) AIN1: Comparador analógico, entrada negativa OC0B: Timer / Counter0 Comparar salida Match B OC1A: Timer / Counter1 Compare Match A Output PCINT1: Interrupción de cambio de pin 0, Fuente 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: entrada de reloj en serie USCK: Reloj USI (modo de tres cables) SCL: Reloj USI (modo de dos cables) ADC1: Canal de entrada 1 de ADC T0: Fuente de reloj del temporizador / contador0 INT0: Entrada de interrupción externa 0 PCINT2: Interrupción de cambio de pin 0, Fuente 2 |
8 |
VCC |
Pin de voltaje de suministro |
Paso 1: Configurar Arduino Uno como ISP:
Dado que ATtiny85 es solo un microcontrolador, requiere la programación de un ISP (Programación en el sistema). Entonces, para programar el ATtiny85, primero debemos configurar Arduino Uno como ISP para que actúe como programador del ATtiny85. Para eso, conecte el Arduino Uno a la computadora portátil y abra el IDE de Arduino. Después de eso, vaya a Archivo> Ejemplo> ArduinoISP y cargue el código ISP de Arduino.
Paso 2: Diagrama de circuito para programar ATtiny85:
El esquema completo para programar ATtiny85 con Arduino Uno se muestra a continuación:
El pin positivo del LED está conectado al Pin 0 del ATtiny85 IC a través de una resistencia de 220Ω mientras que el pin GND está conectado al GND del IC. Las conexiones completas se dan en la siguiente tabla:
Pin ATtiny85 |
Pin Arduino Uno |
Vcc |
5V |
GND |
GND |
Pin 2 |
13 |
Pin 1 |
12 |
Pin 0 |
11 |
Reiniciar |
10 |
Paso 3: Programación de ATtiny85 usando Arduino IDE:
Para programar el ATtiny85 con Arduino IDE, primero, necesitamos agregar el soporte ATtiny85 a Arduino IDE. Para eso, vaya a Archivo> Preferencias y agregue el siguiente enlace en las URL del Administrador de tableros adicionales y haga clic en 'Aceptar'.
Después de eso, vaya a Herramientas> Tablero> Administrador de tablero y busque 'attiny' e instale la última versión.
Después de instalarlo, ahora podrá ver una nueva entrada en el menú del tablero titulada 'Attiny25 / 45/85'.
Ahora, vaya a Archivo > Ejemplos> Conceptos básicos y abra el ejemplo de Blink.
Cambie el número de pin allí de LED_BUILTIN a 0.
Ahora regrese a Herramientas -> Tablero y seleccione “Attiny25 / 45/85”, luego seleccione ATtiny85 en Herramientas> Procesador.
Ahora, continúe y cargue el código. Si el LED conectado al Pin 0 de Attiny85 IC parpadea, entonces el código se cargó correctamente.
Así es como puede programar el chip del microcontrolador ATtiny85 usando Arduino IDE y Arduino Uno. A continuación se muestra un video de trabajo. Si tiene alguna pregunta, déjela en la sección de comentarios. También puede publicar sus consultas técnicas en nuestro Foro de electrónica para obtener mejores conocimientos.