Mine sisu juurde

Arduino

Allikas: Vikipeedia
Redaktsioon seisuga 29. november 2011, kell 22:17 kasutajalt H.Madis (arutelu | kaastöö) (Uus lehekülg: '300px|thumb|Pilt Arduino IDEst, mis näitab vilgutamise programmi thumb|Arduino microcontroller size comparison Ar...')
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)
Pilt Arduino IDEst, mis näitab vilgutamise programmi
Arduino microcontroller size comparison

Arduino on avatud lähtekoodiga ühe plaadi mikrokontroller, mis on disainitud elektroonika kasutamis protsessi multidistsiplinaarsetes projektides rohkem kättesaadavaks. Riistvara koosneb lihtsast vaba riistvara disainist Arduino plaadile, milles on Atmel AVR protsessor ja plaadil olev sisend ja väljund tugi. Tarkvara koosneb standardsest programmeerimis keele kompilaatorist ja alglaadehaldurist, mis töötab plaadil.

Arduino on Wiring platvormi järglane ning tema riistvara on programmeeritud kasutades Processingul põhinevat integreeritud arenduskeskkonda ning Wiringul põhinevat keelt ( süntaks ja teegid ). Tegu on C++ sarnase keelega mõne muudatuse ja lihtsustusega.

Hetke versioone on võimalik osta eelnevalt kokku pandult; riistvara disaini informatsioon on saadaval neile kes soovivad ise kokku panna Arduino käsitsi. Lisaks on olemas erinevaid variatsioone itaallaste tehtud Arduinost, mis on erinevate ühilduvuste tasemetaga. Mõned neist on programmeeritud kasutades tavapärase Arduino tarkvara.

Arduino projekt sai 2006. aasta Prix Ars Elektroonika autasustamisel aulise tähelepanu digitaalsete kogukondade kategoorias.

Ajalugu

Projekt algas 2005. aastal Itaalia linnas nimega Ivrea ( Olivetti nimelise arvuti firma poolt ), et luua seade, millega oleks võimalik odavamalt kontrollida õpilaste ehitatud disaini projekte kui teiste sellel ajal saadavate süsteemidega. 2010. aasta veebruariks oli müüdud enam kui 120 000 Arduino plaati. Arduino loojad Massimo Banzi ja David Cuartielles nimetasid projekti Ivrea Arduini järgi, kes oli linna põhiline ajalooline tegelane. „Arduino“ on mehelik itaaliapärane eesnimi, mille tähendus on „tugev sõber“.

Arduino loojad võtsid alguses avatud lähtekoodiga Wiring platvormi ning hakkasid seda edasi arendama, luues sellega täiesti iseseisva projekti. Wiringu loodi Kolumbia programmeerija ja kunstniku Hernando Barragán poolt magistritööna. Selle kaasloojaks oli Diego Gonzalez Joven, kes oli Mehhikost pärit elektri inseneer. Nende juhendajaks olid Massimo Banzi ja Casey Reas. Wiring põhineb Processing programmeerimis keelel ja selle integreeritud arenduskeskkond loodi Casey Reas-e ja Ben Fry poolt.

Platvorm

Riistvara

Arduino plaat koosneb 8-bitisest Atmel AVR mikrokontrollerist koos täiendavate komponentidega, et lihtsustada programmeerimist ja ühilduvust teiste kiipidega. Arduino tähtsaks osaks on see, et tema ühendused on avatud, lubades CPU plaati ühendada mitmesugusesse vahetatavasse lisand moodulise, mida nimetatakse kilpideks. Ametlikud Arduinod on kasutanud megaAVR seeria kiipe, täpsemalt Atmega8, Atmega168, Atmega328, Atmega1280 ja Atmega2560. Ainult käputäis teisi protsessoreid on kasutatud Arduino jaoks. Enamus plaate sisaldavad 5 voldist lineaar regulaatorit ja 16 MHz-st kristall ostsillaatorit, kuigi mõned disainid, nagu näiteks LilyPad, jooksevad 8 MHz peal ja ilma plaadil oleva volti regulaatorita, mis on tingitud kuju piirangutest. Arduino mikrokontroller on eelprogrammeeritud alglaadehalduriga, mille tööks on lihtsustada programmide üleslaadimist kiibil olevale flash mälule võrreldes teiste seadmetega, mis nõuavad tavaliselt välist programmerijat.

Kontseptuaalsel tasemel kasutades Arduino tarkvara, programmeeritakse tavaliselt kõik plaadid üle RS-232 järjestikliidese, aga selle rakendusmeetodid võivad varieeruda erinevate riistvara versioonidel. Praegused Arduino plaadid programmeeritakse läbi USB, mis on võimalik tänu paigaldatud kiipidele nagu näiteks FTDI FT232. Mõned mudelid, nagu näiteks Arduino Mini ja mitteametlik Boarduino, kasutavad eemaldatavat USB-jada adapter plaati või kaablit, bluetoothi või teisi meetode.

Arduino plaadi mudelid

Arduino Protsessor Flash
KiB
EEPROM
KiB
SRAM
KiB
Digitaalne I/O
viik

PWMga
Analoog sisend
viik
USB liidese
tüüp
Mõõtmed
tollides
Mõõtmed
mm
Diecimila ATmega168 16 0.5 1 14 6 6 FTDI 2.7 “ × 2.1 “ 68.6 mm × 53.3 mm
Due ATMEL SAM3U 256 0 50 54 4 16
Duemilanove ATmega168/328P 16/32 0.5/1 1/2 14 6 6 FTDI 2.7 “ × 2.1 “ 68.6 mm × 53.3 mm
Uno ATmega328P 32 1 2 14 6 6 ATmega8U2 2.7 “ × 2.1 “ 68.6 mm × 53.3 mm
Leonardo Atmega32u4 32 1 2 14 6 12 Atmega32u4 2.7 “ × 2.1 “ 68.6 mm × 53.3 mm
Mega ATmega1280 128 4 8 54 14 16 FTDI 4 “ × 2.1 “ 101.6 mm × 53.3 mm
Mega2560 ATmega2560 256 4 8 54 14 16 ATmega8U2 4 “ × 2.1 “ 101.6 mm × 53.3 mm
Fio ATmega328P 32 1 2 14 6 8 Puudub 1.6 “ × 1.1 “ 40.6 mm × 27.9 mm
Nano ATmega168 või ATmega328 16/32 0.5/1 1/2 14 6 8 FTDI 1.70 “ × 0.73 “ 43 mm × 18 mm
LilyPad ATmega168V või ATmega328V 16 0.5 1 14 6 6 Puudub 2 “ ⌀ 50 mm ⌀

Tarkvara

Arduino integreeritud programmeerimiskeskkond on platvormivaheline Javas kirjutatud rakendus ning on tuletatud Processing programmeerimis keele ja Wiring projekti integreeritud programmeerimiskeskkondadest. See on disainitud nii, et seda saaks kasutada disainerid ja muud isikud, kes on tarkvaraarenduses vähekogenud. See sisaldab koodi redigeerijat, mille iseärasusteks on näiteks süntaksi esiletoomine ja sulgude kokkuviimine ning on suuteline kompileerima ja üleslaadima programme plaadile ühe hiire klõpsuga.

Arduiino IDEga on kaasas C/C++ teek nimega „Wiring“, mis muudab paljud tavalised sisend/väljund operatsioonid palju lihtsamaks. Arduino programmid on kirjutatud C/C++-s, kuigi kasutajad peavad defineerima ainult kaks funktsiooni, et luua jooksev programm:

  • setup() – funktsioon mis töötab korra programmi alguses ning lähtestab seadmed
  • loop() – funktsioon mis kutsutakse korduvalt esile kuni plaat välja lülitatakse

Tüüpiline esma programm mikrokontrollerile lihtsalt vilgutab LEDi põlema ja kustu. Arduino keskkonnas võib kasutaja kirjutada midagi sellist:


#defineeri LED_PIN 13

void setup () {
    pinMode (LED_PIN, OUTPUT);     // sea viik 13 digitaalseks väljundiks
}

void loop () {
    digitalWrite (LED_PIN, HIGH);  // pane LED põlema
    delay (1000);                  // oota üks sekund (1000 millisekundit)
    digitalWrite (LED_PIN, LOW);   // kustuta LED
    delay (1000);                  // oota üks sekund
}


Selle koodi töötamiseks on vaja, et positiivne LEDi pool oleks ühendatud 13 viiguga ja negatiivne LEDi pool peab olema ühendatud maandusega. See programm ei oleks standard C++ kompilaatori jaoks sobilik programm ja seega kui kasutaja vajutab „Lae I/O plaadile“ nuppu IDEs, koodi koopia kirjutatakse ajutisse faili lisa päise ja väga lihtsa main() funktsiooniga lõppu, et muuta see sobilikuks C++ programmiks.

Ametlik riistvara

Originaalne Arduino riistvara toodetakse Itaalia firma Smart Projects poolt. Mõned Arduino tootemärgiga plaadid on disainitud Ameerika firma SparkFun Electronics poolt. Kolmteist arduino riistvara versiooni on kaubanduslikult toodetud tänase päevani.

  1. Serial Arduino - programmeeritud kasudates DE-9 jada ühendust ja ATmega8
  2. Arduino Extreme - USB liidesega programmeerimiseks ja ATmega8
  3. Arduino Mini - miniatuurne Arduino versioon, mis kasutab pinnale paigutatud ATmega168
  4. Arduino Nano - veel väiksem versioon kui Arduino Mini. USB toitega Arduino, mis kasutab pinnale paigutatud Atmega168 (uuematel versioonidel ka ATmega328).
  5. Lilypad Ardunio - minimaalse disainiga kaasaskantav rakendus, mis kasutab pinnale paigutatud ATmega168
  6. Arduino NG - USB liides programmeerimiseks ja ATmega8
  7. Ardunio NG plus - USB liides programmeerimiseks ja ATmega168
  8. Arduino Bluetooth - Bluetooth liides programmeerimiseks ja ATmega168
  9. Arduino Diecimila - USB liides ja kasutab ATmega168 DIL28 paketis.
  10. Arduino Duemilanove – kasutab ATmega168 (ATmega328 uuemates versioonides) ja on USB/DC toitega, vahetades automaatselt.
  11. Ardunio Mega – kasutab pinnale paigutatud ATmega1280 lisa sisendite ja väljundite ning mälu jaoks.
  12. Arduino Uno – kasutab Atmega328 ning ATmega8U2 seeria muundurina.
  13. Arduino Mega2560 – kasutab pinnale paigutatud ATmega2560 ning ATmega8U2 USB kiibistikku.

Arendus meeskond

Arduino arendusmeeskonnas on Massimo Banze, David Cuartielles, Tom Igoe, GInaluca Martino, David Mellis ja Nicholas Zambetti.

Vaata ka

Välisedlingid