Все мы знаем микроконтроллер Arduino, но не многие знают, что есть более дешевые микроконтроллеры, которые продаются без “обвески” а просто микросхемой. Но такие контроллеры потребляют гораздо меньше энергии и их может хватать вполне для определенных нужд. В этой же статье мы и рассмотрим ATtiny84.
Микроконтроллер ATtiny84 выглядит следующим образом:

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Его можно приобрести в во многих магазинах электронных компонентов, но он также есть и на Aliexpress: http://ali.pub/2uqzgp
Распиновка данной микросхемы выглядит таким образом:

В данной схеме все очень подробно показано. Думаю не стоит объяснять сколько в данной плате пинов ввода-вывода и какой у нее потенциал.
Ну чтож давайте перейдем к программированию данного контроллера. Программировать будем с помощью arduino uno, точно также как программировали attiny13 в данной статье тут.
Чтоб запрограммировать Attiny84 или Attiny84a не важно они одинаково программируются. Нужно подключить микроконтроллер к Arduino таким образом:

Программируется Attiny84 как видно из схемы по тем же 6 пинам что и Attiny13. Конденсатор в данной схеме не обязателен, но его рекомендуют, я программирую без него.
Для программирования через Arduino, в саму плату Arduino должен быть залит скетч ArduinoISP который берется из стандартных примеров.

После заливки скетча ArduinoISP нужно добавить наш микроконтроллер в среду программирования Arduino IDE. Чтоб это сделать, нужно перейти в Файл -> Настройки. В поле настройки в графе “Дополнительные ссылки для Менеджера плат:” нужно добавить следующую ссылку: http://drazzy.com/package_drazzy.com_index.json

После этого нужно зайти Инструменты -> Плата -> Менеджер Плат и в открывшемся окне набрать Attiny и установить ATTinyCore.

После установки ATTinyCore мы сможем выбрать в меню Инструменты -> плата: Attiny84
Все, теперь для заливки любого скетча нужно выбирать вот такие параметры, как показаны на картинке:

После всех данных манипуляций и выбора правильных параметров в вкладке инструменты, у нас все должно загрузиться без проблем.
Вот пример Blink для демонстрации.
/*
Blink (modified slightly for ATTiny84/44 ICs
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// ATTIny84 / 44 does not have Pin 13, so we use pin 7 instead.
// A current limiting resistor should be connected in line with the LED.
int led = 0;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

Вот схема подключения к данному скетчу. Заместо ардуино можно использовать любой источник питания 5V.
Думаю теперь у Вас не должно возникнуть никаких проблем, если все же возникнут, не стесняйтесь пишите в комментариях обязательно помогу.