Мікроконтролерний чіп ATtiny85 є доступною та потужною альтернативою іншим мікроконтролерам Arduino, особливо коли ви хочете зменшити свій проект. Мікросхема має 8 висновків, з яких шість - виводи вводу / виводу (включаючи скидання), а два - виводи живлення. Але як його запрограмувати, оскільки він не має інтерфейсу USB, як інші плати мікроконтролера? Тож у цій статті я проведу вас через процес програмування ATtiny85 з IDE Arduino за допомогою Arduino Uno. В основному, ми будемо використовувати Arduino UNO як програміст ATtiny85.
Компоненти, необхідні для програмування ATtiny85
- Arduino UNO
- ATtiny85 IC
- СВІТЛОДІОДНИЙ
- 220-омний резистор
- Макет
- Провід перемички
Мікроконтролерний чіп ATtiny85 - Вступ
ATtiny85 від Atmel - це високопродуктивний 8-розрядний мікроконтролер з низькою потужністю, заснований на вдосконаленій архітектурі RISC. Цей мікросхема мікроконтролера має флеш-пам'ять 8KB ISP, 512B EEPROM, 512-байтну SRAM, 6 ліній загального призначення, 32 робочих регістри загального призначення, один 8-бітний таймер / лічильник з режимами порівняння, один 8-бітний високошвидкісний таймер / лічильник, USI, внутрішні та зовнішні переривання, 4-канальний 10-бітний АЦП, програмований сторожовий таймер із внутрішнім генератором, три програмні режими енергозбереження та debugWIRE для налагодження на мікросхемі. Розпіновка ATtiny85 подана нижче:
Більшість штифтів вводу-виводу мікросхеми мають більше однієї функції. Ознайомтеся з наведеною нижче таблицею, щоб дізнатись про опис контактів ATtiny85 для кожного контакту.
No контакту |
Ім'я PIN-коду |
Опис штифта |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: переривання зміни контактів 0, джерело5 СКИДАННЯ: Скинути PIN-код ADC0: Вхідний канал ADC 0 dW: налагодження WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: переривання зміни контактів 0, джерело3 XTAL1: Кришталевий осцилятор Pin1 CLKI: Вхід зовнішнього годинника ADC3: вхідний канал ADC 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Переривання зміни контактів 0, джерело 4 XTAL2: Кришталевий осцилятор 2 CLKO: Системний годинник OC1B: Таймер / Лічильник1 Порівняйте вихідні дані відповідності B. ADC2: вхідний канал ADC 2 |
4 |
GND |
Штифт землі |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: Вивід основних даних SPI / Введення підлеглих даних DI: введення даних USI (трипровідний режим) SDA: введення даних USI (двопровідний режим) AIN0: аналоговий компаратор, позитивний вхід OC0A: Таймер / Лічильник0 Порівняйте вихідні дані відповідності А. AREF: Зовнішнє аналогове посилання PCINT0: переривання зміни контактів 0, джерело 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: Введення основних даних SPI / Виведення даних підлеглих DO: Виведення даних USI (трипровідний режим) AIN1: аналоговий компаратор, негативний вхід OC0B: Таймер / Лічильник0 Порівняйте вихідні дані відповідності B. OC1A: Таймер / Лічильник1 Порівняння результату відповідності A PCINT1: переривання зміни контактів 0, джерело 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: послідовний вхід годинника USCK: Годинник USI (трипровідний режим) SCL: Годинник USI (двопровідний режим) ADC1: Вхідний канал ADC 1 T0: Таймер / Лічильник0 Джерело годинника INT0: Вхід зовнішнього переривання 0 PCINT2: переривання зміни контактів 0, джерело 2 |
8 |
VCC |
Контакт напруги живлення |
Крок 1: Налаштування Arduino Uno як провайдера:
Оскільки ATtiny85 - це просто мікроконтролер, для цього потрібно запрограмувати ISP (внутрішньосистемне програмування). Отже, щоб програмувати ATtiny85, нам потрібно спочатку налаштувати Arduino Uno як провайдера, щоб він виступав програмістом для ATtiny85. Для цього підключіть Arduino Uno до ноутбука та відкрийте IDE Arduino. Після цього перейдіть до Файл> Приклад> ArduinoISP і завантажте код провайдера Arduino.
Крок 2: Принципова схема для програмування ATtiny85:
Повна схема програмування ATtiny85 з Arduino Uno наведена нижче:
Позитивний контакт світлодіода підключений до контакту 0 мікросхеми ATtiny85 через резистор 220 Ом, тоді як контакт GND підключений до GND мікросхеми. Повні з'єднання наведені в таблиці нижче:
PIN-код ATtiny85 |
Pin Arduino Uno |
Vcc |
5 В |
GND |
GND |
Штифт 2 |
13 |
Pin 1 |
12 |
Pin 0 |
11 |
Скинути |
10 |
Крок 3: Програмування ATtiny85 за допомогою Arduino IDE:
Щоб запрограмувати ATtiny85 за допомогою Arduino IDE, спочатку нам потрібно додати підтримку ATtiny85 до Arduino IDE. Для цього перейдіть у меню Файл> Налаштування та додайте посилання нижче в URL-адреси додаткового менеджера дошок та натисніть «ОК».
Після цього перейдіть до Інструменти> Дошка> Менеджер дошки та знайдіть «attiny» та встановіть останню версію.
Після його встановлення ви зможете побачити новий запис у меню дошки під назвою 'Attiny25 / 45/85'.
Тепер перейдіть до Файл > Приклади> Основи та відкрийте приклад Blink.
Змініть там номер піну з LED_BUILTIN на 0.
Тепер поверніться до Інструменти -> Дошка та виберіть «Attiny25 / 45/85», а потім виберіть ATtiny85 під Інструменти> Процесор.
Тепер продовжуйте і завантажуйте код. Якщо світлодіод, підключений до виводу 0 мікросхеми Attiny85, блимає, тоді код завантажено успішно.
Ось як ви можете запрограмувати мікросхему мікроконтролера ATtiny85 за допомогою Arduino IDE та Arduino Uno. Робоче відео наведено нижче. Якщо у вас виникли запитання, залиште їх у розділі коментарів. Ви також можете опублікувати свої технічні запити на нашому форумі з електроніки, щоб отримати кращу інформацію.