Микроконтролерният чип ATtiny85 е достъпна и мощна алтернатива на други микроконтролери Arduino, особено когато искате да намалите проекта си. Чипът разполага с 8 пина, от които шест I / O (включително Reset) щифтове и два са захранващи щифтове. Но как да го програмирате, тъй като няма USB интерфейс като другите платки на микроконтролера? Така че в тази статия ще ви преведа през процеса на програмиране на ATtiny85 от IDE на Arduino с помощта на Arduino Uno. По принцип ще използваме Arduino UNO като програмист ATtiny85.
Компоненти, необходими за програмиране на ATtiny85
- Arduino UNO
- ATtiny85 IC
- LED
- 220-омов резистор
- Макет
- Джъмперни проводници
Микроконтролерен чип ATtiny85 - Въведение
ATtiny85 на Atmel е 8-битов микроконтролер с висока производителност и ниска мощност, базиран на Advanced RISC Architecture. Този микроконтролерен чип разполага с 8KB ISP флаш памет, 512B EEPROM, 512-байтов SRAM, 6 линии за общо предназначение I / O, 32 работни регистри с общо предназначение, един 8-битов таймер / брояч с режими за сравнение, един 8-битов високоскоростен таймер / брояч, USI, вътрешни и външни прекъсвания, 4-канален 10-битов A / D конвертор, програмируем таймер за наблюдение с вътрешен осцилатор, три избираеми режима за спестяване на енергия и debugWIRE за отстраняване на грешки в чипа. ATtiny85 Pinout е даден по-долу:
Повечето I / O щифтове на чипа имат повече от една функция. Вижте таблицата, дадена по-долу, за да знаете за описанието на пина на ATtiny85 за всеки щифт.
ПИН No. |
Име на ПИН |
Описание на щифта |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Прекъсване на промяна на щифта 0, източник5 RESET: Нулиране на ПИН ADC0: ADC входен канал 0 dW: отстраняване на грешки WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Прекъсване на смяната на щифтове 0, Source3 XTAL1: Кристален осцилатор Pin1 CLKI: Въвеждане на външен часовник ADC3: ADC входен канал 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Прекъсване на смяната на щифтове 0, източник 4 XTAL2: Кристален осцилатор Pin 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 Сравнете изход за съвпадение А. 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 като ISP:
Тъй като ATtiny85 е само микроконтролер, той изисква ISP (In-System Programming) да бъде програмиран. За да програмираме ATtiny85, първо трябва да конфигурираме Arduino Uno като ISP, за да действа като програмист за ATtiny85. За това свържете Arduino Uno към лаптопа и отворете IDE на Arduino. След това отидете на File> Example> ArduinoISP и качете Arduino ISP кода.
Стъпка 2: Електрическа схема за програмиране на ATtiny85:
Пълната схема за програмиране на ATtiny85 с Arduino Uno е дадена по-долу:
Положителният щифт на светодиода е свързан към щифт 0 на ATtiny85 IC чрез резистор 220Ω, докато щифтът GND е свързан към GND на IC. Пълните връзки са дадени в таблицата по-долу:
ПИН ATtiny85 |
Arduino Uno ПИН |
Vcc |
5V |
GND |
GND |
ПИН 2 |
13 |
ПИН 1 |
12 |
Пин 0 |
11. |
Нулиране |
10 |
Стъпка 3: Програмиране на ATtiny85 с помощта на Arduino IDE:
За да програмираме ATtiny85 с Arduino IDE, първо трябва да добавим поддръжката ATtiny85 към Arduino IDE. За това отидете на Файл> Предпочитания и добавете връзката по-долу в URL адресите на допълнителния мениджър на табла и щракнете върху „OK“.
След това отидете на Tools> Board> Board Manager и потърсете 'attiny' и инсталирайте най-новата версия.
След като го инсталирате, сега ще можете да видите нов запис в менюто на дъската, озаглавен „Attiny25 / 45/85“.
Сега отидете на Файл > Примери> Основи и отворете Примера на мига.
Променете номера на пина там от LED_BUILTIN на 0.
Сега се върнете към Tools -> Board и изберете “Attiny25 / 45/85”, след което изберете ATtiny85 под Tools> Processor.
Сега продължете и качете кода. Ако светодиодът, свързан към щифт 0 на IC Attiny85, мига, тогава кодът се качва успешно.
По този начин можете да програмирате микроконтролерния чип ATtiny85 с помощта на Arduino IDE и Arduino Uno. Работно видео е дадено по-долу. Ако имате въпроси, оставете ги в раздела за коментари. Можете също да публикувате техническите си запитвания на нашия електронен форум, за да получите по-добра представа.