Układ mikrokontrolera ATtiny85 jest niedrogą i potężną alternatywą dla innych mikrokontrolerów Arduino, zwłaszcza gdy chcesz zmniejszyć swój projekt. Chip ma 8 pinów, z których sześć to piny I / O (w tym reset), a dwa to piny zasilania. Ale jak to zaprogramować, ponieważ nie ma interfejsu USB, jak inne płytki mikrokontrolera? W tym artykule przeprowadzę Cię przez proces programowania ATtiny85 z Arduino IDE przy pomocy Arduino Uno. Zasadniczo będziemy używać Arduino UNO jako programatora ATtiny85.
Komponenty wymagane do programowania ATtiny85
- Arduino UNO
- ATtiny85 IC
- DOPROWADZIŁO
- Rezystor 220 omów
- Płytka prototypowa
- Przewody połączeniowe
Układ mikrokontrolera ATtiny85 - wprowadzenie
Atmel ATtiny85 to wysokowydajny 8-bitowy mikrokontroler małej mocy oparty na zaawansowanej architekturze RISC. Ten układ mikrokontrolera jest wyposażony w pamięć flash 8KB ISP, 512B EEPROM, 512-bajtową pamięć SRAM, 6 linii we / wy ogólnego przeznaczenia, 32 rejestry robocze ogólnego przeznaczenia, jeden 8-bitowy zegar / licznik z trybami porównania, jeden 8-bitowy szybki timer / licznik, USI, wewnętrzne i zewnętrzne przerwania, 4-kanałowy 10-bitowy konwerter A / D, programowalny zegar watchdog z wewnętrznym oscylatorem, trzy tryby oszczędzania energii wybierane programowo i debugWIRE do debugowania na chipie. ATtiny85 Pinout podano poniżej:
Większość pinów I / O chipa ma więcej niż jedną funkcję. Sprawdź poniższą tabelę, aby dowiedzieć się o opisie pinów ATtiny85 dla każdego z pinów.
Nr pinu |
Nazwa pinu |
Opis pinów |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Przerwanie zmiany pinu 0, źródło5 RESET: Reset Pin ADC0: kanał wejściowy ADC 0 dW: debugowanie WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Przerwanie zmiany pinu 0, Źródło3 XTAL1: pin oscylatora kwarcowego 1 CLKI: zewnętrzne wejście zegara ADC3: kanał wejściowy ADC 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Przerwanie zmiany pinu 0, źródło 4 XTAL2: pin 2 oscylatora kwarcowego CLKO: Wyjście zegara systemowego OC1B: Timer / Licznik1 Porównaj dopasowanie wyjścia B. ADC2: kanał wejściowy ADC 2 |
4 |
GND |
Pin uziemienia |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: SPI Master Data Output / Slave Data Input DI: Wejście danych USI (tryb trójprzewodowy) SDA: wejście danych USI (tryb dwuprzewodowy) AIN0: komparator analogowy, wejście dodatnie OC0A: Timer / Licznik 0 Porównaj Dopasuj wyjście A. AREF: zewnętrzne zadawanie analogowe PCINT0: Przerwanie zmiany pinu 0, źródło 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI Master Data Input / Slave Data Output ZRÓB: Wyjście danych USI (tryb trójprzewodowy) AIN1: komparator analogowy, wejście ujemne OC0B: Timer / Licznik 0 Porównanie dopasowania wyjścia B. OC1A: Timer / Licznik1 Porównaj Dopasuj wyjście A PCINT1: Przerwanie zmiany pinu 0, źródło 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Szeregowe wejście zegara USCK: USI Clock (tryb trzech przewodów) SCL: USI Clock (tryb dwuprzewodowy) ADC1: kanał wejściowy ADC 1 T0: Zegar / Licznik 0 Źródło zegara INT0: Wejście zewnętrznego przerwania 0 PCINT2: Przerwanie zmiany pinu 0, źródło 2 |
8 |
VCC |
Pin napięcia zasilania |
Krok 1: Konfiguracja Arduino Uno jako dostawcy usług internetowych:
Ponieważ ATtiny85 jest tylko mikrokontrolerem, wymaga zaprogramowania ISP (In-System Programming). Aby zaprogramować ATtiny85, musimy najpierw skonfigurować Arduino Uno jako ISP, aby działał jako programista dla ATtiny85. W tym celu podłącz Arduino Uno do laptopa i otwórz Arduino IDE. Następnie przejdź do Plik> Przykład> ArduinoISP i prześlij kod Arduino ISP.
Krok 2: Schemat obwodu do programowania ATtiny85:
Pełny schemat programowania ATtiny85 z Arduino Uno jest podany poniżej:
Dodatni pin diody LED jest podłączony do styku 0 układu ATtiny85 przez rezystor 220 Ω, podczas gdy pin GND jest podłączony do GND układu scalonego. Pełne połączenia podano w poniższej tabeli:
ATtiny85 Pin |
Pin Arduino Uno |
Vcc |
5V |
GND |
GND |
Pin 2 |
13 |
Pin 1 |
12 |
Pin 0 |
11 |
Resetowanie |
10 |
Krok 3: Programowanie ATtiny85 za pomocą Arduino IDE:
Aby zaprogramować ATtiny85 z Arduino IDE, najpierw musimy dodać obsługę ATtiny85 do Arduino IDE. W tym celu przejdź do Plik> Preferencje i dodaj poniższe łącze w adresach URL Menedżera dodatkowych tablic i kliknij przycisk „OK”.
Następnie przejdź do Narzędzia> Tablica> Menedżer tablicy, wyszukaj „attiny” i zainstaluj najnowszą wersję.
Po zainstalowaniu będzie można zobaczyć nowy wpis w menu planszy zatytułowany „Attiny25 / 45/85”.
Teraz przejdź do Plik > Przykłady> Podstawy i otwórz przykład Blink.
Zmień tam numer pinu z LED_BUILTIN na 0.
Teraz wróć do Narzędzia -> Płytka i wybierz „Attiny25 / 45/85”, a następnie wybierz ATtiny85 w menu Narzędzia> Procesor.
Teraz idź dalej i prześlij kod. Jeśli dioda LED podłączona do styku 0 układu Attiny85 miga, kod został pomyślnie przesłany.
W ten sposób można zaprogramować układ mikrokontrolera ATtiny85 za pomocą Arduino IDE i Arduino Uno. Poniżej przedstawiono działające wideo. Jeśli masz jakieś pytania, zostaw je w sekcji komentarzy. Możesz również opublikować swoje pytania techniczne na naszym Forum elektroniki, aby uzyskać dokładniejsze informacje.