- Kinakailangan ang Mga Sangkap sa Program ATtiny85 sa pamamagitan ng USB
- ATtiny85 Microcontroller IC - Panimula
- Flashing Boot-loader sa ATtiny85 Gamit ang Arduino Uno
- Circuit Diagram para sa ATtiny Programmer
- Pag-install ng Mga Digispark Driver
- Pagse-set up ng Arduino IDE sa Program ATttiny85
Ang pamilyang ATtiny ay isang serye ng isa sa pinakamaliit na microcontrollers sa AVR market. Ang mga microcontroller na ito ay may kakayahang gumamit ng maraming mga silid aklatan na magagamit sa platform ng Arduino. Ang ATtiny85 microcontroller chip ay 8-pin, 8-bit, AVR microcontroller. Ang maliit na sukat at mababang paggamit ng kuryente ay ginagawang isang mahusay na tugma para sa mga portable na proyekto na may maliit na mga yapak at mababang mga kinakailangan sa lakas. Ngunit ang pagkuha ng iyong code sa chip ay maaaring maging isang maliit na hamon dahil wala itong anumang interface ng USB tulad ng mga board ng microcontroller.
Sa aming nakaraang tutorial, pinrograma namin ang ATtiny85 gamit ang Arduino Uno. Ngunit ang pagkonekta sa Attiny85 sa Arduino at paggamit ng Arduino bilang ISP ay maaaring maging mahirap at gugugol ng oras. Kaya sa tutorial na ito, magtatayo kami ng isang ATtiny85 Programming board, upang direktang mai-plugin at mai-program namin ito tulad ng iba pang mga board ng microcontroller.
Kinakailangan ang Mga Sangkap sa Program ATtiny85 sa pamamagitan ng USB
- Arduino UNO (Sa kauna-unahang pagkakataon lamang habang nag-a-upload ng bootloader)
- ATtiny85 IC
- USB A-type na Plug Lalaki
- 3 Mga Resistor (2 × 47Ω & 1 × 1kΩ)
- 3 Diode (2 × Zener Diode & 1 × IN5819 Diode)
- 8-Pin IC Base
- Breadboard
- Jumper Wires
ATtiny85 Microcontroller IC - Panimula
Ang Atmel's ATtiny85 ay isang mataas na pagganap, mababang lakas na 8-bit microcontroller batay sa Advanced RISC Architecture. Nagtatampok ang chip ng microcontroller na ito ng 8KB ISP flash memory, 512B EEPROM, 512-Byte SRAM, 6 na pangkalahatang layunin na mga linya ng I / O, 32 pangkalahatang layunin na nagtatrabaho na mga rehistro, isang 8-bit timer / counter na may mga mode na ihambing, isang 8-bit na may bilis na mabilis timer / counter, USI, panloob at panlabas na Mga Pagkagambala, 4-channel 10-bit A / D converter, programmable watchdog timer na may panloob na oscillator, tatlong software na maaaring piliin ng mga mode sa pag-save ng kuryente, at debugWIRE para sa pag-debug ng on-chip. Ang ATtiny85 Pinout ay ibinibigay sa ibaba:
Karamihan sa mga pin na I / O ng maliit na tilad ay mayroong higit sa isang pagpapaandar. Ang paglalarawan ng ATtiny85 pin para sa bawat pin ay ibinibigay sa ibaba ng talahanayan:
Pin No. |
Pangalan ng Pin |
Paglalarawan ng Pin |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Baguhin Nakagambala 0, Source5 I-RESET: I-reset ang Pin ADC0: ADC Input Channel 0 dW: debug WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Pin Change Interrupt 0, Source3 XTAL1: Crystal Oscillator Pin1 CLKI: External Cput Input ADC3: ADC Input Channel 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Pin Change Interrupt 0, Source 4 XTAL2: Crystal Oscillator Pin 2 CLKO: Output ng Clock ng System OC1B: Timer / Counter1 Paghambingin ang Match B Output ADC2: ADC Input Channel 2 |
4 |
GND |
Ground Pin |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: Paglabas ng Data ng Master ng SPI / Pag-input ng Slave Data DI: USI Data Input (Tatlong Wire Mode) SDA: USI Data Input (Two Wire Mode) AIN0: Analog Comparator, Positive Input OC0A: Timer / Counter0 Paghambingin ang Tugma Isang output AREF: Panlabas na Sanggunian sa Analog PCINT0: Pin Change Interrupt 0, Source 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: Input ng Data ng SPI Master / Paglabas ng Data ng Alipin GAWIN: USI Data Output (Tatlong Wire Mode) AIN1: Analog Comparator, Negative Input OC0B: Timer / Counter0 Paghambingin ang Match B Output OC1A: Timer / Counter1 Paghambingin ang Tugma Isang Output PCINT1: Pin Change Interrupt 0, Source 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Input ng Serial Clock USCK: USI Clock (Tatlong Wire Mode) SCL: USI Clock (Two Wire Mode) ADC1: ADC Input Channel 1 T0: Pinagmulan ng Timer / Counter0 Clock INT0: External Interrupt 0 Input PCINT2: Pin Change Interrupt 0, Source 2 |
8 |
VCC |
Supply Boltahe Pin |
Flashing Boot-loader sa ATtiny85 Gamit ang Arduino Uno
Para sa pagprogram ng ATtiny85 nang walang Arduino, kakailanganin muna naming mag-upload ng isang bootloader dito gamit ang isang Arduino UNO board, ito ay isang beses na proseso at pagkatapos na ito ay tapos na, hindi na namin kakailanganin muli ang board ng UNO. Ang Boot-loader ay isang espesyal na programa na tumatakbo sa microcontroller na kailangang mai-program. Ang isa sa mga pinaka maginhawang paraan upang mai-load ang iyong data sa programa sa microcontroller ay sa pamamagitan ng isang boot-loader. Ang Boot-loader ay nakaupo sa MCU at isinasagawa ang mga papasok na tagubilin, at pagkatapos ay nagsusulat ng bagong impormasyon ng programa sa memorya ng microcontroller. Ang pag-flash ng isang boot-loader sa isang microcontroller ay inaalis ang pangangailangan para sa mga espesyal na panlabas na hardware (Programmer Boards) upang mai-program ang microcontroller at magagawa mong i-program ito nang direkta gamit ang isang koneksyon sa USB. Ang Digispark ATtiny85ang board ay nagpapatakbo ng "micronucleus tiny85" boot-loader, na orihinal na isinulat ng Bluebie. Ang boot-loader ay ang code na paunang naka-program sa Digispark at pinapayagan itong kumilos bilang isang USB aparato upang mai-program ito ng Arduino IDE. Kami rin ay mag-flash ng parehong digispark attiny85 bootloader sa ATtiny85.
Isang hakbang-hakbang na gabay sa flash bootloader papunta sa ATtiny85 gamit ang Arduino Uno at Arduino IDE ay ibinibigay sa ibaba:
Hakbang1: Pag-configure sa Arduino Uno bilang isang ISP:
Dahil ang ATtiny85 ay isang microcontroller lamang, nangangailangan ito ng isang ISP (In-System Programming) na mai-program. Kaya upang mai-program ang ATtiny85, kailangan muna nating i-configure ang Arduino Uno bilang ISP upang kumilos bilang isang programmer para sa ATtiny85. Para doon, ikonekta ang Arduino Uno sa Laptop at buksan ang Arduino IDE. Pagkatapos nito, mag-navigate sa File> Halimbawa> ArduinoISP at i-upload ang Arduino ISP code.
Hakbang 2: Circuit Diagram para sa Flashing Boot-loader sa ATtiny85:
Ang kumpletong eskematiko para sa Flashing Boot-loader sa ATtiny85 ay ibinibigay sa ibaba:
Ang isang 10 capacf capacitor ay konektado sa pagitan ng Reset at GND pin ng Arduino. Ang kumpletong mga koneksyon ay ibinibigay sa talahanayan sa ibaba:
ATtiny85 Pin |
Arduino Uno Pin |
Vcc |
5V |
GND |
GND |
Pin 2 |
13 |
Pin 1 |
12 |
I-pin 0 |
11 |
I-reset |
10 |
Ngayon plug-in ang Arduino Uno sa laptop at buksan ang Arduino IDE. Hanapin kung kumonekta sa COM port ang Uno. Sa aking kaso, ito ay COM5.
Pagkatapos nito, i-download ang mga file na ATtiny85 Boot-loader mula sa ibinigay na link. Buksan ang " Burn_AT85_bootloader.bat " at palitan ang numero ng COM port na "PCOM5" sa anumang numero ng COM port na nakakonekta sa iyong Uno. I-save ang mga pagbabago bago lumabas.
Ngayon ilipat ang nai-edit na " Burn_AT85_bootloader.bat " at " ATtiny85.hex " na mga file sa root folder ng Arduino IDE (C: \ Program Files (x86) Arduino).
Pagkatapos nito, mag-right click sa " Burn_AT85_bootloader.bat " at piliin ang "Run as Admin". Tumatagal ito ng humigit-kumulang 5 hanggang 6 na segundo upang mai-flash ang boot-loader. Kung naging maayos ang lahat, dapat mong matanggap ang mensaheng ito na "AVRdude tapos. Salamat. Pindutin ang anumang key upang magpatuloy…".
Sa pamamagitan nito, matagumpay na na-install ang Boot-loader sa ATtiny85 Chip. Ngayon ay oras na upang ikonekta ang USB sa ATtiny85 upang mai-program namin ito nang direkta. Ang circuit diagram para sa pag- program ng ATtiny85 sa pamamagitan ng USB ay ibinibigay sa ibaba:
Circuit Diagram para sa ATtiny Programmer
Ang eskematiko ay kinuha mula sa eskematiko ng board ng Digispark ATtiny85 ngunit hangarin naming bumuo ng isang programmer para sa ATtiny85, kumokonekta lamang kami sa Male USB Plug sa ATtiny85.
Ang R3 ay isang pull-up risistor na konektado sa pagitan ng Vcc at PB3 na mga pin ng IC habang ang Zener Diodes (D1-D2) ay idinagdag para sa kabuuang proteksyon ng interface ng USB. Matapos ang paghihinang ng lahat ng mga bahagi sa perf board, magkakaroon ito ng hitsura sa ibaba:
Pag-install ng Mga Digispark Driver
Upang mai-program ang ATtiny85 gamit ang USB, dapat ay mayroon kang naka-install na Digispark Drivers sa iyong laptop, kung wala ka sa kanila, maaari mo itong i-download gamit ang link na ibinigay sa itaas. Pagkatapos, kunin ang zip file at i-double click sa application na " DPinst64.exe " upang mai-install ang mga driver.
Kapag matagumpay na na-install ang mga driver, I-plug ang iyong ATtiny85 board sa laptop. Pumunta ngayon sa Device Manager sa iyong Windows at ang aparato ng ATtiny85 ay nakalista sa ilalim ng "mga aparato ng libusb-win32" bilang "Digispark Bootloader". Kung hindi mo mahahanap ang 'libusb-win32 na mga aparato' sa tagapamahala ng aparato, pagkatapos ay pumunta sa Tingnan at mag-click sa 'Ipakita ang mga nakatagong Mga Device.'
Pagse-set up ng Arduino IDE sa Program ATttiny85
Upang ma-program ang ATtiny85 Board na may Arduino IDE, una, kailangan naming idagdag ang Suporta sa board ng Digispark sa Arduino IDE. Para doon, pumunta sa File> Mga Kagustuhan at idagdag ang link sa ibaba sa Mga Karagdagang Mga Tagapamahala ng URL ng URL at i-click ang 'OK.'
Pagkatapos nito, pumunta sa mga tool> Board> Board Manager at hanapin ang 'Digistump AVR' at i-install ang pinakabagong bersyon.
Pagkatapos i-install ito, makakakita ka ngayon ng isang bagong entry sa menu ng Board na pinamagatang 'Digispark'.
Ngayon, pumunta sa file> Mga Halimbawa> Mga Pangunahing Kaalaman at buksan ang halimbawa ng Blink.
Palitan ang pin number doon mula sa LED_BUILTIN patungong 0.
Bumalik ngayon sa Mga Tool -> Lupon at piliin ang board na " Digispark (Default - 16mhz) ". Pagkatapos mag-click sa pindutan ng pag-upload sa Arduino IDE.
Tandaan: Ikonekta ang board ng ATtiny85 sa computer, kapag ang Arduino IDE ay nagpapakita ng isang mensahe na nagsasabing "Plugin device now".
Kapag na-upload na ang code, ang LED na nakakonekta sa ATtiny85 ay dapat magsimulang kumurap.
Ito ay kung paano ka makakabuo ng iyong sariling ATtiny85 Arduino Programming board. Ang isang gumaganang video ng pareho ay ibinibigay sa ibaba. Kung mayroon kang anumang mga katanungan, iwanan ang mga ito sa seksyon ng komento. Para sa anumang iba pang mga teknikal na katanungan, maaari mo ring simulan ang isang talakayan sa aming mga forum.