Arduino: Atviras šaltinis skaitmeniniams projektams

Arduino yra itališka atvirojo šaltinio techninės ir programinės įrangos bendrovė, taip pat projektas ir vartotojų bendruomenė, kurianti ir gaminanti vienos plokštės mikrovaldiklius bei mikrovaldiklių rinkinius, skirtus skaitmeniniams ir kitiems prietaisams kurti. Jos techninės įrangos produktai yra licencijuoti pagal CC BY-SA licenciją, o programinė įranga - pagal GNU Lesser General Public License (LGPL) arba GNU General Public License (GPL). Tai leidžia bet kam gaminti Arduino plokštes ir platinti programinę įrangą.

Arduino plokščių kūrimas prasidėjo 2005 m. kaip įrankis studentams Italijos interaktyvaus dizaino institute Ivrea, siekiant suteikti pradedantiesiems ir profesionalams pigų ir lengvą būdą kurti prietaisus, kurie sąveikautų su aplinka, naudojant jutiklius ir aktyviklius. Pavadinimas „Arduino“ kilęs iš „Bar di Re Arduino“, kur rinkdavosi kai kurie projekto įkūrėjai.

Arduino plokštė su prijungtais komponentais

Arduino plokščių architektūra ir funkcionalumas

Dauguma Arduino plokščių naudoja 8 bitų AVR mikrovaldiklius (pvz., ATmega8, ATmega168, ATmega328, ATmega1280 ar ATmega2560), turinčius skirtingą atminties, pinigų ir funkcijų kiekį. 2012 m. pasirodė 32 bitų Arduino Due, paremta Atmel SAM3X8E. Plokštės aprūpintos skaitmeniniais ir analoginiais įvesties/išvesties (I/O) pinigais, kurie gali būti prijungti prie įvairių išplėtimo plokščių („shields“) ar prototipų konstravimo plokščių (breadboards) ir kitų grandinių. Jos turi nuoseklias ryšių sąsajas, įskaitant Universal Serial Bus (USB) kai kuriuose modeliuose, naudojamą programoms įkelti.

Plokštės naudoja vienos ar dviejų eilučių pinus arba moteriškus antraštes, palengvinančius programavimą ir integravimą į kitas grandines. Jos gali būti jungiamos su papildomais moduliais, vadinamais „shields“. Keli „shields“ gali būti sukrauti ir individualiai pasiekiami per I²C nuosekliąją magistralę. Dauguma plokščių turi 5 V linijinį reguliatorių ir 16 MHz kristalinį rezonatorių arba keraminį rezonatorių.

Arduino mikrovaldikliai yra iš anksto užprogramuoti su įkrovikliu (bootloader), kuris supaprastina programų įkėlimą į vidinę „flash“ atmintį. Numatytasis Arduino Uno įkroviklis yra Optiboot. Plokštės programavimo kodu įkeliamos per nuosekliąją sąsają su kitu kompiuteriu. Kai kurios nuosekliosios Arduino plokštės turi lygio keitiklio grandinę, skirtą RS-232 logikos lygiams konvertuoti į tranzistorinio-tranzistorinio logikos (TTL) nuosekliuosius signalus. Dabartinės Arduino plokštės programuoja per Universal Serial Bus (USB), naudojant USB-į-nuoseklųjį adapterio mikroschemas, tokias kaip FTDI FT232. Kai kurios plokštės, pvz., vėlesni Uno modeliai, FTDI mikroschemą pakeičia atskira AVR mikroschema su USB-į-nuoseklųjį programine įranga, kurią galima perprogramuoti per savo ICSP antraštę. Kiti variantai, pvz., Arduino Mini ir neoficiali Boarduino, naudoja nuimamą USB-į-nuoseklųjį adapterio plokštę ar kabelį, „Bluetooth“ ar kitus metodus.

Arduino Uno plokštės schema

Programavimas ir kūrimo aplinka

Arduino plokštės gali būti programuojamos C ir C++ programavimo kalbomis (Embedded C), naudojant standartinę API, žinomą kaip Arduino programavimo kalba, apimančią „Processing“ kalbos įkvėptus elementus ir naudojamą su modifikuota „Processing“ IDE versija. Arduino programavimo aplinka (IDE) yra tarpplatforminė programa (Microsoft Windows, macOS ir Linux), paremta „Processing IDE“, parašyta Java. Ji naudoja „Wiring“ API kaip programavimo stilių ir HAL. Ji apima kodo redaktorių su tokiomis funkcijomis kaip teksto pjovimas ir įdėjimas, teksto paieška ir pakeitimas, automatinis įtraukimas, skliaustų derinimas ir sintaksės paryškinimas, taip pat suteikia paprastus vieno paspaudimo mechanizmus programų kompiliavimui ir įkėlimui į Arduino plokštę. Ji taip pat turi pranešimų sritį, tekstinį konsolę, įrankių juostą su mygtukais dažniausiai naudojamoms funkcijoms ir operacijų meniu hierarchiją.

Arduino IDE palaiko C ir C++ kalbas, naudojant specialias kodo struktūrizavimo taisykles. Arduino IDE pateikia „Wiring“ projekto programinės įrangos biblioteką, kuri suteikia daug bendrų įvesties ir išvesties procedūrų. Vartotojo parašytas kodas reikalauja tik dviejų pagrindinių funkcijų: „setup()“ (pradeda įkrovą) ir „loop()“ (pagrindinė programos ciklo funkcija), kurios yra kompiliuojamos ir sujungiamos su „main()“ stub programa į vykdomąją ciklinę vykdomąją programą naudojant GNU įrankių rinkinį, taip pat įtrauktą į IDE platinimą. Arduino IDE naudoja programą „avrdude“ konvertuoti vykdomąjį kodą į šešioliktainio kodavimo tekstinį failą, kuris įkeliamas į Arduino plokštę per įkrovimo programą plokštės programinėje įrangoje.

2019 m. spalio 18 d. buvo išleista naujos Arduino IDE alfa versija, pavadinta Arduino Pro IDE. Beta versija išleista 2021 m. kovo 1 d., pervadinta į IDE 2.0. Sistema vis dar naudoja Arduino CLI (Command Line Interface), tačiau patobulinimai apima profesionalesnę kūrimo aplinką ir automatinio užbaigimo palaikymą. Programos sąsaja yra pagrįsta Eclipse Theia Open Source IDE. Viena svarbi Arduino IDE 2.0 funkcija yra derinimo (debugging) funkcija. Ji leidžia vartotojams atlikti žingsnius, nustatyti sustabdymo taškus ar peržiūrėti atmintį. Derinimui reikalingas tikslinis lustas su derinimo prievadu ir derinimo zondas. Oficiali Arduino Zero plokštė gali būti derinama iš dėžutės. Trečiųjų šalių plokštėms derinimas Arduino IDE 2.0 taip pat galimas, jei tokia plokštė palaiko GDB, OPENOCD ir turi derinimo zondą.

How To Install Arduino IDE 2.0 In PC

Pagrindinės Arduino plokštės ir jų ypatybės

Arduino Uno yra viena populiariausių ir plačiausiai naudojamų atvirojo šaltinio mikrovaldiklių plokščių. Ji buvo sukurta ir išleista Arduino bendrovės 2010 m. Plokštė turi 14 skaitmeninių I/O pinų (šeši iš jų gali generuoti PWM signalus), 6 analoginius I/O pinus ir yra programuojama naudojant Arduino IDE per USB tipo B kabelį. Maitinimui gali būti naudojamas USB kabelis arba cilindrinis jungtis, priimanti nuo 7 iki 20 voltų įtampą, pvz., stačiakampė 9 voltų baterija.

Skirtingai nuo ankstesnių plokščių, Uno nenaudoja FTDI USB-į-UART nuoseklaus lusto. 2023 m. birželį Arduino išleido dvi naujas Uno versijas: R4 Minima ir R4 Wifi. Šios plokštės naudoja Renesas RA4M1 ARM Cortex M4 mikrovaldiklius, o R4 Wifi turi Espressif ESP32-S3-MINI papildomą procesorių. 2025 m. spalį Arduino išleido Arduino UNO Q, plokštę su Linux palaikymu ir WiFi, su Qualcomm papildomu procesoriumi po jų įsigijimo.

Kitos svarbios Arduino plokštės apima:

  • Arduino Nano: Mažesnio dydžio plokštė, tinkanti projektams su ribota erdve.
  • Arduino Mega 2560: Plokštė su didesniu atminties kiekiu ir daugiau I/O pinų, skirta sudėtingesniems projektams.
  • Arduino Leonardo: Plokštė su trečiuoju mikrovaldikliu, kuris leidžia Arduino veikti kaip USB pelę ar klaviatūrą.
  • Arduino Due: 32 bitų plokštė, pagrįsta ARM Cortex-M3, pasižyminti didesniu našumu.

Techninė įranga ir jungtys

Arduino plokštės turi įvairias jungtis, palengvinančias jų naudojimą ir išplėtimą:

  • USB jungtis: Naudojama programoms įkelti ir bendrauti su kompiuteriu.
  • Maitinimo jungtis (DC jack): Leidžia maitinti plokštę iš išorinio maitinimo šaltinio.
  • VIN pinas: Leidžia tiekti įtampos į Arduino plokštę, kai naudojamas išorinis maitinimo šaltinis.
  • 5V ir 3.3V pinai: Pateikia reguliuojamą 5V ir 3.3V įtampą iš plokštės reguliatoriaus.
  • GND (įžeminimo) pinai: Bendras įžeminimo taškas.
  • IOREF (įtampos referencijos) pinas: Nurodo įtampos lygį, su kuriuo veikia mikrovaldiklis.
  • Skaitmeniniai I/O pinai: Naudojami skaitmeniniams signalams skaityti ar rašyti, kai kurie gali generuoti PWM signalus.
  • Analoginiai I/O pinai: Naudojami analoginiams signalams skaityti.
  • SPI, I²C, UART (Serial) sąsajos: Leidžia bendrauti su kitais įrenginiais ir moduliais.
  • Reset mygtukas: Nustato plokštę iš naujo.

Dauguma Arduino plokščių turi integruotą LED, prijungtą prie 13-ojo skaitmeninio pin'o, kuris yra patogus įrankis daugeliui testų ir programų funkcijų.

Pagrindinių Arduino plokščių palyginimas
Plokštė Mikrovaldiklis Darbo dažnis (MHz) Flash atmintis SRAM EEPROM Skaitmeniniai I/O Analoginiai įėjimai PWM
Uno R3 ATmega328P 16 32 KB 2 KB 1 KB 14 6 6
Nano ATmega328P 16 32 KB 2 KB 1 KB 14 8 6
Mega 2560 R3 ATmega2560 16 256 KB 8 KB 4 KB 54 16 15
Due ATSAM3X8E 84 512 KB 96 KB Nėra 54 12 12
Uno R4 Minima R7FA4M1AB (ARM Cortex-M4) 48 256 KB 32 KB 8 KB 14 6 5
Uno R4 WiFi R7FA4M1AB (ARM Cortex-M4) + ESP32-S3-MINI 48 256 KB 32 KB 8 KB 14 6 5

Pastaba: Duomenys gali skirtis priklausomai nuo konkretaus Arduino modelio ir gamintojo.

„Shields“: Išplėtimo galimybės

Arduino ir suderinamos plokštės naudoja spausdintines išplėtimo plokštes, vadinamas „shields“, kurios jungiasi prie standartinių Arduino pin antraščių. „Shields“ gali suteikti papildomų funkcijų, tokių kaip variklių valdymas 3D spausdinimui ir kitoms programoms, GNSS (palydovinė navigacija), Ethernet, skystųjų kristalų ekranas (LCD) ar prototipų konstravimo galimybės. Kai kurie „shields“ siūlo sukraunamas antraštes, leidžiančias kelis „shields“ sukrauti ant Arduino plokštės.

Įvairūs Arduino shields

Istorija ir bendruomenė

Arduino projektas prasidėjo 2005 m. Italijoje, siekiant sukurti pigius ir lengvai naudojamus įrankius skaitmeniniams projektams kurti ne inžinieriams. Vėliau, 2008 m., projekto steigėjai įkūrė bendrovę „Arduino LLC“, siekdami apsaugoti prekės ženklą. Tačiau kilo ginčų dėl prekės ženklo nuosavybės, kurie galiausiai lėmė dviejų atskirų „Arduino“ versijų atsiradimą: oficialiosios ir „Genuino“ (skirtos tarptautinei rinkai). 2017 m. BCMI, įkurta originalių steigėjų, įsigijo „Arduino AG“ ir visus „Arduino“ prekės ženklus, siekdama suvienyti projektą. 2025 m. Qualcomm įsigijo Arduino bendrovę, siekdama plėsti savo veiklą robotikos srityje.

Arduino turi didelę ir aktyvią pasaulinę bendruomenę, kuri dalijasi projektais, kodais, patarimais ir palaikymu internetiniuose forumuose, tinklaraščiuose ir socialiniuose tinkluose. Tai leidžia tiek pradedantiesiems, tiek patyrusiems kūrėjams mokytis, eksperimentuoti ir kurti novatoriškus projektus.

Arduino bendruomenės renginys

How To Install Arduino IDE 2.0 In PC

tags: #arduino #plokste #wikipedia