Arduino ATMEGA328 SMD Breadboard User Manual
Tapos naview
Ang Arduino Uno ay isang microcontroller board batay sa ATmega328 (datasheet). Mayroon itong 14 digital input/output pin (kung saan 6 ay maaaring gamitin bilang PWM output), 6 analog input, 16 MHz crystal oscillator, USB connection, power jack, ICSP header, at reset button. Naglalaman ito ng lahat ng kailangan upang suportahan ang microcontroller; ikonekta lang ito sa isang computer gamit ang isang USB cable o paandarin ito gamit ang isang AC-to-DC adapter o baterya upang makapagsimula. Ang Uno ay naiiba sa lahat ng naunang board dahil hindi nito ginagamit ang FTDI USB-to-serial driver chip. Sa halip, nagtatampok ito ng Atmega8U2 na naka-program bilang isang USB-to-serial converter. Ang ibig sabihin ng "Uno" ay isa sa Italyano at pinangalanan upang markahan ang paparating na paglabas ng Arduino 1.0. Ang Uno at bersyon 1.0 ang magiging reference na bersyon ng Arduino, sa pasulong. Ang Uno ay ang pinakabago sa isang serye ng mga USB Arduino board, at ang reference na modelo para sa Arduino platform; para sa paghahambing sa mga nakaraang bersyon, tingnan ang index ng Arduino boards.
Buod
- Microcontroller ATmega328
- Ang Operating Voltage 5V
- Input Voltage (inirerekomenda) 7-12V
- Input Voltage (mga limitasyon) 6-20V
- Digital I/O Pins 14 (kung saan 6 ang nagbibigay ng PWM output)
- Mga Analog Input Pin 6
- DC Current bawat I/O Pin 40 mA
- DC Current para sa 3.3V Pin 50 mA
- Flash Memory 32 KB (ATmega328) kung saan 0.5 KB ang ginagamit ng bootloader
- SRAM 2 KB (ATmega328)
- EEPROM 1 KB (ATmega328)
- Bilis ng Orasan 16 MHz
Schematic at Reference Design
Agila files: Arduino-uno-reference-design.zip
Schematic: arduino-uno-schematic.pdf
kapangyarihan
Ang Arduino Uno ay maaaring paandarin sa pamamagitan ng isang koneksyon sa USB o sa isang panlabas na supply ng kuryente. Awtomatikong pinipili ang kapangyarihan ng pinagmulan. Ang panlabas (hindi USB) na kapangyarihan ay maaaring magmula sa isang AC-to-DC adapter (wall-wart) o isang baterya. Maaaring ikonekta ang adapter sa pamamagitan ng pagsaksak ng 2.1mm center-positive na plug sa power jack ng board. Ang mga lead mula sa isang baterya ay maaaring ipasok sa Gnd at Vin pin header ng POWER connector. Ang board ay maaaring gumana sa isang panlabas na supply ng 6 hanggang 20 volts. Kung ibinibigay sa mas mababa sa 7V, gayunpaman, ang 5V pin ay maaaring magbigay ng mas mababa sa limang volts at ang board ay maaaring hindi matatag. Kung gumagamit ng higit sa 12V, ang voltage regulator ay maaaring mag-overheat at masira ang board. Ang inirekumendang saklaw ay 7 hanggang 12 volts.
Ang mga power pin ay ang mga sumusunod:
- VIN. Ang input voltage sa Arduino board kapag gumagamit ito ng panlabas na pinagmumulan ng kuryente (kumpara sa 5 volts mula sa USB connection o iba pang regulated power source). Maaari kang magbigay ng voltage sa pamamagitan ng pin na ito, o, kung nagbibigay ng voltage sa pamamagitan ng power jack, i-access ito sa pamamagitan ng pin na ito.
- 5V. Ang regulated power supply ay ginagamit upang paganahin ang microcontroller at iba pang mga bahagi sa board. Maaari itong magmula sa VIN sa pamamagitan ng on-board regulator, o maibigay ng USB o isa pang regulated 5V supply.
- 3V3. Ang isang 3.3-volt na supply ay nabuo ng onboard regulator. Ang maximum na kasalukuyang draw ay 50 mA.
- GND. Mga pin sa lupa.
Alaala
Ang ATmega328 ay may 32 KB (na may 0.5 KB na ginagamit para sa bootloader). Mayroon din itong 2 KB ng SRAM at 1 KB ng EEPROM (na maaaring basahin at isulat sa EEPROM library).
Input at Output
Ang bawat isa sa 14 na digital na pin sa Uno ay maaaring gamitin bilang input o output, gamit ang pinMode(), digitalWrite(), at digitalRead() function. Gumagana sila sa 5 volts. Ang bawat pin ay maaaring magbigay o tumanggap ng maximum na 40 mA at may panloob na pull-up resistor (nakadiskonekta bilang default) na 20-50 kOhms. Bilang karagdagan, ang ilang mga pin ay mayroon
mga espesyal na pag-andar:
- Serial: 0 (RX) at 1 (TX). Ginagamit upang makatanggap ng (RX) at magpadala ng (TX) TTL serial data. Ang mga pin na ito ay konektado sa mga kaukulang pin ng ATmega8U2 USB-to-TTL Serial chip.
- Mga Panlabas na Interrupt: 2 at 3. Maaaring i-configure ang mga pin na ito upang mag-trigger ng interrupt sa mababang halaga, tumataas o bumabagsak na gilid, o pagbabago sa halaga. Tingnan ang attachInterrupt() function para sa mga detalye.
- PWM: 3, 5, 6, 9, 10, at 11. Magbigay ng 8-bit na PWM na output na may analogWrite() function.
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Sinusuportahan ng mga pin na ito ang komunikasyon ng SPI gamit ang SPI library.
- LED: 13. May built-in na LED na konektado sa digital pin 13. Kapag HIGH value ang pin, naka-on ang LED, kapag LOW ang pin, naka-off ito.
Ang Uno ay may 6 na analog input, na may label na A0 hanggang A5, na ang bawat isa ay nagbibigay ng 10 bits ng resolution (ibig sabihin, 1024 iba't ibang mga halaga). Bilang default, sinusukat nila mula sa lupa hanggang 5 volts, bagaman posible bang baguhin ang itaas na dulo ng kanilang hanay gamit ang AREF pin at ang analogReference() function? Bilang karagdagan, ang ilang mga pin ay may espesyal na pag-andar:
- I2C: 4 (SDA) at 5 (SCL). Suportahan ang I2C (TWI) na komunikasyon gamit ang Wire library. Mayroong ilang iba pang mga pin sa board:
- AREF. Sanggunian voltage para sa mga analog input. Ginamit sa analogReference().
- I-reset. Dalhin ang linyang ito LOW para i-reset ang microcontroller. Karaniwang ginagamit upang magdagdag ng pindutan ng pag-reset sa mga kalasag na humaharang sa isa sa board.
- Tingnan din ang pagmamapa sa pagitan ng mga Arduino pin at ATmega328 port?.
Komunikasyon
Ang Arduino UNO ay may ilang mga pasilidad para sa pakikipag-usap sa isang computer, isa pang Arduino, o iba pang microcontroller. Ang ATmega328 ay nagbibigay ng UART TTL (5V) serial communication, na available sa digital pins 0 (RX) at 1 (TX). Ang isang ATmega8U2 sa board ay dinadala ang serial communication na ito sa USB at lumalabas bilang isang virtual com port sa software sa computer. Ang '8U2 firmware ay gumagamit ng karaniwang USB COM driver at walang panlabas na driver ang kailangan. Gayunpaman, sa Windows, isang .inf file ay kinakailangan. Ang Arduino software ay may kasamang serial monitor na nagbibigay-daan sa simpleng textual data na maipadala sa at mula sa Arduino board. Ang RX at TX LEDs sa board ay magki-flash kapag ang data ay ipinapadala sa pamamagitan ng USB-to-serial chip at USB na koneksyon sa computer (ngunit hindi para sa serial communication sa mga pin 0 at 1). Ang isang SoftwareSerial library ay nagbibigay-daan para sa serial communication sa alinman sa mga digital pin ng Uno. Sinusuportahan din ng ATmega328 ang komunikasyon ng I2C (TWI) at SPI. Ang Arduino software ay may kasamang Wire library para gawing simple ang paggamit ng I2C bus; tingnan ang dokumentasyon para sa mga detalye. Para sa komunikasyon ng SPI, gamitin ang SPI library.
Programming
Ang Arduino Uno ay maaaring i-program gamit ang Arduino software (pag-download). Piliin ang “Arduino Uno mula sa Tools > Board menu (ayon sa microcontroller sa iyong board). Para sa mga detalye, tingnan ang sanggunian at mga tutorial. Ang ATmega328 sa Arduino Uno ay pre-burned na may bootloader na nagbibigay-daan sa iyong mag-upload ng bagong code dito nang hindi gumagamit ng external na hardware programmer. Nakikipag-usap ito gamit ang orihinal na STK500 protocol (reference, C header files). Maaari mo ring i-bypass ang bootloader at i-program ang microcontroller sa pamamagitan ng ICSP (In-Circuit Serial Programming) header; tingnan ang mga tagubiling ito para sa mga detalye. Available ang ATmega8U2 firmware source code. Ang ATmega8U2 ay puno ng isang DFU bootloader, na maaaring i-activate sa pamamagitan ng pagkonekta sa solder jumper sa likod ng board (malapit sa mapa ng Italy) at pagkatapos ay i-reset ang 8U2. Maaari mong gamitin ang FLIP software ng Atmel (Windows) o ang DFU programmer (Mac OS X at Linux) upang mag-load ng bagong firmware. O maaari mong gamitin ang ISP header na may panlabas na programmer (patungan ang DFU bootloader). Tingnan ang tutorial na ito na iniambag ng user para sa higit pang impormasyon.
Awtomatikong (Software) I-reset
Sa halip na mangailangan ng pisikal na pagpindot sa pindutan ng pag-reset bago ang pag-upload, ang Arduino Uno ay idinisenyo sa paraang nagbibigay-daan ito upang ma-reset ng software na tumatakbo sa isang konektadong computer. Isa sa mga hardware flow control lines (DTR) ng ATmega8U2 ay konektado sa reset line ng ATmega328 sa pamamagitan ng 100 nano farad capacitor. Kapag ang linyang ito ay iginiit (kinuha nang mababa), ang reset line ay bumaba nang sapat upang i-reset ang chip. Ginagamit ng Arduino software ang kakayahang ito upang payagan kang mag-upload ng code sa pamamagitan lamang ng pagpindot sa upload button sa kapaligiran ng Arduino. Nangangahulugan ito na ang bootloader ay maaaring magkaroon ng mas maikling timeout, dahil ang pagbaba ng DTR ay maaaring maayos na maiugnay sa pagsisimula ng pag-upload.
May iba pang implikasyon ang setup na ito. Kapag nakakonekta ang Uno sa alinman sa isang computer na nagpapatakbo ng Mac OS X o Linux, nagre-reset ito sa tuwing may gagawing koneksyon dito mula sa software (sa pamamagitan ng USB). Para sa susunod na kalahating segundo o higit pa, tumatakbo ang bootloader sa Uno. Bagama't naka-program na huwag pansinin ang maling nabuong data (ibig sabihin, anuman maliban sa pag-upload ng bagong code), haharangin nito ang unang ilang byte ng data na ipinadala sa board pagkatapos mabuksan ang isang koneksyon. Kung ang isang sketch na tumatakbo sa board ay tumatanggap ng isang beses na pagsasaayos o iba pang data sa unang pagsisimula nito, tiyaking ang software kung saan ito nakikipag-ugnayan ay naghihintay ng isang segundo pagkatapos buksan ang koneksyon at bago ipadala ang data na ito. Ang Uno ay naglalaman ng isang bakas na maaaring putulin upang hindi paganahin ang auto-reset. Ang mga pad sa magkabilang gilid ng bakas ay maaaring pagsamahin upang muling paganahin ito. Ito ay may label na "RESET-EN". Maaari mo ring i-disable ang auto-reset sa pamamagitan ng pagkonekta ng 110-ohm resistor mula 5V sa linya ng pag-reset; tingnan ang forum thread na ito para sa mga detalye.
USB Overcurrent na Proteksyon
Ang Arduino Uno ay may na-reset na poly fuse na nagpoprotekta sa mga USB port ng iyong computer mula sa shorts at overcurrent. Bagama't ang karamihan sa mga computer ay nagbibigay ng kanilang sariling panloob na proteksyon, ang fuse ay nagbibigay ng karagdagang layer ng proteksyon. Kung higit sa 500 mA ang inilapat sa USB port, awtomatikong sisirain ng fuse ang koneksyon hanggang sa maalis ang short o overload.
Mga Katangiang Pisikal
Ang maximum na haba at lapad ng Uno PCB ay 2.7 at 2.1 pulgada ayon sa pagkakabanggit, na may USB connector at power jack na lumalampas sa dating dimensyon. Ang apat na butas ng tornilyo ay nagpapahintulot sa board na ikabit sa isang ibabaw o kaso. Tandaan na ang distansya sa pagitan ng mga digital na pin 7 at 8 ay 160 mil (0.16″), hindi pantay na multiple ng 100 mil spacing ng iba pang mga pin.
Disenyo ng Sanggunian ng Arduino UNO
Ang Mga Disenyo ng Sanggunian AY IBINIGAY “AS IS” AT “WITH ALL FAULTS”. ITINANGGI NG Arduino ang LAHAT NG IBA PANG WARRANTY, PAHAYAG O IPINAHIWATIG, maaaring gumawa ang Arduino ng mga pagbabago sa mga detalye at paglalarawan ng produkto anumang oras, nang walang abiso. Hindi dapat ituring ng Customer ang MGA PRODUKTO, KASAMA NGUNIT HINDI LIMITADO SA, ANUMANG IPINAHIWATIT NA WARRANTY NG KAKAYAHAN O KAANGKUPAN PARA SA ISANG PARTIKULAR NA LAYUNIN umaasa sa kawalan o mga katangian ng anumang mga tampok o tagubilin na may markang "nakareserba" o "hindi natukoy." Inilalaan ng Arduino ang mga ito para sa kahulugan sa hinaharap at hindi magkakaroon ng anumang pananagutan para sa mga salungatan o hindi pagkakatugma na nagmumula sa mga pagbabago sa hinaharap sa kanila. Ang impormasyon ng produkto sa Web Maaaring magbago ang Site o Materials nang walang abiso. Huwag tapusin ang isang disenyo gamit ang impormasyong ito.
Pag-download ng PDF: Arduino ATMEGA328 SMD Breadboard User Manual