- Komponenti, kas nepieciešami, lai programmētu ATtiny85 caur USB
- ATtiny85 mikrokontrolleru IC - ievads
- Mirgo Boot-loader vietnē ATtiny85, izmantojot Arduino Uno
- Circuit diagramma ATtiny programmētājam
- Digispark draiveru instalēšana
- Arduino IDE iestatīšana, lai programmētu ATttiny85
ATtiny ģimene ir viena no mazākajām mikrokontrolleru sērijām AVR tirgū. Šie mikrokontrolleri spēj izmantot daudzas no Arduino platformā pieejamajām bibliotēkām. Mikrokontrollera mikroshēma ATtiny85 ir 8 kontaktu, 8 bitu AVR mikrokontrolleris. Tā mazais izmērs un mazais enerģijas patēriņš padara to par lielisku spēli pārnēsājamiem projektiem ar nelielu nospiedumu un mazu enerģijas patēriņu. Bet koda iegūšana mikroshēmā var būt neliels izaicinājums, jo tam nav USB saskarnes, piemēram, mikrokontrolleru plates.
Iepriekšējā apmācībā mēs ieprogrammējām ATtiny85, izmantojot Arduino Uno. Bet Attiny85 pievienošana Arduino un Arduino izmantošana kā ISP var būt sarežģīta un laikietilpīga. Tāpēc šajā apmācībā mēs izveidosim ATtiny85 programmēšanas paneli, lai mēs varētu to tieši spraudni un programmēt tāpat kā citas mikrokontrolleru plates.
Komponenti, kas nepieciešami, lai programmētu ATtiny85 caur USB
- Arduino UNO (tikai pirmo reizi augšupielādējot sāknēšanas ielādētāju)
- ATtiny85 IC
- USB A tipa kontaktdakša
- 3 rezistori (2 × 47Ω un 1 × 1kΩ)
- 3 diodes (2 × Zenera diode un 1 × IN5819 diode)
- 8 kontaktu IC bāze
- Maizes dēlis
- Džemperu vadi
ATtiny85 mikrokontrolleru IC - ievads
Atmel ATtiny85 ir augstas veiktspējas, mazjaudīgs 8 bitu mikrokontrolleris, kas balstīts uz Advanced RISC arhitektūru. Šajā mikrokontrollera mikroshēmā ir 8KB ISP zibatmiņa, 512B EEPROM, 512 baitu SRAM, 6 vispārējas nozīmes I / O līnijas, 32 vispārējas nozīmes darba reģistri, viens 8 bitu taimeris / skaitītājs ar salīdzināšanas režīmiem, viens 8 bitu ātrgaitas taimeris / skaitītājs, USI, iekšējie un ārējie pārtraucēji, 4 kanālu 10 bitu A / D pārveidotājs, programmējams sargsuņa taimeris ar iekšējo oscilatoru, trīs programmatūras izvēlēti enerģijas taupīšanas režīmi un debugWIRE, lai atkļūdotu mikroshēmu. ATtiny85 Pinout ir norādīts zemāk:
Lielākajai daļai mikroshēmas I / O tapu ir vairāk nekā viena funkcija. Katras tapas ATtiny85 tapu apraksts ir norādīts zemāk esošajā tabulā:
PIN Nr. |
Piespraudes nosaukums |
Piespraudes apraksts |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Change Interrupt 0, Source5 ATIESTATĪT: Atiestatīt tapu ADC0: ADC ievades kanāls 0 dW: atkļūdot WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Pin Change Interrupt 0, Source3 XTAL1: kristāla oscilatora tapa1 CLKI: ārējā pulksteņa ievade ADC3: ADC ievades 3. kanāls |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: tapas maiņas pārtraukums 0, avots 4 XTAL2: kristāla oscilatora tapa 2 CLKO: Sistēmas pulksteņa izeja OC1B: taimeris / skaitītājs1 salīdziniet spēles B izvadi ADC2: ADC ievades 2. kanāls |
4 |
GND |
Zemes tapa |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: SPI pamatdatu izvade / vergu datu ievade DI: USI datu ievade (trīs vadu režīms) SDA: USI datu ievade (divu vadu režīms) AIN0: analogais salīdzinātājs, pozitīvais ievads OC0A: taimeris / skaitītājs0 salīdzina atbilstības A izvadi AREF: ārējā analogā atsauce PCINT0: tapas maiņas pārtraukums 0, avots 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: SPI pamatdatu ievade / vergu datu izvade DO: USI datu izvade (trīs vadu režīms) AIN1: analogais salīdzinātājs, negatīvā ievade OC0B: taimeris / skaitītājs0 salīdzina spēles B izvadi OC1A: taimeris / skaitītājs1 salīdziniet spēles A izvadi PCINT1: tapas maiņas pārtraukums 0, 1. avots |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: sērijveida pulksteņa ievade USCK: USI pulkstenis (trīs vadu režīms) SCL: USI pulkstenis (divu vadu režīms) ADC1: ADC 1. ievades kanāls T0: taimeris / skaitītājs0 pulksteņa avots INT0: ārējā pārtraukuma 0 ievade PCINT2: tapas maiņas pārtraukums 0, avots 2 |
8 |
VCC |
Barošanas sprieguma tapa |
Mirgo Boot-loader vietnē ATtiny85, izmantojot Arduino Uno
Lai ieprogrammētu ATtiny85 bez Arduino, mums vispirms tajā būtu jāaugšupielādē sāknēšanas ielādētājs, izmantojot Arduino UNO dēli, tas ir vienreizējs process, un pēc tam, kad tas būs izdarīts, mums vairs nebūs vajadzīga UNO dēlis. Boot-loader ir īpaša programma, kas darbojas mikrokontrollerī un kas ir jāprogrammē. Viens no ērtākajiem veidiem, kā ielādēt programmas datus mikrokontrollerī, ir sāknēšanas iekrāvējs. Boot-loader sēž MCU un izpilda ienākošās instrukcijas, un pēc tam mikrokontrollera atmiņā raksta jaunu informāciju par programmu. Mirgojot sāknēšanas iekrāvēju mikrokontrollerī, vairs nav vajadzīga īpaša ārēja aparatūra (programmētāja dēļi), lai programmētu mikrokontrolleru, un jūs varēsiet to ieprogrammēt tieši, izmantojot USB savienojumu. Digispark ATtiny85dēlī darbojas “micronucleus tiny85” sāknēšanas iekrāvējs, kuru sākotnēji rakstīja Bluebie. Boot-loader ir kods, kas ir iepriekš ieprogrammēts Digispark un ļauj tam darboties kā USB ierīcei, lai to varētu ieprogrammēt Arduino IDE. Mēs arī gatavojamies mirgot to pašu digispark attiny85 bootloader vietnē ATtiny85.
Tālāk ir sniegts soli pa solim zibatmiņas sāknēšanas ielādētājs uz ATtiny85, izmantojot Arduino Uno un Arduino IDE:
1. solis: Arduino Uno konfigurēšana kā ISP:
Tā kā ATtiny85 ir tikai mikrokontrolleris, tam ir nepieciešams ieprogrammēt ISP (In-System Programming). Tātad, lai ieprogrammētu ATtiny85, mums vispirms ir jākonfigurē Arduino Uno kā ISP, lai tas darbotos kā ATtiny85 programmētājs. Lai to izdarītu, savienojiet Arduino Uno ar klēpjdatoru un atveriet Arduino IDE. Pēc tam dodieties uz Fails> Piemērs> ArduinoISP un augšupielādējiet Arduino ISP kodu.
2. solis: Ātrās sāknēšanas iekrāvēja mirgošanas shēma vietnē ATtiny85:
Pilna ATtiny85 mirgojošā sāknēšanas iekrāvēja shēma ir sniegta zemāk:
Starp Arduino atiestatīšanas un GND tapām ir pievienots 10 µf kondensators. Pilnīgi savienojumi ir norādīti zemāk esošajā tabulā:
ATtiny85 tapa |
Arduino Uno Pin |
Vcc |
5V |
GND |
GND |
2. tapa |
13 |
1. tapa |
12 |
Piespraude 0 |
11 |
Atiestatīt |
10 |
Tagad pievienojiet Arduino Uno klēpjdatoram un atveriet Arduino IDE. Atrodiet, ar kuru COM portu ir savienots Uno. Manā gadījumā tas ir COM5.
Pēc tam no norādītās saites lejupielādējiet ATtiny85 Boot-loader failus. Atveriet " Burn_AT85_bootloader.bat " un nomainiet COM porta numuru "PCOM5" ar jebkuru COM porta numuru, ar kuru ir savienots jūsu Uno. Saglabājiet izmaiņas pirms iziešanas.
Tagad pārvietojiet rediģētos failus " Burn_AT85_bootloader.bat " un " ATtiny85.hex " uz Arduino IDE saknes mapi (C: \ Program Files (x86) Arduino).
Pēc tam ar peles labo pogu noklikšķiniet uz “ Burn_AT85_bootloader.bat ” un atlasiet “Run as Admin”. Sāknēšanas iekrāvēja mirgošana ilgst apmēram 5 līdz 6 sekundes. Ja viss noritēja labi, jums vajadzētu saņemt šo ziņojumu "AVRdude izdarīts. Paldies. Nospiediet jebkuru taustiņu, lai turpinātu…".
Tādējādi Boot-loader tiek veiksmīgi instalēts mikroshēmā ATtiny85. Tagad ir pienācis laiks savienot USB ar ATtiny85, lai mēs to varētu tieši ieprogrammēt. Ķēdes shēma ATtiny85 programmēšanai caur USB ir sniegta zemāk:
Circuit diagramma ATtiny programmētājam
Shēma ir ņemta no Digispark ATtiny85 dēļu shēmas, bet, tā kā mēs domājam izveidot ATtiny85 programmētāju, mēs savienojam tikai Male USB Plug ar ATtiny85.
R3 ir pievilkšanas rezistors, kas ir savienots starp IC Vcc un PB3 tapām, kamēr Zener diodes (D1-D2) tiek pievienotas pilnīgai USB saskarnes aizsardzībai. Pēc visu komponentu lodēšanas uz perf plāksnes tas izskatīsies apmēram šādi:
Digispark draiveru instalēšana
Lai programmētu ATtiny85, izmantojot USB, klēpjdatorā jābūt instalētiem Digispark draiveriem, ja jums to nav, varat to lejupielādēt, izmantojot iepriekš norādīto saiti. Pēc tam izvelciet zip failu un veiciet dubultklikšķi uz lietojumprogrammas “ DPinst64.exe ”, lai instalētu draiverus.
Kad draiveri ir veiksmīgi instalēti, pievienojiet ATtiny85 paneli klēpjdatoram. Tagad dodieties uz ierīču pārvaldnieku savā Windows, un ATtiny85 ierīce tiks parādīta sadaļā “libusb-win32 ierīces” kā “Digispark Bootloader”. Ja ierīču pārvaldniekā nevarat atrast 'libusb-win32 ierīces', dodieties uz skatu un noklikšķiniet uz 'Rādīt slēptās ierīces'.
Arduino IDE iestatīšana, lai programmētu ATttiny85
Lai ieprogrammētu ATtiny85 Board ar Arduino IDE, vispirms mums Arduino IDE jāpievieno Digispark valdes atbalsts. Lai to izdarītu, dodieties uz Fails> Preferences un pievienojiet zemāk esošo saiti papildu dēļu pārvaldnieka vietrāžos URL un noklikšķiniet uz Labi.
Pēc tam dodieties uz rīki> Dēlis> Dēļu pārvaldnieks, meklējiet 'Digistump AVR' un instalējiet jaunāko versiju.
Pēc tā instalēšanas tagad Board izvēlnē varēsiet redzēt jaunu ierakstu ar nosaukumu 'Digispark'.
Tagad dodieties uz failu> Piemēri> Pamati un atveriet Blink piemēru.
Mainiet tur esošo PIN kodu no LED_BUILTIN uz 0.
Tagad atgriezieties pie Tools -> Board un atlasiet “ Digispark (Default - 16mhz) ” dēli. Pēc tam noklikšķiniet uz augšupielādes pogas Arduino IDE.
Piezīme: Pievienojiet ATtiny85 paneli datoram tikai tad, kad Arduino IDE parāda ziņojumu “Plugin device now”.
Kad kods ir augšupielādēts, jāsāk mirgot ar ATtiny85 savienotajai LED.
Šādi jūs varat izveidot savu ATtiny85 Arduino programmēšanas paneli. Darba video ar to pašu ir norādīts zemāk. Ja jums ir kādi jautājumi, atstājiet tos komentāru sadaļā. Ja rodas citi tehniski jautājumi, varat sākt diskusiju arī mūsu forumos.