- Komponentai, reikalingi programuoti „ATtiny85“ per USB
- ATtiny85 mikrovaldiklio IC - įvadas
- Mirksintis „Boot-loader“ įrenginyje „ATtiny85“ naudojant „Arduino Uno“
- „ATtiny“ programuotojo grandinės schema
- „Digispark“ tvarkyklių diegimas
- „Arduino IDE“ nustatymas programuoti „ATttiny85“
„ATtiny“ šeima yra viena iš mažiausių mikrovaldiklių AVR rinkoje. Šie mikrovaldikliai gali naudoti daugelį „Arduino“ platformoje esančių bibliotekų. „ATtiny85“ mikrovaldiklio lustas yra 8 kontaktų, 8 bitų, AVR mikrovaldiklis. Dėl mažo dydžio ir mažo energijos suvartojimo tai puikiai tinka nešiojamiems projektams, kurių pėdsakai yra nedideli ir kuriems reikia mažos energijos. Tačiau gauti kodą į mikroschemą gali būti šioks toks iššūkis, nes jis neturi jokios USB sąsajos, tokios kaip mikrovaldiklių plokštės.
Ankstesniame mokyme mes užprogramavome „ATtiny85“ naudodami „Arduino Uno“. Bet prisijungti „Attiny85“ prie „Arduino“ ir naudoti „Arduino“ kaip interneto paslaugų teikėją gali būti sunku ir daug laiko užimanti. Taigi šioje pamokoje ketiname sukurti „ ATtiny85“ programavimo plokštę, kad galėtume tiesiogiai ją įjungti ir programuoti kaip ir kitas mikrovaldiklių plokštes.
Komponentai, reikalingi programuoti „ATtiny85“ per USB
- „Arduino UNO“ (tik pirmą kartą įkeliant įkrovos programą)
- ATtiny85 IC
- USB A tipo kištukas
- 3 rezistoriai (2 × 47Ω ir 1 × 1kΩ)
- 3 diodai (2 × „Zener“ diodas ir 1 × IN5819 diodas)
- 8 kontaktų IC bazė
- Bandomoji Lenta
- Šuolių laidai
ATtiny85 mikrovaldiklio IC - įvadas
„Atmel“ „ATtiny85“ yra didelio našumo, mažos galios 8 bitų mikrovaldiklis, pagrįstas išplėstine RISC architektūra. Ši mikrovaldiklio mikroschema turi 8 KB ISP „flash“ atmintį, 512B EEPROM, 512 baitų SRAM, 6 bendrosios įvesties / išvesties linijas, 32 bendrosios paskirties darbo registrus, vieną 8 bitų laikmatį / skaitiklį su palyginimo režimais, vieną 8 bitų greitą laikmatis / skaitiklis, USI, vidiniai ir išoriniai pertraukikliai, 4 kanalų 10 bitų A / D keitiklis, programuojamas budėjimo laikmatis su vidiniu osciliatoriumi, trys programinės įrangos pasirenkami energijos taupymo režimai ir derinimo „WIRE“, skirtas derinti lustą. „ATtiny85“ kištukas pateiktas žemiau:
Dauguma lusto įvesties / išvesties kaiščių turi daugiau nei vieną funkciją. Kiekvieno kaiščio „ATtiny85“ kaiščių aprašymas pateiktas žemiau esančioje lentelėje:
Smeigtukas Nr. |
PIN vardas |
Smeigtuko aprašymas |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: kaiščių keitimo pertraukimas 0, šaltinis5 RESET: iš naujo nustatyti kaištį ADC0: ADC įvesties kanalas 0 dW: derinti WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: kaiščių keitimo pertraukimas 0, šaltinis3 XTAL1: kristalo osciliatoriaus kaištis1 CLKI: išorinio laikrodžio įvestis ADC3: ADC 3 įvesties kanalas |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: kaiščių keitimo pertraukimas 0, 4 šaltinis XTAL2: 2 kristalų osciliatoriaus kaištis CLKO: sistemos laikrodžio išvestis OC1B: laikmatis / skaitiklis1 palyginkite B atitikties išvestį ADC2: ADC įvesties kanalas 2 |
4 |
BND |
Įžemintas kaištis |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: SPI pagrindinių duomenų išvestis / vergo duomenų įvestis DI: USI duomenų įvestis (trijų laidų režimas) SDA: USI duomenų įvestis (dviejų laidų režimas) AIN0: Analoginis lygintuvas, teigiamas įėjimas OC0A: laikmatis / skaitiklis0 palyginkite „Match A“ išvestį AREF: išorinė analoginė nuoroda PCINT0: kaiščių keitimo pertraukimas 0, šaltinis 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI pagrindinių duomenų įvestis / vergo duomenų išvestis DO: USI duomenų išvestis (trijų laidų režimas) AIN1: Analoginis lygintuvas, neigiamas įėjimas OC0B: laikmatis / skaitiklis0 palyginkite B atitikties išvestį OC1A: laikmatis / skaitiklis1 palyginkite „A“ išvestį PCINT1: kaiščių keitimo pertraukimas 0, šaltinis 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: nuoseklaus laikrodžio įvestis USCK: „ USI Clock“ (trijų laidų režimas) SCL: „ USI Clock“ (dviejų laidų režimas) ADC1: ADC įvesties kanalas 1 T0: laikmatis / skaitiklis0 laikrodžio šaltinis INT0: išorinis pertraukimas 0 įvestis PCINT2: kaiščių keitimo pertraukimas 0, šaltinis 2 |
8 |
VCC |
Maitinimo įtampos kaištis |
Mirksintis „Boot-loader“ įrenginyje „ATtiny85“ naudojant „Arduino Uno“
Norėdami programuoti „ATtiny85“ be „Arduino“, pirmiausia turėtume į jį įkelti įkrovos programą, naudodami „Arduino UNO“ plokštę, tai yra vienkartinis procesas ir po to, kai tai bus padaryta, mums nebereikės UNO plokštės. „Boot-loader“ yra speciali programa, vykdoma mikrovaldiklyje, kurią reikia užprogramuoti. Vienas patogiausių būdų įkelti programos duomenis į mikrovaldiklį yra įkrovos programa. „Boot-loader“ sėdi ant MCU ir vykdo gaunamas instrukcijas, tada įrašo naują programos informaciją į mikrovaldiklio atmintį. Mirksint įkrovos įkrovikliui ant mikrovaldiklio, nebereikia specialios išorinės aparatūros (programuotojų lentos), kad būtų galima programuoti mikrovaldiklį, ir jūs galėsite jį programuoti tiesiogiai naudodami USB jungtį. „ Digispark ATtiny“ 85lentoje veikia „micronucleus tiny85“ įkrovos krautuvas, kurį iš pradžių parašė Bluebie. „Boot-loader“ yra kodas, kuris iš anksto užprogramuotas „Digispark“ ir leidžia jam veikti kaip USB įrenginiui, kad jį būtų galima užprogramuoti naudojant „Arduino IDE“. Mes taip pat ketiname mirksėti tuo pačiu digispark attiny85 įkrovikliu ATtiny85.
Žemiau pateikiamas žingsnis po žingsnio „flash bootloader“ į „ATtiny85“, naudojant „Arduino Uno“ ir „Arduino IDE“, vadovas:
1 žingsnis: „Arduino Uno“ konfigūravimas kaip IPT:
Kadangi „ATtiny85“ yra tik mikrovaldiklis, jam reikia užprogramuoti ISP („In-System Programming“). Taigi, norėdami užprogramuoti „ATtiny85“, pirmiausia turime sukonfigūruoti „Arduino Uno“ kaip ISP, kad jis veiktų kaip „ATtiny85“ programuotojas. Tam prijunkite „Arduino Uno“ prie nešiojamojo kompiuterio ir atidarykite „Arduino IDE“. Po to eikite į Failas> Pavyzdys> ArduinoISP ir įkelkite „Arduino“ ISP kodą.
2 žingsnis: „ATtiny85“ mirksi įkrovos grandinės schema:
Toliau pateikiama visa „ATtiny85“ įrenginio „Flashing Boot-loader“ schema:
Tarp „Arduino“ atstatymo ir GND kaiščių yra prijungtas 10 µf kondensatorius. Visi ryšiai pateikti žemiau esančioje lentelėje:
ATtiny85 kaištis |
„Arduino Uno“ kaištis |
Vcc |
5V |
BND |
BND |
2 kaištis |
13 |
1 kaištis |
12 |
0 smeigtukas |
11 |
Atstatyti |
10 |
Dabar prijunkite „Arduino Uno“ prie nešiojamojo kompiuterio ir atidarykite „Arduino IDE“. Raskite, prie kurio „COM“ prievado „Uno“ yra prijungtas. Mano atveju tai COM5.
Po to atsisiųskite ATtiny85 Boot-loader failus iš nurodytos nuorodos. Atidarykite „ Burn_AT85_bootloader.bat “ ir pakeiskite COM prievado numerį „PCOM5“ naudodami bet kokį COM prievado numerį, prie kurio esate prisijungę „Uno“. Prieš išeidami išsaugokite pakeitimus.
Dabar perkelkite redaguotus failus „ Burn_AT85_bootloader.bat “ ir „ ATtiny85.hex “ į „Arduino IDE“ šakninį aplanką (C: \ Program Files (x86) Arduino).
Po to dešiniuoju pelės mygtuku spustelėkite „ Burn_AT85_bootloader.bat “ ir pasirinkite „Run as Admin“. Įkrovos įkrovikliui mirksėti reikia maždaug 5–6 sekundes. Jei viskas gerai, turėtumėte gauti šį pranešimą "AVRdude padaryta. Ačiū. Paspauskite bet kurį mygtuką, kad tęstumėte…".
Tokiu būdu „Boot-loader“ sėkmingai įdiegiamas „ATtiny85 Chip“. Dabar atėjo laikas prijungti USB prie „ATtiny85“, kad galėtume jį tiesiogiai programuoti. „ ATtiny85“ programavimo per USB grandinės schema pateikta žemiau:
„ATtiny“ programuotojo grandinės schema
Schema paimta iš „Digispark ATtiny85“ plokštės schemos, tačiau kadangi mes siekiame sukurti „ATtiny85“ programuotoją, mes jungiame tik „Male USB Plug“ su „ATtiny85“.
R3 yra prisitraukimo rezistorius, sujungtas tarp Vcc ir PB3 IC kaiščių, o „Zener“ diodai (D1-D2) pridedami, kad būtų užtikrinta visapusiška USB sąsajos apsauga. Pritvirtinus visus komponentus ant lentos, jis atrodys maždaug taip:
„Digispark“ tvarkyklių diegimas
Norėdami programuoti „ATtiny85“ naudodami USB, turite būti įdiegę „Digispark“ tvarkykles nešiojamame kompiuteryje, jei jų neturite, galite atsisiųsti naudodami aukščiau pateiktą nuorodą. Tada ištraukite ZIP failą ir dukart spustelėkite „ DPinst64.exe “ programą, kad įdiegtumėte tvarkykles.
Kai tvarkyklės bus sėkmingai įdiegtos, prijunkite „ATtiny85“ plokštę prie nešiojamojo kompiuterio. Dabar eikite į „Windows“ įrenginių tvarkytuvę, o „ATtiny85“ įrenginys bus nurodytas „libusb-win32 įrenginiai“ kaip „Digispark Bootloader“. Jei įrenginių tvarkytuvėje nerandate „libusb-win32 devices“, eikite į „ View“ ir spustelėkite „Show hidden Devices“.
„Arduino IDE“ nustatymas programuoti „ATttiny85“
Norėdami užprogramuoti „ATtiny85“ plokštę su „Arduino IDE“, pirmiausia turime pridėti „Digispark“ lentos palaikymą prie „Arduino IDE“. Norėdami tai padaryti, eikite į Failas> Nuostatos ir pridėkite žemiau esančią nuorodą papildomų lentų tvarkyklės URL ir spustelėkite „Gerai“.
Po to eikite į įrankius> Valdyba> Valdybos tvarkyklė ir ieškokite „Digistump AVR“ ir įdiekite naujausią versiją.
Įdiegę jį, dabar galite pamatyti naują įrašą lentos meniu pavadinimu „Digispark“.
Dabar eikite į failą> Pavyzdžiai> Pagrindai ir atidarykite „Blink“ pavyzdį.
Pakeiskite PIN kodą iš LED_BUILTIN į 0.
Dabar grįžkite į „ Tools -> Board“ ir pasirinkite „ Digispark (Default - 16mhz) “ lentą. Tada spustelėkite „Arduino IDE“ mygtuką įkelti.
Pastaba: Prijunkite „ATtiny85“ plokštę prie kompiuterio tik tada, kai „Arduino IDE“ parodys pranešimą „Prijunkite įrenginį dabar“.
Įkėlus kodą, prie ATtiny85 prijungtas šviesos diodas turėtų pradėti mirksėti.
Taip galite susikurti savo „ ATtiny85 Arduino“ programavimo lentą. Toliau pateikiamas to paties veikiantis vaizdo įrašas. Jei turite klausimų, palikite juos komentarų skiltyje. Jei turite kitų techninių klausimų, taip pat galite pradėti diskusiją mūsų forumuose.